# Ticktick — how to use (mcp.ai)

TickTick is a cross-platform task management and to-do list application designed to help users organize their tasks and schedules efficiently.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_ticktick?ms=1781541960000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `ticktick_complete_task`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/ticktick`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/ticktick/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/ticktick/complete/task` — Tool to mark a task as complete. use after confirming the task is done.
  - body: { task_id: string, project_id: string }
- `POST https://api.mcp.ai/api/ticktick/create/task` — Tool to create a new task in ticktick. use after you have task details such as title, dates, and optional reminders or subtasks.
  - body: { desc?: string, items?: object[], title: string, content?: string, dueDate?: string, isAllDay?: boolean, priority?: integer, timeZone?: string, projectId?: string, reminders?: string[], sortOrder?: integer, startDate?: string, repeatFlag?: string }
- `POST https://api.mcp.ai/api/ticktick/delete/task` — Tool to delete a specific task. use when you need to remove a task from a project after confirming both project and task ids.
  - body: { task_id: string, project_id: string }
- `POST https://api.mcp.ai/api/ticktick/get/user/project` — Tool to retrieve all projects for the user. use when you need to list available projects for selection.
- `POST https://api.mcp.ai/api/ticktick/ticktick/complete/task` — Tool to mark a specific task as complete. use after confirming the task is done.
  - body: { task_id: string, project_id: string }
- `POST https://api.mcp.ai/api/ticktick/ticktick/create/project` — Tool to create a new project in ticktick. use when you need to programmatically add a project after obtaining a valid access token.
  - body: { kind?: string, name: string, color?: string, viewMode?: string, sortOrder?: integer }
- `POST https://api.mcp.ai/api/ticktick/ticktick/delete/project` — Tool to delete a specific project. use when you have confirmed the project id and intend to permanently remove it. example: "delete the project with id 6226ff9877acee87727f6bca".
  - body: { project_id: string }
- `POST https://api.mcp.ai/api/ticktick/ticktick/get/project/with/data` — Tool to retrieve a project and its associated data (tasks, columns). use when you need full project details including its tasks and columns after selecting a project id.
  - body: { projectId: string }
- `POST https://api.mcp.ai/api/ticktick/ticktick/oauth2/authorization/step/1` — Tool to redirect user to ticktick authorization page to obtain authorization code. use when initiating the oauth2 flow before exchanging the code.
  - body: { scope: string, state?: string, client_id: string, redirect_uri: string }
- `POST https://api.mcp.ai/api/ticktick/ticktick/oauth2/authorization/step1` — Tool to generate the ticktick oauth2 authorization url. use to redirect the user to obtain the authorization code (step 1).
  - body: { scope: string, state?: string, client_id: string, redirect_uri: string }
- `POST https://api.mcp.ai/api/ticktick/ticktick/update/project` — Tool to update an existing project. use when you need to modify project details like name, color, sort order, view mode, or kind after selecting a project id.
  - body: { kind?: string, name?: string, color?: string, viewMode?: string, projectId: string, sortOrder?: integer }
- `POST https://api.mcp.ai/api/ticktick/update/project` — Tool to update an existing project. use when you need to modify project details like name, color, sort order, view mode, or kind after selecting a project id.
  - body: { kind?: string, name?: string, color?: string, viewMode?: string, projectId: string, sortOrder?: integer }
- `POST https://api.mcp.ai/api/ticktick/update/task` — Tool to update an existing task. use after confirming the taskid and projectid.
  - body: { desc?: string, items?: object[], title?: string, taskId: string, content?: string, dueDate?: string, isAllDay?: boolean, priority?: integer, timeZone?: string, projectId: string, reminders?: string[], sortOrder?: integer, startDate?: string, repeatFlag?: string }

## More
- Page: https://mcp.ai/ticktick
- Agent spec (llms.txt): https://mcp.ai/ticktick/llms.txt
- Postman collection: https://mcp.ai/ticktick/postman.json
