Tick MCP by usefulapi
io.usefulapi/tick · v1.0.0
Read Tick clients, projects, tasks, users and time entries; log and edit time entries.
MCPremoteno credentialsTasks & projects
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 14 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
B 88/100
What it does: 14 tools · 9 read, 5 write (incl. delete/pay) · Tasks & projects
Test call tick_list_clients: needs a key: HTTP 401 (986 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +10
- Read/write annotations: +5
- Safe test call: +8
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://tick.usefulapi.io/mcpTools
14 tools listed at last check
tick_list_clientsList Tick clients. By default only clients that have open projects; set include_all=true for every client (also archived or without projects). 100 per page. GET /clients.json or /clients/all.json.tick_get_clientOne client by id, with a summary of its projects (count and URL). GET /clients/{id}.json.tick_list_projectsList Tick projects with budget (hours or money), billable flag, client_id and owner_id. Open projects by default; status=closed for closed ones. 100 per page. GET /projects.json or /projects/closed.json.tick_get_projectOne project by id, with total_hours entered, a summary of its tasks (count and URL) and its client. GET /projects/{id}.json.tick_list_tasksList Tick tasks (the budget lines that time entries are logged against). Across all projects, or for one project when project_id is given. Open tasks by default; status=closed for closed ones. You need a task id to log time. 100 per page. GET /tasks.json, /tasks/closed.json, /projects/{id}/tasks.jsotick_get_taskOne task by id, with total_hours entered, a summary of its entries (count and URL) and its project. GET /tasks/{id}.json.tick_list_usersList the users of the Tick subscription (id, name, e-mail, timezone). A non-administrator sees only themself. Use deleted=true for removed users who still have time entries (administrators only). GET /users.json or /users/deleted.json.tick_list_entriesList time entries. Tick requires EITHER start_date AND end_date (entries dated in that range) OR updated_at (entries created or changed after that time). Optional filters: project_id, task_id, user_id, billable, billed. Each entry has date, hours, notes, task_id, user_id. 100 per page. GET /entries.tick_get_entryOne time entry by id, with its task. GET /entries/{id}.json.tick_create_entryWRITE: log a new time entry on a task (POST /entries.json). Needs the task id (see tick_list_tasks). hours is a decimal (1.5 = 1h30m). user_id is only honored for administrators (otherwise the entry is yours). Creates a new entry every call; nothing is sent to anyone.tick_update_entryWRITE: change an existing time entry (PUT /entries/{id}.json): hours, notes, date, task, or mark it billed. Only the fields you pass change; the previous values are overwritten.tick_create_clientWRITE: create a new client (POST /clients.json). Tick administrators only (403 otherwise). Creates a new client every call.tick_create_projectWRITE: create a new project (POST /projects.json). Tick administrators only. The project has no tasks: create at least one with tick_create_task before time can be logged. Creates a new project every call.tick_create_taskWRITE: create a new task on a project (POST /tasks.json). Tick administrators only. Creates a new task every call.
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.usefulapi/tick)