# dev-mirzabicer/ticktick-sdk [Health: Active]

**Category:** 🛠️ Other Tools and Integrations  
**Repository:** https://github.com/dev-mirzabicer/ticktick-sdk  
**GitHub Stars:** 141  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/dev-mirzabicer-ticktick-sdk

## Description
Comprehensive async Python SDK for TickTick with MCP server support. Features 45 tools for tasks, projects, tags, habits, focus/pomodoro sessions, and user analytics.

## Tools
Capabilities this server exposes over MCP:

- **ticktick_create_tasks** — Create 1-50 tasks with titles, dates, tags, etc.
- **ticktick_get_task** — Get task details by ID
- **ticktick_list_tasks** — List tasks (active/completed/abandoned/deleted via status filter)
- **ticktick_update_tasks** — Update 1-100 tasks (includes column assignment)
- **ticktick_complete_tasks** — Complete 1-100 tasks
- **ticktick_delete_tasks** — Delete 1-100 tasks (moves to trash)
- **ticktick_move_tasks** — Move 1-50 tasks between projects
- **ticktick_set_task_parents** — Set parent-child relationships for 1-50 tasks
- **ticktick_unparent_tasks** — Remove parent relationships from 1-50 tasks
- **ticktick_search_tasks** — Search tasks by text
- **ticktick_pin_tasks** — Pin or unpin 1-100 tasks
- **ticktick_list_projects** — List all projects
- **ticktick_get_project** — Get project details with tasks
- **ticktick_create_project** — Create a new project
- **ticktick_update_project** — Update project properties
- **ticktick_delete_project** — Delete a project
- **ticktick_list_folders** — List all folders
- **ticktick_create_folder** — Create a folder
- **ticktick_rename_folder** — Rename a folder
- **ticktick_delete_folder** — Delete a folder
- **ticktick_list_columns** — List columns for a kanban project
- **ticktick_create_column** — Create a kanban column
- **ticktick_update_column** — Update column name or order
- **ticktick_delete_column** — Delete a kanban column
- **ticktick_list_tags** — List all tags
- **ticktick_create_tag** — Create a tag with color
- **ticktick_update_tag** — Update tag properties (includes rename via label)
- **ticktick_delete_tag** — Delete a tag
- **ticktick_merge_tags** — Merge two tags
- **ticktick_habits** — List all habits
- **ticktick_habit** — Get habit details
- **ticktick_habit_sections** — List sections (morning/afternoon/night)
- **ticktick_create_habit** — Create a new habit
- **ticktick_update_habit** — Update habit properties (includes archive/unarchive)
- **ticktick_delete_habit** — Delete a habit
- **ticktick_checkin_habits** — Check in 1-50 habits (supports backdating)
- **ticktick_habit_checkins** — Get check-in history
- **ticktick_get_profile** — Get user profile
- **ticktick_get_status** — Get account status
- **ticktick_get_statistics** — Get productivity stats
- **ticktick_get_preferences** — Get user preferences
- **ticktick_focus_heatmap** — Get focus heatmap data
- **ticktick_focus_by_tag** — Get focus time by tag

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "ticktick-sdk": {
    "command": "uvx",
    "args": ["ticktick-sdk"],
    "env": {
      "TICKTICK_CLIENT_ID": "",
      "TICKTICK_CLIENT_SECRET": "",
      "TICKTICK_ACCESS_TOKEN": "",
      "TICKTICK_USERNAME": "",
      "TICKTICK_PASSWORD": ""
    }
  }
}
```

**Requires environment variables:** `TICKTICK_CLIENT_ID`, `TICKTICK_CLIENT_SECRET`, `TICKTICK_ACCESS_TOKEN`, `TICKTICK_USERNAME`, `TICKTICK_PASSWORD` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What dev-mirzabicer/ticktick-sdk MCP server does

The dev-mirzabicer/ticktick-sdk MCP server connects MCP-compatible AI assistants to TickTick. It exposes tools for reading and changing tasks, projects, folders, kanban columns, and tags. It also includes a tool for listing habits. The accompanying Python SDK provides asynchronous access to the same service and supports Dida365 as an additional API host.

Task operations include creation, retrieval, listing by status, updates, completion, deletion, project moves, parent-child relationships, text search, and pinning. Project and organization tools cover project details, folders, columns, and tag maintenance. The source description also identifies focus or Pomodoro data and user analytics as supported SDK areas, although the listed MCP tools do not enumerate separate tools for every one of those areas.

## How it works

The dev-mirzabicer/ticktick-sdk MCP server combines two TickTick interfaces. OAuth2-backed V1 operations handle documented functionality, while an unofficial V2 session API supplies features such as tags, folders, habits, focus information, subtasks, and other web-app capabilities. The library chooses the appropriate API route for an operation.

MCP clients start the local server over standard input and output using the `ticktick-sdk` executable. Tool results can be formatted for people in Markdown or for programs in JSON, according to the README. Mutating task tools accept batches: creation, movement, and parent assignment support up to 50 items, while several update, completion, deletion, and pinning operations support up to 100.

## Setup and configuration

Install the package with `pip install ticktick-sdk`. Python 3.11 or newer is required. A TickTick account is also required; the README notes that free and Pro accounts are supported.

Before starting the MCP server, register an application in the TickTick Developer Portal with the redirect URI `http://127.0.0.1:8080/callback`. Run `ticktick-sdk auth` with `TICKTICK_CLIENT_ID` and `TICKTICK_CLIENT_SECRET` to obtain an OAuth2 access token. The `--manual` option provides a text-based flow for headless or SSH environments.

Configure the server with `TICKTICK_CLIENT_ID`, `TICKTICK_CLIENT_SECRET`, `TICKTICK_ACCESS_TOKEN`, `TICKTICK_USERNAME`, and `TICKTICK_PASSWORD`. Claude Desktop configuration uses the `ticktick-sdk` command and these environment variables. The server can also target `ticktick.com` or `dida365.com`, and its CLI supports restricting enabled modules or tools.

## Tools and capabilities

The listed MCP capabilities include:

- Create, inspect, list, update, complete, delete, move, search, and pin tasks.
- Assign or remove task parent relationships.
- List, create, update, and delete projects and folders.
- Manage kanban columns, including names and ordering.
- Create, update, delete, merge, and list tags.
- List habits.

The SDK additionally documents asynchronous HTTP operations, Pydantic v2 validation, focus or Pomodoro access, productivity statistics, and habit-management features. These SDK features should not be assumed to correspond to separately named MCP tools unless exposed by the installed version.

## Limitations and notes

The V2 interface used for several advanced features is unofficial and reverse-engineered, so those capabilities depend on TickTick's web API behavior. OAuth application registration and token acquisition are required; this is not a credential-free connector. The README describes the project as MIT-licensed and lists Claude, GPT, and other MCP-compatible assistants as possible clients, while Claude Desktop has a documented configuration example.

The README and supplied tool list report different total MCP tool counts. For planning integrations, rely on the named tools and the installed package version rather than assuming a fixed total. Batch limits also vary by operation, so callers should validate the relevant tool's accepted range before sending large mutations.

_Full upstream README: https://allmcps.com/mcp/dev-mirzabicer-ticktick-sdk/readme_

