This MCP server for TickTick enables you to interact with your TickTick task management system directly through Claude and other MCP clients. It provides a seamless bridge between AI assistants and your task management workflow.
Clone the repository:
git clone https://github.com/jacepark12/ticktick-mcp.git
cd ticktick-mcp
Install with uv:
# Install uv if you don't have it already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create a virtual environment
uv venv
# Activate the virtual environment
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate
# Install the package
uv pip install -e .
Authenticate with TickTick:
# Run the authentication flow
uv run -m ticktick_mcp.cli auth
Test your configuration:
uv run test_server.py
Register your application at the TickTick Developer Center
http://localhost:8000/callback
Run the authentication command:
uv run -m ticktick_mcp.cli auth
Follow the prompts to enter your Client ID and Client Secret
A browser window will open for you to authorize the application
After authorizing, your access tokens will be automatically saved to the .env
file
For users of Dida365 (China version of TickTick):
Register your application at the Dida365 Developer Center
http://localhost:8000/callback
Add environment variables to your .env
file:
TICKTICK_BASE_URL='https://api.dida365.com/open/v1'
TICKTICK_AUTH_URL='https://dida365.com/oauth/authorize'
TICKTICK_TOKEN_URL='https://dida365.com/oauth/token'
Follow the same authentication steps as for TickTick
Install Claude for Desktop
Edit your Claude for Desktop configuration file:
macOS:
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows:
notepad %APPDATA%\Claude\claude_desktop_config.json
Add the TickTick MCP server configuration, using absolute paths:
{
"mcpServers": {
"ticktick": {
"command": "<absolute path to uv>",
"args": ["run", "--directory", "<absolute path to ticktick-mcp directory>", "-m", "ticktick_mcp.cli", "run"]
}
}
}
Restart Claude for Desktop
The server provides the following tools for interacting with TickTick:
get_projects
- List all your TickTick projectsget_project
- Get details about a specific projectcreate_project
- Create a new projectdelete_project
- Delete a projectget_project_tasks
- List all tasks in a projectget_task
- Get details about a specific taskcreate_task
- Create a new taskupdate_task
- Update an existing taskcomplete_task
- Mark a task as completedelete_task
- Delete a taskHere are some example prompts to use with Claude after connecting the TickTick MCP server:
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"cursor-rules-mcp": {
"command": "npx",
"args": [
"-y",
"cursor-rules-mcp"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.