ticktick-mcp
Provides tools for managing TickTick tasks and projects, including creating, reading, updating, deleting, completing tasks, managing projects, moving tasks, filtering, and querying completed tasks via the TickTick Open API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ticktick-mcpCreate a task called 'Buy groceries' for tomorrow"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ticktick-mcp
A stdio MCP server that exposes the TickTick task API as 14 tools, for use from Claude Desktop or any MCP client.
It authenticates with a single bearer token from an environment variable, so there is no OAuth flow to run.
Requirements
Node 18 or newer (
fetchand thenode:testrunner are both assumed)A TickTick account
A TickTick API access token. Register an application at developer.ticktick.com to obtain one. The server refuses to start without it.
Related MCP server: TickTick MCP Server
Run it
The name ticktick-mcp on the public npm registry belongs to an unrelated package. Install from this repository, not from npm.
git clone https://github.com/nvkudva/ticktick-mcp.git
cd ticktick-mcp
npm install
TICKTICK_ACCESS_TOKEN=your_token_here npm startThe process stays in the foreground and prints nothing on success — an MCP server talks over stdio, so silence means it is waiting for a client.
To wire it into Claude Desktop, add this to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows), using the absolute path to your clone:
{
"mcpServers": {
"ticktick": {
"command": "node",
"args": ["/absolute/path/to/ticktick-mcp/bin/ticktick-mcp.js"],
"env": { "TICKTICK_ACCESS_TOKEN": "your_token_here" }
}
}
}Configuration
Variable | Required | What it is |
| Yes | TickTick API bearer token, sent as |
How it works
Three layers. src/client.js holds TickTickClient, whose single request() method does all URL assembly, auth, body serialisation and status handling against https://api.ticktick.com; every named method is a one-line delegate. src/tools/projects.js and src/tools/tasks.js export plain arrays of {name, description, inputSchema, handler} — six project tools and eight task tools. src/index.js loops over both arrays, converts each JSON Schema to a Zod shape and registers it with the MCP SDK, wrapping every handler in one try/catch. bin/ticktick-mcp.js is a shebang shim that imports src/index.js. There is no cache, no session and no persisted state beyond the token.
Task priority is 0 none, 1 low, 3 medium, 5 high. Task status is 0 active, 2 completed.
Status
Project and task CRUD (get_all_projects, get_project, get_project_data, create_project, update_project, delete_project, get_task, create_task, update_task, complete_task, delete_task) map to endpoints documented in the TickTick Open API.
Known gaps, as of 2026-09-07:
ticktick_move_tasks,ticktick_get_completed_tasksandticktick_filter_taskscall paths that are not in the documented Open API surface. They have not been confirmed to work against a live token and may return 404.zodis imported bysrc/index.jsbut is not declared inpackage.json. It resolves today only through npm hoisting of the SDK's own copy; pnpm or Yarn PnP will fail at import.The schema converter in
src/index.jshandles one level only. Nested shapes foritemsandmovesare flattened to "array of anything", so those arguments are not validated before they reach TickTick.npm testruns live integration tests against a real account: it creates and deletes real projects and tasks, and errors withoutTICKTICK_ACCESS_TOKEN. Only the client constructor tests run offline. Do not run it against an account you care about.ticktick_delete_projectandticktick_delete_taskare exposed with no confirmation step and no dry run. Deletion is permanent.Requests have no timeout, no retry and no 429 handling, so a slow upstream will hang a tool call.
License
No licence file yet — all rights reserved. package.json declares MIT, but the repository carries no licence text.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Manage tasks, Focus Zone, notes, projects, and task history from compatible AI assistants.
Create and manage MeisterTask projects, tasks, and notes from your AI assistant.
Manage Superlist tasks and lists in plain language from any MCP-compatible AI agent.
AI-native task management: list, create, update and archive tasks with rich context for AI agents
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables task and project management in TickTick through natural conversation, supporting task creation with priorities, due dates, recurring schedules, and fuzzy search across tasks and projects.1MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to manage TickTick tasks and projects through OAuth2 authentication, supporting task creation, updates, completion, project management, and smart daily scheduling based on priorities and due dates.55MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage TickTick tasks through natural language, including creating, updating, completing, and deleting tasks, as well as managing projects.14MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to directly manage Dida365 (TickTick) tasks, including creating, editing, completing, and setting priorities, deadlines, subtasks, reminders, and recurring tasks via natural language.8MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nvkudva/ticktick-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server