TickTick
STDIOMCP server for TickTick task management integration with timezone handling
MCP server for TickTick task management integration with timezone handling
A Model Context Protocol (MCP) server that provides integration with TickTick task management service.
npm install
cp .env.example .env
.env:Option A: OAuth (Recommended)
TICKTICK_ACCESS_TOKEN=your_oauth_access_token TICKTICK_REFRESH_TOKEN=your_refresh_token TICKTICK_CLIENT_ID=your_client_id TICKTICK_CLIENT_SECRET=your_client_secret
Option B: Username/Password
TICKTICK_USERNAME=your_ticktick_username TICKTICK_PASSWORD=your_ticktick_password
For OAuth setup, see OAUTH_SETUP.md or use the helper:
node oauth-helper.js
npm run build
npm run dev
npm start
get_tasks - Get all tasks or tasks from a specific project (with enhanced display)get_overdue_tasks - Get overdue tasks with timezone compensation (configurable offset, defaults to UTC+8 - adjust for your timezone)get_todays_tasks - Get tasks due today with D+1 timezone adjustmentget_projects - Get all projects from TickTickcreate_task - Create a new task with priority, tags, due datesupdate_task - Update an existing taskdelete_task - Delete a taskcomplete_task - Mark a task as completedget_task - Get a specific task by IDThis server includes manual timezone workarounds to handle TickTick's timezone inconsistencies:
get_overdue_tasks accepts a timezoneOffsetHours parameter
timezoneOffsetHours: -5 for EST (UTC-5)timezoneOffsetHours: 0 for UTCtimezoneOffsetHours: 9 for JST (UTC+9)timezoneOffsetHours: 1 for CET (UTC+1)None, Low, Medium, High)Important: The default timezone offset is set to UTC+8. Make sure to specify your correct timezone offset when calling get_overdue_tasks to get accurate results for your location.
Add this server to your MCP client configuration file:
Location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
{ "mcpServers": { "ticktick": { "command": "node", "args": ["/path/to/ticktick-mcp-server/dist/index.js"], "env": { "TICKTICK_ACCESS_TOKEN": "your_oauth_token", "TICKTICK_REFRESH_TOKEN": "your_refresh_token", "TICKTICK_CLIENT_ID": "your_client_id", "TICKTICK_CLIENT_SECRET": "your_client_secret" } } } }
Add this server to your Cursor MCP configuration:
Location: Create/edit .cursorrules or Cursor settings for MCP servers
{ "mcp": { "servers": { "ticktick": { "command": "node", "args": ["/path/to/ticktick-mcp-server/dist/index.js"], "env": { "TICKTICK_ACCESS_TOKEN": "your_oauth_token", "TICKTICK_REFRESH_TOKEN": "your_refresh_token", "TICKTICK_CLIENT_ID": "your_client_id", "TICKTICK_CLIENT_SECRET": "your_client_secret" } } } } }
{ "env": { "TICKTICK_USERNAME": "your_username", "TICKTICK_PASSWORD": "your_password" } }
MIT