
TickTick MCP (Model Context Protocol) Server - An MCP server for using TickTick task management features from Claude
概览
TickTick MCP (Model Context Protocol) Server - An MCP server for using TickTick task management features from Claude This MCP server enables integration with the TickTick task management platform from Claude Desktop. It implements secure authentication using OAuth 2.1 with PKCE (Proof Key for Code Exchange) and provides comprehensive task and project management capabilities. This server adopts the OAuth 2.1 with PKCE protocol for secure authentication: 1. - Generates code_verifier and code_challenge at the start of authentication - Displays TickTick authentication screen in browser - Obtains authorization code after user approval - Exchanges tokens using authorization code and code_verifier 2. - Stores access tokens in .ticktick-mcp-server-credentials.json file - : Tokens are currently stored in plaintext. For production use, implementing encryption is recommended - Never expose access tokens publicly 3.
README
以下为原文 README 节选,完整内容请查看原文。
ticktick-mcp-server
TickTick MCP (Model Context Protocol) Server - An MCP server for using TickTick task management features from Claude
Overview
This MCP server enables integration with the TickTick task management platform from Claude Desktop. It implements secure authentication using OAuth 2.1 with PKCE (Proof Key for Code Exchange) and provides comprehensive task and project management capabilities.
Authentication and Authorization
OAuth 2.1 with PKCE
This server adopts the OAuth 2.1 with PKCE protocol for secure authentication:
-
PKCE Authentication Flow
- Generates code_verifier and code_challenge at the start of authentication
- Displays TickTick authentication screen in browser
- Obtains authorization code after user approval
- Exchanges tokens using authorization code and code_verifier
-
Token Storage
- Stores access tokens in
.ticktick-mcp-server-credentials.jsonfile - ⚠️ Security Warning: Tokens are currently stored in plaintext. For production use, implementing encryption is recommended
- Never expose access tokens publicly
- Stores access tokens in
-
Automatic Token Refresh
- MCP server automatically checks token expiration
- Obtains new access token using refresh token when expired
Setup Instructions
1. Configure Authentication Credentials
Configure credentials obtained from the TickTick Developer Console. Choose from one of three methods:
Method 1: ticktick-oauth.keys.json (Recommended)
Create a ticktick-oauth.keys.json file in the project root:
{
"client_id": "your_ticktick_client_id",
"client_secret": "your_ticktick_client_secret",
"redirect_uri": "http://localhost:8080/callback"
}
Method 2: Environment Variables (.env)
Create a .env file in the project root:
TICKTICK_CLIENT_ID=your_ticktick_client_id
TICKTICK_CLIENT_SECRET=your_ticktick_client_secret
TICKTICK_REDIRECT_URI=http://localhost:8080/callback
Method 3: System Environment Variables
Set directly in your shell:
export TICKTICK_CLIENT_ID=your_ticktick_client_id
export TICKTICK_CLIENT_SECRET=your_ticktick_client_secret
export TICKTICK_REDIRECT_URI=http://localhost:8080/callback
Configuration Priority:
- Settings passed directly to the constructor (specified in code)
ticktick-oauth.keys.jsonfile- Environment variables (
.envfile or system environment variables)
Note:
- When configured through multiple methods, loading follows the priority order above
- For security, these files are added to
.gitignoreand will not be committed to the repository - Replace
your_ticktick_client_idandyour_ticktick_client_secretwith actual values
Token Storage Location Configuration (Important)
Authentication tokens are saved according to the following priority:
- Path specified by
TICKTICK_CREDENTIALS_PATHenvironment variable (recommended)
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →配置
{
"mcpServers": {
"ticktick": {
"command": "/absolute/path/to/node",
"args": ["/absolute/path/to/ticktick-mcp-server/dist/index.js"],
"env": {
"TICKTICK_CLIENT_ID": "your_client_id",
"TICKTICK_CLIENT_SECRET": "your_client_secret",
"TICKTICK_REDIRECT_URI": "http://localhost:8080/callback",
"TICKTICK_CREDENTIALS_PATH": "/absolute/path/to/.ticktick-mcp-server-credentials.json",
"LOG_LEVEL": "info"
}
}
}
}