TickTick MCP Server

TickTick MCP Server

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

Category
Visit Server

README

<div align="center">

TickTick

TickTick MCP Server 🎯

TickTick.com | Manage Your Tasks with AI

</div>

A comprehensive MCP (Model Context Protocol) server for managing your TickTick tasks directly from Claude or any MCP-compatible AI assistant.

Features ✨

  • Task Management: Create, update, complete, and delete tasks
  • Project Management: Create and manage projects/lists
  • Smart Scheduling: Generate daily schedules based on task priorities and due dates
  • OAuth2 Authentication: Secure authentication with TickTick's official API
  • Rich Formatting: Beautiful markdown output for easy reading

Prerequisites

  • Python 3.10 or higher
  • A TickTick account
  • A TickTick Developer App (we'll create this below)

Installation

Step 1: Clone/Copy the Server

# Create directory
mkdir -p ~/ticktick-mcp
cd ~/ticktick-mcp

# Copy the files (ticktick_mcp.py and pyproject.toml)

Step 2: Install Dependencies

# Using pip
pip install mcp httpx pydantic

# Or using the project
cd ~/ticktick-mcp
pip install -e .

Step 3: Register a TickTick Developer App

  1. Go to TickTick Developer Portal
  2. Log in with your TickTick account
  3. Click "+ App Name" to create a new app
  4. Enter a name (e.g., "Claude MCP Integration")
  5. Important: Set the OAuth Redirect URL to: http://127.0.0.1:8080/callback
  6. Click Save
  7. Note down your Client ID and Client Secret

Configuration

For Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "ticktick": {
      "command": "python",
      "args": ["/path/to/ticktick-mcp/ticktick_mcp.py"],
      "env": {}
    }
  }
}

Using uv (recommended):

{
  "mcpServers": {
    "ticktick": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/ticktick-mcp", "python", "ticktick_mcp.py"]
    }
  }
}

For Other MCP Clients

Run the server directly:

python ticktick_mcp.py

First-Time Setup (OAuth Authentication)

Once the MCP server is connected, use these tools in order:

1. Configure Credentials

Tell Claude:

"Configure TickTick with my credentials: Client ID is YOUR_CLIENT_ID and Client Secret is YOUR_CLIENT_SECRET"

This will:

  • Save your credentials securely
  • Generate an authorization URL for you to visit

2. Authorize the App

  1. Claude will provide an authorization URL
  2. Open the URL in your browser
  3. Log in to TickTick and click "Allow"
  4. You'll be redirected to a URL like: http://127.0.0.1:8080/callback?code=ABCD1234&state=mcp_auth
  5. Copy the code parameter (ABCD1234 in this example)

3. Complete Authorization

Tell Claude:

"Complete TickTick authorization with code: ABCD1234"

You're now authenticated! The token is cached for ~6 months.

Available Tools

Authentication

Tool Description
ticktick_configure Configure API credentials
ticktick_authorize Complete OAuth flow
ticktick_check_auth Check authentication status

Tasks

Tool Description
ticktick_list_tasks List all incomplete tasks
ticktick_get_task Get details of a specific task
ticktick_create_task Create a new task
ticktick_update_task Update an existing task
ticktick_complete_task Mark a task as complete
ticktick_delete_task Delete a task

Projects

Tool Description
ticktick_list_projects List all projects/lists
ticktick_create_project Create a new project
ticktick_delete_project Delete a project

Scheduling

Tool Description
ticktick_schedule_time Generate a daily schedule
ticktick_get_today Quick view of today's tasks

Usage Examples

List Your Tasks

"Show me all my TickTick tasks"

Create a Task

"Create a TickTick task: Review Q4 report, due tomorrow, high priority"

Schedule Your Day

"Help me plan my day based on my TickTick tasks"

Create a Project

"Create a new TickTick project called 'Side Business Ideas'"

Complete a Task

"Mark task ID abc123 in project xyz as complete"

Task Priority Levels

Priority Value Emoji
None 0
Low 1 🟢
Medium 3 🟡
High 5 🔴

File Locations

The server stores configuration and tokens in your home directory:

  • Configuration: ~/.ticktick-mcp-config.json
  • OAuth Token: ~/.ticktick-mcp-token.json

To reset authentication, delete these files.

Troubleshooting

"Not authenticated" Error

Run ticktick_check_auth to verify your authentication status, then re-run the OAuth flow if needed.

"Token expired" Error

Delete ~/.ticktick-mcp-token.json and re-authenticate.

"Rate limit exceeded" Error

Wait a minute before making more requests. TickTick has API rate limits.

"Resource not found" Error

Double-check the task ID and project ID. Use ticktick_list_tasks to see valid IDs.

API Reference

This server uses TickTick's official Open API:

Contributing

Feel free to extend this server! Some ideas:

  • Add support for habits
  • Add Pomodoro timer integration
  • Add calendar view
  • Add recurring task support
  • Add tag management tools

License

MIT License - feel free to use and modify!


Built with ❤️ for productivity enthusiasts using Claude and TickTick.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured