A Model Context Protocol (MCP) server for integrating TickTick task management with AI applications like Claude, ChatGPT, and other LLM-powered tools.
-
Task Management
create_task- Create new tasks with due dates, priorities, and projectsget_tasks- Retrieve tasks with filtering optionsupdate_task- Modify existing taskscomplete_task- Mark tasks as completeddelete_task- Remove taskssearch_tasks- Search tasks by title or contentget_today_tasks- Get today's scheduled tasksget_overdue_tasks- Get overdue tasks
-
Project Management
get_projects- List all projectscreate_project- Create new projectsupdate_project- Modify project detailsdelete_project- Remove projectsget_project_tasks- Get tasks within a specific project
ticktick://tasks/today- Today's tasksticktick://tasks/overdue- Overdue tasksticktick://tasks/completed- Recently completed tasksticktick://projects/all- All projectsticktick://stats/summary- Productivity statistics
daily_planning- AI-powered daily task planningtask_breakdown- Break complex tasks into subtaskspriority_analysis- Analyze and suggest task prioritiesweekly_review- Review productivity and plan aheadproject_planning- Comprehensive project planning
Perfect for testing and evaluation:
# Clone and set up
git clone https://github.com/marketing-shibata50/ticktick-mcp.git
cd ticktick-mcp/ticktick-mcp-server
npm install
npm run build
# Run in demo mode
node dist/index.js --demo# Auto-configure for Claude Code CLI
node install-mcp.js
# Select "Demo Mode" option
# Start Claude Code CLI in your project
cd /your/project/directory
claudeAdd to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"ticktick-demo": {
"command": "node",
"args": ["/FULL/PATH/TO/ticktick-mcp-server/dist/index.js", "--demo"]
}
}
}Restart Claude Desktop and start asking about your tasks!
Choose your preferred installation method based on your use case:
Perfect for customization, development, or local modifications:
# 1. Clone the repository
git clone https://github.com/marketing-shibata50/ticktick-mcp.git
# 2. Navigate to the directory
cd ticktick-mcp/ticktick-mcp-server
# 3. Install dependencies and build
npm install
npm run build- Visit TickTick Developer Portal
- Login with your TickTick account
- Click "Manage Apps" → "+App Name"
- Enter app name (e.g., "My Personal MCP Server")
- Set redirect URI to:
http://localhost:3000/callback - Copy your Client ID and Client Secret
# 4. Run production setup (NOT demo mode)
node dist/index.js --setupImportant: Do NOT use --demo flag for production!
The interactive setup will:
- Prompt for API credentials (Client ID & Secret from Step 2)
- Start OAuth server on
http://localhost:3000 - Open browser for TickTick authorization
- Exchange authorization code for access tokens
- Save configuration to
~/.ticktick-mcp/config.json
Expected Output:
🔧 TickTick MCP Server セットアップを開始します...
📋 TickTick API認証情報の取得方法:
Client ID を入力してください: [your_client_id]
Client Secret を入力してください: [your_client_secret]
🚀 OAuth認証を開始します...
🌐 ブラウザが開きます: http://localhost:3000
✅ 認証完了!設定が保存されました
# 5. Test with real TickTick data
node dist/index.js
# or
npm startVerification Commands:
# Check if configuration exists
ls ~/.ticktick-mcp/config.json
# View saved configuration
cat ~/.ticktick-mcp/config.json
# Test MCP server connection
npx @modelcontextprotocol/inspector node dist/index.jsExpected Behavior:
- ✅ No authentication errors
- ✅ Connects to your real TickTick account
- ✅ Shows actual tasks and projects
# 7. Auto-configure Claude Code CLI
node install-mcp.jsThis will:
- ✅ Create
.mcp.jsonin your project root - ✅ Set up correct local paths automatically
- ✅ Offer production and demo mode options
- ✅ Handle all Claude Code CLI configuration
For Claude Desktop users, add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"ticktick": {
"command": "node",
"args": ["/FULL/PATH/TO/ticktick-mcp-server/dist/index.js"]
}
}
}# 8. Start Claude Code CLI in your project
cd /your/project/directory
claudeTest with natural language:
- "Show me my TickTick tasks for today"
- "Create a new task: Review quarterly budget"
- "What are my overdue tasks?"
- "Show me all projects"
🎉 You're now managing real TickTick data with AI!
For Claude Desktop users:
- Restart Claude Desktop
- Use the same natural language commands
Mode Summary:
| Mode | Command | Data Source | Use Case |
|---|---|---|---|
| Production | node dist/index.js |
Your real TickTick | Daily use |
| Demo | node dist/index.js --demo |
Mock data | Testing only |
Alternative method if you don't want to use git:
# 1. Download and extract
curl -L https://github.com/marketing-shibata50/ticktick-mcp/archive/main.zip -o ticktick-mcp.zip
unzip ticktick-mcp.zip
cd ticktick-mcp-main/ticktick-mcp-serverFollow Steps 2-6 from Method A (Git Clone Installation)
Perfect for testing and evaluation:
# 1. Install and run demo instantly
npx @ticktick-ecosystem/mcp-server --demo{
"mcpServers": {
"ticktick-demo": {
"command": "npx",
"args": ["@ticktick-ecosystem/mcp-server", "--demo"],
"env": {
"TICKTICK_DEMO_MODE": "true"
}
}
}
}- Restart Claude Desktop
- Try: "Show me demo tasks"
- Test all features with mock data
- 🎯 Evaluate before setting up real authentication
# Check version (from ticktick-mcp-server directory)
node dist/index.js --version
# Test MCP connection
npx @modelcontextprotocol/inspector node dist/index.js --demo# Re-run production setup if needed
node dist/index.js --setup
# Test production mode (real data)
node dist/index.js
# Test demo mode (mock data)
node dist/index.js --demo
# View saved configuration
cat ~/.ticktick-mcp/config.json
# Check version
node dist/index.js --version# Setup once (from project directory)
node dist/index.js --setup
# Daily usage
node dist/index.js
# Claude Desktop config
{
"mcpServers": {
"ticktick": {
"command": "node",
"args": ["/FULL/PATH/TO/ticktick-mcp-server/dist/index.js"]
}
}
}# No setup needed (from project directory)
node dist/index.js --demo
# Claude Desktop config
{
"mcpServers": {
"ticktick-demo": {
"command": "node",
"args": ["/FULL/PATH/TO/ticktick-mcp-server/dist/index.js", "--demo"]
}
}
}- Production: Uses your real TickTick account data
- Demo: Uses fake test data for evaluation only
npm install @ticktick-ecosystem/mcp-serverOr install globally:
npm install -g @ticktick-ecosystem/mcp-server- Visit TickTick Developer Portal
- Create a new application
- Note your Client ID and Client Secret
- Set OAuth Redirect URL to:
http://localhost:3000/callback
Create a .env file or set environment variables:
# Required
TICKTICK_CLIENT_ID=your_client_id_here
TICKTICK_CLIENT_SECRET=your_client_secret_here
# Optional (will be obtained through OAuth if not provided)
TICKTICK_REDIRECT_URI=http://localhost:3000/callback
TICKTICK_ACCESS_TOKEN=your_access_token_here
TICKTICK_REFRESH_TOKEN=your_refresh_token_here# Install the package
npm install -g @ticktick-ecosystem/mcp-server
# Run interactive setup
npx @ticktick-ecosystem/mcp-server --setupThis will guide you through:
- Getting TickTick API credentials
- OAuth authorization flow
- Automatic configuration saving to
~/.ticktick-mcp/config.json
User: "Create a task to review the quarterly budget report, due next Friday with high priority"
AI Response: "I'll create that task for you with high priority and set the due date for next Friday."
Result: New task created in TickTick with proper priority and due date
User: "Help me plan my day"
AI Response: Based on your current tasks, I recommend:
1. Morning: Focus on the quarterly budget review (high priority)
2. Afternoon: Team meeting preparation
3. Evening: Code review for the new feature
Would you like me to adjust any task priorities or deadlines?
User: "Show me all tasks in my 'Website Redesign' project that are overdue"
AI Response: [Lists overdue tasks with details and suggests next actions]
- ✅ No authentication required
- ✅ Uses realistic mock data
- ✅ All functions work with sample tasks and projects
- ✅ Perfect for testing and evaluation
- ✅ Safe for public demonstrations
- 🔄 Real-time TickTick synchronization
- 🔐 OAuth 2.0 secure authentication
- 📊 Access to your actual tasks and projects
- 🔄 Automatic token refresh
- 📈 Real productivity statistics
{
"mcpServers": {
"ticktick": {
"command": "npx",
"args": ["@ticktick-ecosystem/mcp-server"],
"env": {
"TICKTICK_CLIENT_ID": "your_client_id",
"TICKTICK_CLIENT_SECRET": "your_client_secret",
"TICKTICK_ACCESS_TOKEN": "your_access_token",
"TICKTICK_REFRESH_TOKEN": "your_refresh_token"
}
}
}
}The server uses stdio transport and is compatible with any MCP-compliant client:
# For MCP Inspector
npx @modelcontextprotocol/inspector npx @ticktick-ecosystem/mcp-server --demo
# For custom integrations
npx @ticktick-ecosystem/mcp-server0- None1- Low3- Medium5- High
- Due dates: ISO format (
YYYY-MM-DDorYYYY-MM-DDTHH:mm:ss) - All dates are in UTC unless timezone is specified
All tools return structured responses:
Success:
{
"success": true,
"data": { ... },
"message": "Operation completed successfully"
}Error:
{
"success": false,
"error": "Error description"
}# Quick demo test
npm run demo
# With MCP Inspector
npm install -g @modelcontextprotocol/inspector
npx @modelcontextprotocol/inspector npx @ticktick-ecosystem/mcp-server --demoSee TESTING.md for comprehensive testing instructions.
- OAuth 2.0 secure authentication
- Tokens stored locally only
- No data collection or telemetry
- Open source and auditable
- Demo mode uses no real data
# Clone repository
git clone https://github.com/ticktick-ecosystem/mcp-server
cd mcp-server
# Install dependencies
npm install
# Build
npm run build
# Development mode
npm run dev
# Run tests
npm test
# Demo mode
npm run demo- Authentication Guide - Detailed authentication setup
- Testing Guide - Comprehensive testing instructions
- MCP Protocol - Learn about Model Context Protocol
- TickTick API - Official TickTick API documentation
We welcome contributions! Please see our contributing guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Model Context Protocol - The protocol this server implements
- TickTick - The task management platform
- Claude Desktop - AI assistant with MCP support
- MCP Inspector - Tool for testing MCP servers
- Anthropic for developing the Model Context Protocol
- TickTick for providing the task management API
- The MCP community for feedback and contributions
Made with ❤️ for the TickTick and MCP communities
🎉 Ready to supercharge your productivity with AI-powered task management!