ticktick-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TICKTICK_SITE | No | Site to use: ticktick (default) or dida365. | ticktick |
| TICKTICK_TOKEN | No | Just the t= value from the cookie. Combine with TICKTICK_CSRF_TOKEN and TICKTICK_USER_ID. | |
| TICKTICK_COOKIE | No | Full Cookie: header (simplest). Grab it once from a logged-in browser — DevTools → Network → any api.ticktick.com request → Request Headers → cookie — and pass the whole value. | |
| TICKTICK_USER_ID | No | ap_user_id value. | |
| TICKTICK_MCP_HOME | No | Runtime directory, default ~/.ticktick-mcp. | ~/.ticktick-mcp |
| TICKTICK_CSRF_TOKEN | No | _csrf_token value — sent as x-csrftoken on writes. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_tasksB | Lists the tasks in a project. Use |
| get_taskC | Gets a single task by id. |
| create_taskC | Creates a task in a project. |
| update_taskA | Updates fields on an existing task. Only the supplied fields change. |
| complete_taskB | Marks a task as completed (status=2). |
| uncomplete_taskB | Reopens a completed task (status=0). |
| delete_taskA | Deletes a task. By default it moves to the trash; set |
| move_taskC | Moves a task from one project to another. |
| list_completed_tasksA | Lists completed tasks within a date range, for one project or across all projects. |
| list_trashB | Lists trashed tasks. |
| restore_taskC | Restores a task from the trash. |
| batch_tasksA | Creates, updates and/or deletes many tasks in one request. Note: some accounts are gated and receive 403 for batch writes. |
| search_tasksB | Full-text search across tasks, comments and other content. |
| list_projectsB | Lists all projects (lists) for the signed-in user. |
| get_projectB | Gets a single project by id. |
| create_projectC | Creates a project (list). |
| update_projectC | Updates a project's name, color, view mode or kind. |
| delete_projectB | Deletes a project. This is destructive and not reversible. |
| list_tagsB | Lists all tags. |
| rename_tagC | Renames a tag. |
| merge_tagsC | Merges one tag into another. |
| delete_tagC | Deletes a tag. |
| list_columnsB | Lists kanban columns, optionally scoped to a project. |
| get_current_userA | Gets the signed-in user's id, inbox id, plan and registration info. |
| sync_checkA | Offline-first delta pull of the whole account: tasks, projects, tags and columns. Pass checkPoint=0 for a full snapshot, then reuse the returned checkPoint for incremental pulls. |
| get_preferencesA | Gets user preferences (matrix rules, quick-add, etc.). |
| list_templatesC | Lists task templates. |
| list_countdownsC | Lists countdowns (倒数日). |
| list_habitsC | Lists habits. |
| list_habit_sectionsA | Lists habit sections (groups). |
| query_habit_checkinsC | Queries habit check-in records over a date range. |
| list_calendar_accountsB | Lists connected third-party calendar accounts. |
| list_calendar_subscriptionsB | Lists calendar subscriptions. |
| list_calendar_eventsB | Lists events bound from connected calendars. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 34 tools
Task tools are well-separated by action (list/get/create/update/complete/delete/move), and project/tag tools are distinct. Minor overlap: batch_tasks spans create/update/delete, and sync_check overlaps with the individual list_* tools, but descriptions clarify the boundaries.
Every tool follows a clean snake_case verb_noun pattern (list_tasks, get_project, create_task, rename_tag, merge_tags, delete_tag). No camelCase or inconsistent verb styles appear anywhere in the set.
34 tools is heavy and sits above the comfortable range, though the domain genuinely spans tasks, projects, tags, columns, habits, countdowns, calendar and sync. Several tools are thin list-only endpoints, which inflates the count beyond core operations.
Tasks and projects have solid CRUD/lifecycle coverage, but notable gaps exist: there is no create_tag despite list/rename/merge/delete_tag, and habits, countdowns, templates and calendar are read-only (list/query only). Agents can work around these but cannot fully manage those sub-domains.