Sponsored by Deepsite.site

Mcp Ticktick

Created By
jacepark129 months ago
A MCP server for TickTick that enables interacting with your TickTick task management system directly through Claude and other MCP clients.
Content

# TickTick MCP Server

A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server for TickTick that enables interacting with your TickTick task management system directly through Claude and other MCP clients.

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](https://github.com/astral-sh/uv) - Fast Python package installer and resolver
  • TickTick account with API access
  • TickTick API credentials (Client ID, Client Secret, Access Token)

Installation

  1. **Clone this repository**: ```bash git clone https://github.com/parkjs814/ticktick-mcp.git cd ticktick-mcp ```

  2. **Install with uv**: ```bash

    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 . ```

  3. **Authenticate with TickTick**: ```bash

    Run the authentication flow

    uv run -m ticktick_mcp.cli auth ```

    This will:

    • Ask for your TickTick Client ID and Client Secret
    • Open a browser window for you to log in to TickTick
    • Automatically save your access tokens to a `.env` file
  4. **Test your configuration**: ```bash uv run test_server.py ``` This will verify that your TickTick credentials are working correctly.

Authentication with TickTick

This server uses OAuth2 to authenticate with TickTick. The setup process is straightforward:

  1. Register your application at the [TickTick Developer Center](https://developer.ticktick.com/manage)

  2. Run the authentication command: ```bash uv run -m ticktick_mcp.cli auth ```

  3. Follow the prompts to enter your Client ID and Client Secret

  4. A browser window will open for you to authorize the application with your TickTick account

  5. After authorizing, you'll be redirected back to the application, and your access tokens will be automatically saved to the `.env` file

The server handles token refresh automatically, so you won't need to reauthenticate unless you revoke access or delete your `.env` file.

Usage with Claude for Desktop

  1. Install [Claude for Desktop](https://claude.ai/download)

  2. Edit your Claude for Desktop configuration file:

    **macOS**: ```bash nano ~/Library/Application\ Support/Claude/claude_desktop_config.json ```

    **Windows**: ```bash notepad %APPDATA%\Claude\claude_desktop_config.json ```

  3. Add the TickTick MCP server configuration: ```json { "mcpServers": { "ticktick": { "command": "uv", "args": ["run", "-m", "ticktick_mcp.cli", "run"] } } } ```

  4. Restart Claude for Desktop

Once connected, you'll see the TickTick MCP server tools available in Claude, indicated by the 🔨 (tools) icon.

Available MCP Tools

ToolDescriptionParameters
`get_projects`List all your TickTick projectsNone
`get_project`Get details about a specific project`project_id`
`get_project_tasks`List all tasks in a project`project_id`
`get_task`Get details about a specific task`project_id`, `task_id`
`create_task`Create a new task`title`, `project_id`, `content` (optional), `start_date` (optional), `due_date` (optional), `priority` (optional)
`update_task`Update an existing task`task_id`, `project_id`, `title` (optional), `content` (optional), `start_date` (optional), `due_date` (optional), `priority` (optional)
`complete_task`Mark a task as complete`project_id`, `task_id`
`delete_task`Delete a task`project_id`, `task_id`
`create_project`Create a new project`name`, `color` (optional), `view_mode` (optional)
`delete_project`Delete a project`project_id`

Example Prompts for Claude

Here are some example prompts to use with Claude after connecting the TickTick MCP server:

  • "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

``` ticktick-mcp/ ├── .env.template # Template for environment variables ├── README.md # Project documentation ├── requirements.txt # Project dependencies ├── setup.py # Package setup file ├── test_server.py # Test script for server configuration └── ticktick_mcp/ # Main package ├── __init__.py # Package initialization ├── authenticate.py # OAuth authentication utility ├── cli.py # Command-line interface └── src/ # Source code ├── __init__.py # Module initialization ├── auth.py # OAuth authentication implementation ├── server.py # MCP server implementation └── ticktick_client.py # TickTick API client ```

Authentication Flow

The project implements a complete OAuth 2.0 flow for TickTick:

  1. **Initial Setup**: User provides their TickTick API Client ID and Secret
  2. **Browser Authorization**: User is redirected to TickTick to grant access
  3. **Token Reception**: A local server receives the OAuth callback with the authorization code
  4. **Token Exchange**: The code is exchanged for access and refresh tokens
  5. **Token Storage**: Tokens are securely stored in the local `.env` file
  6. **Token Refresh**: The client automatically refreshes the access token when it expires

This simplifies the user experience by handling the entire OAuth flow programmatically.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (`git checkout -b feature/amazing-feature`)
  3. Commit your changes (`git commit -m 'Add some amazing feature'`)
  4. Push to the branch (`git push origin feature/amazing-feature`)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
CursorThe AI Code Editor
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
ChatWiseThe second fastest AI chatbot™
Playwright McpPlaywright MCP server
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Amap Maps高德地图官方 MCP Server
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Tavily Mcp
DeepChatYour AI Partner on Desktop
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
WindsurfThe new purpose-built IDE to harness magic
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
Serper MCP ServerA Serper MCP Server
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code