
TickTick MCP Server
A Model Context Protocol server that integrates with TickTick task management service, allowing AI assistants to list, create, update, and complete tasks with proper timezone handling.
README
TickTick MCP Server
A Model Context Protocol (MCP) server that provides integration with TickTick task management service.
Features
- List tasks and projects with enhanced display (human-readable priorities)
- Create, update, and delete tasks
- Mark tasks as completed
- Get specific task details
- Timezone handling with manual D+1 adjustment for accurate due date calculations
- Get overdue tasks with configurable timezone offset
- Get today's tasks with proper timezone compensation
- OAuth and username/password authentication support
- Full TypeScript support with proper error handling
Setup
- Install dependencies:
npm install
- Create environment configuration:
cp .env.example .env
- Configure authentication in
.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
- Build the project:
npm run build
Usage
Development
npm run dev
Production
npm start
Available Tools
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 ID
Timezone Handling
This server includes manual timezone workarounds to handle TickTick's timezone inconsistencies:
- D+1 Adjustment: Due dates are automatically adjusted by adding 1 day to compensate for timezone differences
- Configurable Offset:
get_overdue_tasks
accepts atimezoneOffsetHours
parameter- Default: 8 (UTC+8) - Change this for your timezone!
- Examples:
timezoneOffsetHours: -5
for EST (UTC-5)timezoneOffsetHours: 0
for UTCtimezoneOffsetHours: 9
for JST (UTC+9)timezoneOffsetHours: 1
for CET (UTC+1)
- All-day vs Timed Tasks: Different handling for all-day tasks vs specific time tasks
- Enhanced Display: Tasks include human-readable priority text (
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.
MCP Integration
Claude Desktop (with Claude Desktop app)
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"
}
}
}
}
Cursor IDE
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"
}
}
}
}
}
Alternative with Username/Password
{
"env": {
"TICKTICK_USERNAME": "your_username",
"TICKTICK_PASSWORD": "your_password"
}
}
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.