Provides tools for managing tasks and projects within a TickTick account, including capabilities to list projects, and create, retrieve, update, complete, or delete tasks.
TickTick MCP Server — AI Task Management for Claude
Stop switching apps. Just talk.
Connect Claude to your TickTick account and manage your entire task list through natural conversation — create tasks, check what's due, complete items, and stay organized without ever opening the TickTick app.
"Remind me to call the dentist on Friday" → ✅ Task created in TickTick, instantly.
What You Can Do
Capture tasks instantly — say it out loud, Claude creates it in TickTick
Check your day — "What's on my plate today?" gives a clean summary across all projects
Manage priorities — Claude understands "urgent", "ASAP", "when you get a chance"
Natural due dates — "next Monday", "end of month", "this Friday" all work
Organize by project — add tasks to specific lists without touching the app
Mark things done — "I finished the dentist task" → marked complete
Full CRUD — create, read, update, complete, and delete tasks
Installation
Prerequisites
A TickTick account
Python 3.10+
Step 1 — Clone and install dependencies
git clone https://github.com/Salen-Project/ticktick-mcp
cd ticktick-mcp
python3 -m venv .venv
.venv/bin/pip install -r requirements.txtStep 2 — Register a TickTick app
Go to developer.ticktick.com
Click New App → fill in any name
Set OAuth Redirect URL to:
http://localhost:8080/callbackCopy your Client ID and Client Secret
Step 3 — Authenticate
TICKTICK_CLIENT_ID=your_id TICKTICK_CLIENT_SECRET=your_secret .venv/bin/python3 setup_auth.pyThis opens your browser to authorize the app. Click Allow — tokens are saved automatically to ~/.ticktick_mcp/tokens.json and refresh in the background.
Step 4 — Register with Claude Code
claude mcp add ticktick -- /path/to/ticktick-mcp/.venv/bin/python3 /path/to/ticktick-mcp/server.pyReplace /path/to/ticktick-mcp with the actual path (e.g. $HOME/ticktick-mcp).
Step 5 — Add the productivity skill (optional but recommended)
Copy skills/ticktick/SKILL.md into your Claude skills folder so Claude automatically recognizes task language in any conversation:
mkdir -p ~/.claude/skills/ticktick
cp skills/ticktick/SKILL.md ~/.claude/skills/ticktick/Usage Examples
Once connected, just talk naturally:
You say | What happens |
"Remind me to call the dentist on Friday" | Task created with Friday due date |
"Add 'review Q1 report' to my Work project, high priority" | Task added to Work list, priority High |
"What's on my to-do list today?" | Summary of today's tasks across all projects |
"I finished the dentist task" | Task marked complete |
"What did I add this week?" | Lists recently created tasks |
"Delete the dentist task" | Task permanently deleted |
MCP Tools Reference
Tool | Description |
| List all your TickTick projects/lists |
| List tasks in a specific project |
| Create a task with title, due date, priority, project |
| Get full details of a specific task |
| Update a task's title, due date, or priority |
| Mark a task as completed |
| Permanently delete a task |
Install as a Cowork Plugin
This repo is structured as a Claude plugin. Add it in Cowork:
Open Manage Plugins → Marketplaces tab
Paste:
https://github.com/Salen-Project/ticktick-mcpClick Add
Or via Claude Code CLI:
claude plugins add Salen-Project/ticktick-mcpThe plugin includes the TickTick skill, which teaches Claude to automatically recognize task-related language in any conversation — no need to say "use TickTick" every time.
Why This Over Other TickTick Integrations?
✅ Official API — uses TickTick's open OAuth 2.0 API, not unofficial endpoints
✅ Automated OAuth — one-command setup, tokens refresh automatically in the background
✅ Cowork skill included — Claude proactively recognizes task language without explicit prompting
✅ Privacy-first — runs 100% locally, your data never passes through a third-party server
✅ Full CRUD — not read-only; create, update, complete, and delete tasks
Troubleshooting
"Given client ID does not match" — Double-check your Client ID on developer.ticktick.com. It's case-sensitive.
Port 8080 already in use — Run lsof -ti:8080 | xargs kill -9 then retry setup_auth.py.
Tokens expired — Re-run setup_auth.py to get fresh tokens.
Claude doesn't recognize TickTick commands — Make sure the MCP is registered (claude mcp list) and the skill is installed.
Links
License
MIT © Salen-Project