TickTick MCP Server
Integrates with TickTick to manage tasks and projects, including creating, updating, completing, and deleting tasks, as well as creating and listing projects.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TickTick MCP Serverlist my projects"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TickTick MCP Server
A Model Context Protocol (MCP) server implementation for TickTick, the popular task management application. This server allows AI assistants to interact with TickTick through the TickTick Open API.
š Features
Get tasks from projects
Create new tasks with details like due dates, priorities, and descriptions
Update existing tasks
Mark tasks as complete
Delete tasks
Get list of projects
Create new projects with custom properties
Related MCP server: TickTick MCP Server
š Quick Start
Prerequisites
Node.js (v18 or higher)
TickTick Developer account
TickTick API Access Token
Installation
Clone this repository:
git clone https://github.com/shidhincr/ticktick-mcpserver.git cd ticktick-mcpserverInstall dependencies:
npm installBuild the project:
npm run buildSet the environment variable with your access token:
export TICKTICK_ACCESS_TOKEN=your_access_token_hereStart the server:
npm start
š Authentication Setup
1. Register a TickTick Developer Account
Create an account and register your application
Get the client ID and client secret
2. Get Access Token
Follow the OAuth2 flow to obtain an access token:
Redirect users to TickTick authorization page:
https://ticktick.com/oauth/authorize?scope=tasks:read tasks:write&client_id=YOUR_CLIENT_ID&state=STATE&redirect_uri=YOUR_REDIRECT_URI&response_type=codeExchange the received code for an access token: Make a POST request to
https://ticktick.com/oauth/tokenwith:Header: Basic authentication with your client_id and client_secret
Body (application/x-www-form-urlencoded):
code: the received authorization code
grant_type: authorization_code
scope: tasks:read tasks:write
redirect_uri: your redirect URI
Store the received access token securely.
š ļø Available Tools
The server implements the following tools for AI interaction:
Task Management
ticktick_get_tasks- Get tasks from a specific project or all projects{ project_id?: string; // Optional project ID limit?: number; // Optional result limit (default: 10) }ticktick_create_task- Create a new task{ title: string; // Required: Task title content?: string; // Optional: Task content desc?: string; // Optional: Task description project_id: string; // Required: Project ID due_date?: string; // Optional: Due date (ISO format) priority?: number; // Optional: Priority (0, 1, 3, 5) is_all_day?: boolean; // Optional: All-day task flag }ticktick_update_task- Update an existing task{ project_id: string; // Required: Project ID task_id: string; // Required: Task ID title?: string; // Optional: New title // ... other task properties }ticktick_complete_task- Mark a task as complete{ project_id: string; // Required: Project ID task_id: string; // Required: Task ID }ticktick_delete_task- Delete a task{ project_id: string; // Required: Project ID task_id: string; // Required: Task ID }
Project Management
ticktick_get_projects- Get a list of all projectsticktick_create_project- Create a new project{ name: string; // Required: Project name color?: string; // Optional: Color code (e.g. "#F18181") view_mode?: string; // Optional: View mode ("list", "kanban", "timeline") kind?: string; // Optional: Project kind ("TASK", "NOTE") }
š Project Structure
ticktick-mcpserver/
āāā dist/ # Compiled TypeScript (generated after building)
āāā src/
ā āāā index.ts # Main server implementation
āāā package.json # Project dependencies and scripts
āāā tsconfig.json # TypeScript configuration
āāā README.md # Documentationš Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add some amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
š API Reference
This project uses the TickTick Open API. For detailed information about API endpoints and parameters, please refer to the official documentation.
š License
This project is licensed under the MIT License - see the LICENSE file for details.
š Acknowledgements
TickTick for providing the API
Model Context Protocol (MCP) for the protocol specification
This server cannot be deployed
Maintenance
Related MCP Connectors
Create and manage MeisterTask projects, tasks, and notes from your AI assistant.
Manage tasks, Focus Zone, notes, projects, and task history from compatible AI assistants.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Manage Superlist tasks and lists in plain language from any MCP-compatible AI agent.
Related MCP Servers
- FlicenseDqualityDmaintenanceProvides tools for AI assistants to interact with the Dida365 (TickTick) task management API, allowing management of tasks and projects after user authorization.525 npm2-
- AlicenseNot gradedqualityDmaintenanceEnables task and project management in TickTick through natural conversation, supporting task creation with priorities, due dates, recurring schedules, and fuzzy search across tasks and projects.1MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to manage TickTick tasks and projects through OAuth2 authentication, supporting task creation, updates, completion, project management, and smart daily scheduling based on priorities and due dates.55MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage TickTick tasks through natural language, including creating, updating, completing, and deleting tasks, as well as managing projects.14MIT