Paymo MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.39.1Updated Nov 14, 2026

Browse Paymo projects, tasks, timesheets and invoices, and create tasks, log time or run timers.

The publisher's own server: Ably MCP by usefulapi

Overview

AI-generated overview

Hosted MCP server for Paymo that lets an assistant browse projects, tasks, timesheets, invoices and expenses, and create tasks, log time or run timers.

What you can do
  • Read account context: current user, company settings, users and clients
  • Browse projects, task lists and tasks, including task comments, subtasks and logged time
  • List and inspect time entries, running timers, invoices with line items and payments, and expenses
  • Create projects and tasks, and update task fields such as assignee, due date, priority or completion
  • Log, edit, start and stop time entries and timers
  • Comment on a task's discussion thread
When to use it
Useful when a team works in Paymo and wants to ask questions in natural language about hours logged, overdue tasks, project status or unpaid invoices, or to have the assistant create tasks and log time without switching apps.
Requirements
Remote endpoint at paymo.usefulapi.io/mcp; no local install. Connect with only the URL, then sign in through the server's OAuth flow with your Paymo credentials and provide a Paymo API key (My account, API keys). No API key or Authorization header goes in the client config.
Before you install
Write tools create or change Paymo data (projects, tasks, time entries, timers, comments) and should be confirmed first. Your Paymo API key is entered at login and stored per user by the third-party host. Usage is metered: the free plan allows 50 tool calls per month, and paid plans are billed per user through Stripe checkout links, with no refund for the current period on cancellation.

Installation

In SourceWeft

  1. Open Paymo MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fpaymo/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "paymo-by-usefulapi": {
      "type": "http",
      "url": "https://paymo.usefulapi.io/mcp"
    }
  }
}

README

Paymo MCP by usefulapi

Use Paymo from Claude, Cursor, or any MCP client — browse projects, tasks, timesheets, invoices and expenses, and create tasks, log time and run timers. Hosted, no local install: connect with your own Paymo credentials.

Live endpoint: https://paymo.usefulapi.io/mcp · Homepage: https://usefulapi.io/paymo

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://paymo.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http paymo https://paymo.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "paymo": {      "url": "https://paymo.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Paymo credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/paymo/

On first connect you'll provide your Paymo API key (My account → API keys → Generate new API key). They're validated, stored per-user, and scoped to you — no keys in config files.

Tools

ToolTypeWhat it does
paymo_get_mereadGet the current user
paymo_get_companyreadGet company info
paymo_list_usersreadList users
paymo_list_clientsreadList clients
paymo_list_projectsreadList projects
paymo_get_projectreadGet a project
paymo_list_tasklistsreadList task lists
paymo_list_tasksreadList tasks
paymo_get_taskreadGet a task
paymo_list_time_entriesreadList time entries
paymo_list_invoicesreadList invoices
paymo_get_invoicereadGet an invoice
paymo_list_expensesreadList expenses
paymo_create_projectwriteCreate a project
paymo_create_taskwriteCreate a task
paymo_update_taskwriteUpdate a task
paymo_create_time_entrywriteLog time
paymo_update_time_entrywriteUpdate a time entry
paymo_start_timerwriteStart a timer
paymo_stop_timerwriteStop a timer
paymo_add_task_commentwriteComment on a task
paymo_usage_statusmetaUsage status (free-tier meter)
paymo_request_featuremetaRequest a missing feature
paymo_upgrademetaUpgrade to Pro or Pro+
paymo_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)10,000 tool calls / month
Pro+ (per user)$39/mo or $390/yr (2 months free)100,000 tool calls / month

Each paid plan covers this server only. Ask your AI to run paymo_upgrade and choose Pro or Pro+, billed monthly or yearly (it returns a Stripe Checkout link). If you already have Pro, ask to change it to Pro+. The change requires your confirmation, keeps your billing interval and charges the price difference for the rest of the period immediately. Cancel any time with paymo_cancel_subscription: your paid plan continues to the end of the paid period, with no refund for the current period, and asking to resume the same plan with paymo_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by Paymo.

Source: servers/paymo/README.md at commit f22f848

Tools

21

paymo_get_me

Get the current user

Fetch the Paymo user the API key belongs to (id, name, type, timezone). Use the id as user_id for 'my' time entries and timers. A cheap way to confirm the key works. Paymo: GET /api/me.

Takes no parameters.

paymo_get_company

Get company info

Fetch the company (account) info and settings: name, default currency, timezone, working days, invoice numbering. Paymo: GET /api/company.

Takes no parameters.

paymo_list_users

List users

List users in the company (id, name, email, type, hourly rate, assigned/managed projects). Paymo: GET /api/users.

Parameterstypelimitwhereactive

paymo_list_clients

List clients

List clients (id, name, contact details, active flag). Paymo: GET /api/clients.

Parameterslimitwhereactiveinclude

paymo_list_projects

List projects

List projects (id, name, code, client_id, active, billable, budget_hours, users, managers), optionally filtered. Paymo: GET /api/projects.

Parameterslimitwhereactiveincludeuser_idbillableclient_idmanager_id

paymo_get_project

Get a project

Fetch one project, optionally with related objects inline, e.g. include=tasklists.tasks for the whole task tree or include=client. Paymo: GET /api/projects/{id}.

Parametersincludeproject_idrequired

paymo_list_tasklists

List task lists

List task lists (id, name, project_id, milestone_id), e.g. to pick a tasklist_id when creating a task. Paymo: GET /api/tasklists.

Parameterslimitincludeproject_id

paymo_list_tasks

List tasks

List tasks (id, name, code, project_id, tasklist_id, complete, due_date, users, priority), filtered by project, task list, assignee or completion. my_tasks=true returns the caller's 'My Tasks'. Paymo: GET /api/tasks.

Parameterslimitwhereincludeuser_idcompletemy_tasksproject_idtasklist_id

paymo_get_task

Get a task

Fetch one task, optionally with related objects: include=thread.comments for its comments, subtasks, entries (time logged), files, project. Paymo: GET /api/tasks/{id}.

Parametersincludetask_idrequired

paymo_list_time_entries

List time entries

List time entries (id, task_id, user_id, project_id, start_time/end_time or date, duration in seconds, description, billed). At least one filter is required. from/to filter by the entry's time interval; running_only=true returns running timers. Paymo: GET /api/entries.

Parameterstofromlimitwherebilledincludetask_iduser_idclient_idproject_idrunning_only

paymo_list_invoices

List invoices

List invoices (id, number, client_id, status, currency, date, due_date, subtotal, total). Paymo: GET /api/invoices.

Parameterslimitwherestatusclient_id

paymo_get_invoice

Get an invoice

Fetch one invoice with totals, and (by default) its line items and payments. Paymo: GET /api/invoices/{id}?include=invoiceitems,invoicepayments.

Parametersinvoice_idrequiredinclude_items

paymo_list_expenses

List expenses

List expenses (id, client_id, project_id, user_id, amount, currency, date, notes, invoiced, tags). Paymo: GET /api/expenses.

Parameterslimitwheredate_toinvoicedclient_iddate_fromproject_id

paymo_create_project

Create a project

Create a project. Note: if client_id is omitted Paymo auto-creates a 'Sample Client'. Free plans have an active-projects limit (403). Paymo: POST /api/projects.

Parametersnamerequiredusersbillablemanagersclient_iddescriptionbudget_hoursprice_per_hour

paymo_create_task

Create a task

Create a task in a task list (tasklist_id) or a project (project_id — goes to its 'Default Task List'). Paymo: POST /api/tasks.

Parametersnamerequiredusersbillabledue_datepriorityproject_iddescriptiontasklist_idbudget_hours

paymo_update_task

Update a task

Update a task — rename, re-describe, reassign (users replaces the whole list), set due date or priority, mark complete/incomplete, move to another task list or workflow status. Only the fields given are changed. Paymo: PUT /api/tasks/{id}.

Parametersnameuserstask_idrequiredcompletedue_dateprioritystatus_iddescriptiontasklist_idbudget_hours

paymo_create_time_entry

Log time

Log a completed time entry on a task, EITHER as date + duration_seconds OR as start_time + end_time (min 1 minute). To start a live timer use paymo_start_timer. Paymo: POST /api/entries.

Parametersdatetask_idrequireduser_idend_timestart_timedescriptionduration_seconds

paymo_update_time_entry

Update a time entry

Edit a time entry: description, task, or its length. duration_seconds only applies to date+duration entries; for start/end entries change end_time instead. Paymo: PUT /api/entries/{id}.

Parametersdatetask_idend_timeentry_idrequiredstart_timedescriptionduration_seconds

paymo_start_timer

Start a timer

Start a running timer on a task (a time entry with a start_time and no end_time). A user can have only one running timer; if one is running Paymo returns 409. Paymo: POST /api/entries.

Parameterstask_idrequireduser_idstart_timedescription

paymo_stop_timer

Stop a timer

Stop a running timer by setting its end_time (default: now). The final duration must be at least 1 minute. Find running timers with paymo_list_time_entries running_only=true. Paymo: PUT /api/entries/{id}.

Parametersend_timeentry_idrequireddescription

paymo_add_task_comment

Comment on a task

Add a comment to a task's discussion thread (content may contain basic HTML). Read existing comments with paymo_get_task include=thread.comments. Paymo: POST /api/comments.

Parameterscontentrequiredtask_idrequired

Version history

25
  1. v1.39.1LatestNov 13, 2026
  2. v1.38.0Nov 12, 2026
  3. v1.37.3Nov 11, 2026
  4. v1.36.5Nov 8, 2026
  5. v1.36.4Nov 7, 2026
  6. v1.35.3Nov 5, 2026
  7. v1.35.2Nov 5, 2026
  8. v1.35.1Nov 4, 2026
  9. v1.35.0Nov 3, 2026
  10. v1.34.1Nov 3, 2026
  11. v1.33.0Nov 1, 2026
  12. v1.31.0Oct 31, 2026
  13. v1.30.0Oct 31, 2026
  14. v1.29.2Oct 30, 2026
  15. v1.29.0Oct 30, 2026
  16. v1.24.0Oct 26, 2026
  17. v1.21.3Oct 25, 2026
  18. v1.21.0Oct 25, 2026
  19. v1.20.0Oct 24, 2026
  20. v1.17.0Oct 23, 2026
  21. v1.16.4Oct 22, 2026
  22. v1.16.3Oct 21, 2026
  23. v1.11.1Oct 9, 2026
  24. v1.10.0Oct 9, 2026
  25. v1.0.0Sep 30, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations