chriswinsatlife/ticktick_mcp_v2
If you are the rightful owner of ticktick_mcp_v2 and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
TickTick MCP V2 is an enhanced server that supports advanced task management features and offers significant performance improvements.
create_task
Create tasks with V2 enhancements including assignment and section management.
update_task
Update tasks comprehensively with options to reassign and move sections.
get_tasks
Retrieve tasks with advanced filtering options.
get_tasks_by_assignee
Fetch tasks assigned to a specific user.
add_comment_to_task
Add timestamped comments to tasks.
TickTick MCP V2
Enhanced TickTick MCP server with V2 API support for assignees, sections, comments, batch operations, and 35x performance improvement through checkpoint sync.
š Features
V2 Enhanced Features
- Task Assignment - Assign tasks to specific team members
- Section Management - Organize tasks in kanban columns (New, In Progress, Future, Blocked)
- Tag Management - Categorize and filter tasks with tags
- Comments & Activity - Add timestamped comments and view task history
- Batch Operations - Efficient bulk task operations
- Checkpoint Sync - 35x performance improvement (1.1s vs 35s)
- Advanced Filtering - Filter by assignee, section, tags, priority
Requirements
- V2 session authentication is required
- V1 OAuth is not yet implemented
š§ Setup
1. Configuration
cp .env_template .env
# Edit .env with your TickTick session token
Get session token from browser DevTools:
- Open TickTick in browser, open DevTools (F12) ā Network tab
- Refresh page, find any
api.ticktick.com
request - Copy full
Cookie
header āTICKTICK_SESSION_TOKEN
2. Add to Cursor
Copy this JSON into your Cursor MCP config:
"ticktick_mcp_v2": {
"command": "/Users/your_name/.local/bin/uv",
"args": [
"run",
"--directory",
"/Users/your_name/ticktick_mcp_v2",
"-m",
"main"
]
}
3. Switch to the server in Cursor
That's it. uv
handles everything automatically.
š ļø MCP Tools
Core Task Management
create_task
Create tasks with V2 enhancements:
create_task(
title="Fix critical bug",
project_id="cyhq",
content="Details about the bug",
assignee="carlos", # V2: assign to team member
section="in_progress", # V2: set kanban section
priority="high",
tags="urgent, bug-fix", # V2: add tags
due_date="2026-05-15T17:00:00.000+0000"
)
update_task
Comprehensive task updates:
update_task(
task_id="67c1d244d3bd919605c39402",
project_id="cyhq",
content="Status update on the task", # Append as comment
assignee="ann", # V2: reassign
section="blocked", # V2: move section
status="complete"
)
get_tasks
Advanced filtering:
get_tasks(
project_id="cyhq",
assignee="carlos", # V2: filter by assignee
section="in_progress", # V2: filter by section
tags="urgent", # V2: filter by tags
priority="high",
limit=50
)
Additional Tools
search_tasks
Search for tasks across projects using keywords:
search_tasks("Powerset meeting")
search_tasks("schedule", "cyhq")
search_tasks("Italian attorneys")
get_project_columns
Get column/section information for a project:
get_project_columns("cyhq")
V2 Advanced Features
The get_tasks
and update_task
tools provide all V2 functionality:
Filter by Assignee
get_tasks(assignee="carlos")
get_tasks(assignee="me")
Filter by Section
get_tasks(section="in_progress")
get_tasks(section="blocked")
Move Task to Section
update_task("task_id", section="blocked")
Assign Task to User
update_task("task_id", assignee="ann")
Add Comment to Task
update_task("task_id", add_comment="Working on this now")
Get Task Activity
get_task("task_id", include_activity=True)
Utility Features
Natural Date Parsing
Dates are automatically parsed in create_task
and update_task
:
create_task("Review docs", due_date="tomorrow at 2pm")
update_task("task_id", due_date="next friday")
šļø Project & User Mappings
Project Aliases
cyhq
,team
,main
,hq
ā CYHQ project (600ce43b08d35100aa47658c)inbox
,personal
,my_tasks
ā Personal inboxrecurring
,repeat
ā CYHQ Recurring (66b32defaf7e9165b805afd7)icebox
,deferred
ā CYHQ Icebox (66b785a2b83b1105e028c330)
User Aliases
carlos
,cl
ā Carlos (ID: 117021928)ann
,aj
ā Ann (ID: 126258410)chris
,cy
ā Chris/CY (ID: 115949154)ai
,ai_agent
ā AI Agent (ID: 123145261)
Section Aliases
new
,new_tasks
,todo
ā New Tasks (6481e516ff78514b6c688124)in_progress
,progress
,active
ā In Progress (67c8248bce389a2a32d12487)future
,backlog
,later
ā Future Tasks (65f67cb1725bd1c72a547083)blocked
,waiting
,on_hold
ā Blocked (67cbba658c34d109b8053419)
ā” Performance Optimization
Checkpoint Sync
V2 includes intelligent caching with checkpoint sync:
- 35x performance improvement (1.1s vs 35s for typical operations)
- Delta sync only fetches changes since last checkpoint
- Automatic fallback to full sync when needed
- Cache stored automatically
Batch Operations
Efficient bulk operations:
- Multiple task updates in single API call
- Optimized for team workflows
- Automatic cache invalidation
š Authentication
Currently supports V2 session authentication only:
- V2 Session Auth - Required for all features
- V1 OAuth - Configuration prepared but not yet implemented
šļø Architecture
ticktick_mcp/
āāā models/ # Pydantic data models
āāā tools/ # MCP tool implementations
āāā client_v2.py # V2 session client
āāā config.py # Configuration and mappings
āāā helpers.py # Utilities and decorators
āāā server.py # MCP server instance
š Troubleshooting
Common Issues
No V2 features available:
- Check
TICKTICK_SESSION_TOKEN
in.env
- Verify token is correct (get from browser DevTools)
- Check MCP server logs for authentication errors
Tasks not updating:
- Verify project IDs and task IDs
- Check user has permission to modify tasks
- Review assignee and section mappings
Performance issues:
- Check authentication is working correctly
- Monitor API rate limits
š Acknowledgments
- Based on
jen6_ticktick_mcp
foundation - Enhanced with V2 API research and optimization
- Built for TaskFactory team workflow optimization