TickTick API 的 MCP 服务器,支持任务管理、项目组织、习惯追踪等功能。
get_task_by_ids
projectId (字符串):项目标识符taskId (字符串):任务标识符TickTickTaskSchema 的任务对象create_task
title (字符串):任务标题projectId (字符串):项目IDcontent (可选字符串):任务内容desc (可选字符串):任务描述isAllDay (可选布尔值):是否全天任务startDate (可选字符串):任务开始日期,格式为 "yyyy-MM-dd'T'HH:mm:ssZ"dueDate (可选字符串):任务截止日期,格式为 "yyyy-MM-dd'T'HH:mm:ssZ"timeZone (可选字符串):任务时区(例如:"America/Los_Angeles")reminders (可选字符串数组):iCalendar 格式的提醒触发器列表repeatFlag (可选字符串):iCalendar 格式的任务重复标志priority (可选数字):任务优先级(无:0,低:1,中:3,高:5)sortOrder (可选字符串):任务排序顺序items (可选数组):子任务列表,包含:
title (字符串):子任务项标题startDate (可选字符串):子任务日期,格式为 "yyyy-MM-dd'T'H:mm:ssZ"isAllDay (可选布尔值):是否全天子任务项sortOrder (可选数字):子任务项排序顺序timeZone (可选字符串):子任务时区status (可选数字):完成状态(正常:0,已完成:1)completedTime (可选字符串):完成时间,格式为 "yyyy-MM-dd'T'HH:mm:ssZ"TickTickTaskSchema 的创建任务对象update_task
taskId (字符串):任务标识符 - 路径id (字符串):任务标识符 - 主体projectId (字符串):项目IDcreate_task 的可选字段TickTickTaskSchema 的更新任务对象complete_task
taskId (字符串):任务标识符projectId (字符串):项目标识符delete_task
taskId (字符串):任务标识符projectId (字符串):项目标识符get_user_projects
TickTickProjectSchema 的项目对象数组get_project_by_id
projectId (字符串):项目标识符TickTickProjectSchema 的项目对象get_project_with_data
projectId (字符串):项目标识符project:匹配 TickTickProjectSchema 的项目对象tasks:匹配 TickTickTaskSchema 的任务对象数组columns:可选列对象数组,包含:
id (可选字符串)projectId (可选字符串)name (可选字符串)sortOrder (可选数字)create_project
name (字符串):项目名称color (可选字符串):项目颜色(默认:'#4772FA')viewMode (可选字符串):视图模式('list','kanban','timeline')(默认:'list')kind (可选字符串):项目类型('TASK','NOTE')(默认:'TASK')TickTickProjectSchema 的创建项目对象update_project
projectId (字符串):项目标识符name (可选字符串):项目名称color (可选字符串):项目颜色sortOrder (可选数字):项目排序顺序viewMode (可选字符串):视图模式('list','kanban','timeline')kind (可选字符串):项目类型('TASK','NOTE')TickTickProjectSchema 的更新项目对象delete_project
projectId (字符串):项目标识符TickTickTaskSchema:定义任务对象的结构,包括:
TickTickProjectSchema:定义项目对象的结构,包括:
在创建或更新任务时,可以包含这些属性:
0:无1:低3:中5:高0:正常(未完成)2:已完成["TRIGGER:P0DT9H0M0S", "TRIGGER:PT0S"]"RRULE:FREQ=DAILY;INTERVAL=1""yyyy-MM-dd'T'HH:mm:ssZ""2019-11-13T03:00:00+0000"在创建或更新项目时,可以使用这些属性:
"list":标准列表视图"kanban":看板视图"timeline":时间线视图"TASK":任务导向型项目"NOTE":笔记导向型项目要启用与 TickTick 的 OAuth 认证,您需要注册您的应用并获得 API 凭证:
当首次使用 TickTick MCP 服务器时:
当需要生成新的访问令牌(无论是首次设置还是令牌过期时),请遵循以下步骤:
使用以下方法之一配置您的凭证:
在项目根目录下创建一个 .env 文件:
TICKTICK_CLIENT_ID="<YOUR_CLIENT_ID>"
TICKTICK_CLIENT_SECRET="<YOUR_CLIENT_SECRET>"
然后加载它:
source .env
推荐这种方法是因为:
如果凭证包含特殊字符,请使用单引号。请注意,这些变量仅在当前终端会话中有效:
export TICKTICK_CLIENT_ID='<YOUR_CLIENT_ID>'
export TICKTICK_CLIENT_SECRET='<YOUR_CLIENT_SECRET>'
运行认证命令:
如果使用发布的包:
npx @alexarevalo.ai/mcp-server-ticktick ticktick-auth
如果本地运行 MCP 服务器:
npm run start:auth
此过程将:
保存访问令牌:
echo "TICKTICK_ACCESS_TOKEN=\"<GENERATED_TOKEN>\"" >> .env
source .env
安全提示:
- 将 .env 添加到您的 .gitignore 文件中
- 切勿将凭证书面提交到版本控制
- 访问令牌在 180 天后过期 - 您需要重新生成它们
要在 Claude Desktop 中使用此功能,请在您的 claude_desktop_config.json 中添加以下内容:
{
"mcpServers": {
"ticktick": {
"command": "npx",
"args": ["-y", "@alexarevalo.ai/mcp-server-ticktick"],
"env": {
"TICKTICK_CLIENT_ID": "<YOUR_CLIENT_ID>",
"TICKTICK_CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
"TICKTICK_ACCESS_TOKEN": "<YOUR_ACCESS_TOKEN>"
}
}
}
}
{
"mcpServers": {
"ticktick": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TICKTICK_CLIENT_ID",
"-e",
"TICKTICK_CLIENT_SECRET",
"-e",
"TICKTICK_ACCESS_TOKEN",
"mcp/ticktick"
],
"env": {
"TICKTICK_CLIENT_ID": "<YOUR_CLIENT_ID>",
"TICKTICK_CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
"TICKTICK_ACCESS_TOKEN": "<YOUR_ACCESS_TOKEN>"
}
}
}
}
要通过 Smithery 自动安装 ticktick-mcp-server 用于 Claude Desktop:
npx -y @smithery/cli install @alexarevalo9/ticktick-mcp-server --client claude
Docker 构建:
docker build -t mcp/ticktick -f src/ticktick/Dockerfile .
此 MCP 服务器根据 MIT 许可证发布。这意味着您可以自由地使用、修改和分发该软件,但需遵守 MIT 许可证中的条款和条件。如需更多详细信息,请参阅项目存储库中的 LICENSE 文件。