
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