TickTick MCP Server
Features
- View all your TickTick projects and tasks
- Create new projects and tasks through natural language
- Update existing task details (title, content, dates, priority)
- Mark tasks as complete
- Delete tasks and projects
- Full integration with TickTick's open API
- Seamless integration with Claude and other MCP clients
Prerequisites
- Python 3.10 or higher
- uv - Fast Python package installer and resolver
- TickTick account with API access
- TickTick API credentials (Client ID, Client Secret, Access Token)
Installation
- Clone this repository:
- Install with uv:
- Authenticate with TickTick:This will:
- Test your configuration:This will verify that your TickTick credentials are working correctly.
Authentication with TickTick
- Register your application at the TickTick Developer Center
- Run the authentication command:
- Follow the prompts to enter your Client ID and Client Secret
- A browser window will open for you to authorize the application with your TickTick account
- After authorizing, you'll be redirected back to the application, and your access tokens will be automatically saved to the
.envfile
.env file.Usage with Claude for Desktop
- Install Claude for Desktop
- Edit your Claude for Desktop configuration file:macOS:Windows:
- Add the TickTick MCP server configuration, using absolute paths:
- Restart Claude for Desktop
Available MCP Tools
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Example Prompts for Claude
- "Show me all my TickTick projects"
- "Create a new task called 'Finish MCP server documentation' in my work project with high priority"
- "List all tasks in my personal project"
- "Mark the task 'Buy groceries' as complete"
- "Create a new project called 'Vacation Planning' with a blue color"
- "When is my next deadline in TickTick?"
Development
Project Structure
Authentication Flow
- Initial Setup: User provides their TickTick API Client ID and Secret
- Browser Authorization: User is redirected to TickTick to grant access
- Token Reception: A local server receives the OAuth callback with the authorization code
- Token Exchange: The code is exchanged for access and refresh tokens
- Token Storage: Tokens are securely stored in the local
.envfile
- Token Refresh: The client automatically refreshes the access token when it expires
Contributing
- 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
License
TickTick MCP Server
Features
- View all your TickTick projects and tasks
- Create new projects and tasks through natural language
- Update existing task details (title, content, dates, priority)
- Mark tasks as complete
- Delete tasks and projects
- Full integration with TickTick's open API
- Seamless integration with Claude and other MCP clients
Prerequisites
- Python 3.10 or higher
- uv - Fast Python package installer and resolver
- TickTick account with API access
- TickTick API credentials (Client ID, Client Secret, Access Token)
Installation
- Clone this repository:
- Install with uv:
- Authenticate with TickTick:This will:
- Test your configuration:This will verify that your TickTick credentials are working correctly.
Authentication with TickTick
- Register your application at the TickTick Developer Center
- Run the authentication command:
- Follow the prompts to enter your Client ID and Client Secret
- A browser window will open for you to authorize the application with your TickTick account
- After authorizing, you'll be redirected back to the application, and your access tokens will be automatically saved to the
.envfile
.env file.Usage with Claude for Desktop
- Install Claude for Desktop
- Edit your Claude for Desktop configuration file:macOS:Windows:
- Add the TickTick MCP server configuration, using absolute paths:
- Restart Claude for Desktop
Available MCP Tools
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Example Prompts for Claude
- "Show me all my TickTick projects"
- "Create a new task called 'Finish MCP server documentation' in my work project with high priority"
- "List all tasks in my personal project"
- "Mark the task 'Buy groceries' as complete"
- "Create a new project called 'Vacation Planning' with a blue color"
- "When is my next deadline in TickTick?"
Development
Project Structure
Authentication Flow
- Initial Setup: User provides their TickTick API Client ID and Secret
- Browser Authorization: User is redirected to TickTick to grant access
- Token Reception: A local server receives the OAuth callback with the authorization code
- Token Exchange: The code is exchanged for access and refresh tokens
- Token Storage: Tokens are securely stored in the local
.envfile
- Token Refresh: The client automatically refreshes the access token when it expires
Contributing
- 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