mcpField
T
TickTick MCP Server

TickTick MCP Server

Local
github.com/rafliruslanProductivity5Updated 74w ago

About TickTick MCP Server

TickTick MCP Server exposes TickTick task management to MCP clients, with tools to list, create, update, delete, and complete tasks. It also handles timezone adjustments and supports OAuth or username/password authentication.

Key features

  1. 01List tasks and projects
  2. 02Create, update, and delete tasks
  3. 03Complete tasks and retrieve details
  4. 04Get today's and overdue tasks
  5. 05Support OAuth and username/password authentication
  6. 06Handle timezone offsets and date adjustments

Use cases

  1. 01View TickTick tasks from an MCP client
  2. 02Manage tasks and projects through tools
  3. 03Filter today's or overdue tasks by timezone

MCP support

This MCP server exposes TickTick task and project management tools, including task retrieval, creation, updates, deletion, and completion.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

TickTick MCP Server

A Model Context Protocol (MCP) server that provides integration with TickTick task management service.

Features

  • List tasks and projects with enhanced display (human-readable priorities)
  • Create, update, and delete tasks
  • Mark tasks as completed
  • Get specific task details
  • Timezone handling with manual D+1 adjustment for accurate due date calculations
  • Get overdue tasks with configurable timezone offset
  • Get today's tasks with proper timezone compensation
  • OAuth and username/password authentication support
  • Full TypeScript support with proper error handling

Setup

  1. Install dependencies:
npm install
  1. Create environment configuration:
cp .env.example .env
  1. Configure authentication in .env:

Option A: OAuth (Recommended)

TICKTICK_ACCESS_TOKEN=your_oauth_access_token
TICKTICK_REFRESH_TOKEN=your_refresh_token
TICKTICK_CLIENT_ID=your_client_id
TICKTICK_CLIENT_SECRET=your_client_secret

Option B: Username/Password

TICKTICK_USERNAME=your_ticktick_username
TICKTICK_PASSWORD=your_ticktick_password

For OAuth setup, see OAUTH_SETUP.md or use the helper:

node oauth-helper.js
  1. Build the project:
npm run build

Usage

Development
npm run dev
Production
npm start

Available Tools

  • get_tasks - Get all tasks or tasks from a specific project (with enhanced display)
  • get_overdue_tasks - Get overdue tasks with timezone compensation (configurable offset, defaults to UTC+8 - adjust for your timezone)
  • get_todays_tasks - Get tasks due today with D+1 timezone adjustment
  • get_projects - Get all projects from TickTick
  • create_task - Create a new task with priority, tags, due dates
  • update_task - Update an existing task
  • delete_task - Delete a task
  • complete_task - Mark a task as completed
  • get_task - Get a specific task by ID
Timezone Handling

This server includes manual timezone workarounds to handle TickTick's timezone inconsistencies:

  • D+1 Adjustment: Due dates are automatically adjusted by adding 1 day to compensate for timezone differences
  • Configurable Offset: get_overdue_tasks accepts a timezoneOffsetHours parameter
    • Default: 8 (UTC+8) - Change this for your timezone!
    • Examples:
      • timezoneOffsetHours: -5 for EST (UTC-5)
      • timezoneOffsetHours: 0 for UTC
      • timezoneOffsetHours: 9 for JST (UTC+9)
      • timezoneOffsetHours: 1 for CET (UTC+1)
  • All-day vs Timed Tasks: Different handling for all-day tasks vs specific time tasks
  • Enhanced Display: Tasks include human-readable priority text (None, Low, Medium, High)

Important: The default timezone offset is set to UTC+8. Make sure to specify your correct timezone offset when calling get_overdue_tasks to get accurate results for your location.

MCP Integration

Claude Desktop (with Claude Desktop app)

Add this server to your MCP client configuration file:

Location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)

{
  "mcpServers": {
    "ticktick": {
      "command": "node",
      "args": ["/path/to/ticktick-mcp-server/dist/index.js"],
      "env": {
        "TICKTICK_ACCESS_TOKEN": "your_oauth_token",
        "TICKTICK_REFRESH_TOKEN": "your_refresh_token",
        "TICKTICK_CLIENT_ID": "your_client_id",
        "TICKTICK_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}
Cursor IDE

Add this server to your Cursor MCP configuration:

Location: Create/edit .cursorrules or Cursor settings for MCP servers

{
  "mcp": {
    "servers": {
      "ticktick": {
        "command": "node",
        "args": ["/path/to/ticktick-mcp-server/dist/index.js"],
        "env": {
          "TICKTICK_ACCESS_TOKEN": "your_oauth_token",
          "TICKTICK_REFRESH_TOKEN": "your_refresh_token", 
          "TICKTICK_CLIENT_ID": "your_client_id",
          "TICKTICK_CLIENT_SECRET": "your_client_secret"
        }
      }
    }
  }
}
Alternative with Username/Password
{
  "env": {
    "TICKTICK_USERNAME": "your_username",
    "TICKTICK_PASSWORD": "your_password"
  }
}

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.