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.
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
Hosted MCP server for Paymo that lets an assistant browse projects, tasks, timesheets, invoices and expenses, and create tasks, log time or run timers.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
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.Add this to your client's mcpServers config.
{
"mcpServers": {
"paymo-by-usefulapi": {
"type": "http",
"url": "https://paymo.usefulapi.io/mcp"
}
}
}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
https://paymo.usefulapi.io/mcp.claude mcp add --transport http paymo https://paymo.usefulapi.io/mcp, then run /mcp to log in.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.
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.
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].
MIT © usefulapi. Not affiliated with or endorsed by Paymo.
Source: servers/paymo/README.md at commit f22f848
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.
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.
List users
List users in the company (id, name, email, type, hourly rate, assigned/managed projects). Paymo: GET /api/users.
typelimitwhereactiveList clients
List clients (id, name, contact details, active flag). Paymo: GET /api/clients.
limitwhereactiveincludeList projects
List projects (id, name, code, client_id, active, billable, budget_hours, users, managers), optionally filtered. Paymo: GET /api/projects.
limitwhereactiveincludeuser_idbillableclient_idmanager_idGet 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}.
includeproject_idrequiredList 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.
limitincludeproject_idList 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.
limitwhereincludeuser_idcompletemy_tasksproject_idtasklist_idGet 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}.
includetask_idrequiredList 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.
tofromlimitwherebilledincludetask_iduser_idclient_idproject_idrunning_onlyList invoices
List invoices (id, number, client_id, status, currency, date, due_date, subtotal, total). Paymo: GET /api/invoices.
limitwherestatusclient_idGet an invoice
Fetch one invoice with totals, and (by default) its line items and payments. Paymo: GET /api/invoices/{id}?include=invoiceitems,invoicepayments.
invoice_idrequiredinclude_itemsList expenses
List expenses (id, client_id, project_id, user_id, amount, currency, date, notes, invoiced, tags). Paymo: GET /api/expenses.
limitwheredate_toinvoicedclient_iddate_fromproject_idCreate 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.
namerequiredusersbillablemanagersclient_iddescriptionbudget_hoursprice_per_hourCreate 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.
namerequiredusersbillabledue_datepriorityproject_iddescriptiontasklist_idbudget_hoursUpdate 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}.
nameuserstask_idrequiredcompletedue_dateprioritystatus_iddescriptiontasklist_idbudget_hoursLog 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.
datetask_idrequireduser_idend_timestart_timedescriptionduration_secondsUpdate 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}.
datetask_idend_timeentry_idrequiredstart_timedescriptionduration_secondsStart 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.
task_idrequireduser_idstart_timedescriptionStop 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}.
end_timeentry_idrequireddescriptionComment 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.
contentrequiredtask_idrequired100% 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.
io.usefulapiOfficial publisher
Hosted MCP server for Ably that lets an assistant inspect realtime channels, presence and usage stats, publish messages, and review app configuration.
io.usefulapiOfficial publisher
Remote MCP server for Oyster that lets an assistant read team, time off, expense, contract and invoice data and approve or decline requests.
io.usefulapiOfficial publisher
Reads Avirato hotel PMS data — reservations, availability, rates, prices and meal plans — and records cash payments on bookings.
io.usefulapiOfficial publisher
Hosted read-only MCP server that lets an assistant list interview, participant and department metadata from a Willo account.
io.usefulapiOfficial publisher
Hosted MCP server that lets an assistant read Testlify hiring workspace details, assessments and assessment candidates.
{ "mcpServers": { "paymo": { "url": "https://paymo.usefulapi.io/mcp" } }}