使用说明
ticktick mcp服务器
一个Ruby宝石,它暴露了 TickTick开放API 作为一个 MCP(模型上下文协议) 服务器。这允许像Claude这样的LLM直接管理您的TickTick项目和任务。
需求
- TickTick帐户,带有开放式API访问令牌
- 以下之一:
- Docker(推荐——不需要Ruby)
- Ruby>=3.1.0
安装
选项1:Docker(推荐)
无需安装Ruby。从GitHub容器注册表中提取预构建映像:
docker pull ghcr.io/j-o-lantern0422/ticktick-mcp-server:latest
或者从存储库本地构建:
docker build -t ticktick-mcp-server https://github.com/j-o-lantern0422/ticktick-mcp-server.git#main
选项2:红宝石
gem install ticktick-mcp-server
选项3:克隆存储库
git clone https://github.com/j-o-lantern0422/ticktick-mcp-server
cd ticktick-mcp-server
bundle install
bundle exec rake install
配置
使用TickTick Open API访问令牌设置以下环境变量:
TICKTICK_ACCESS_TOKEN=your_access_token_here
获取访问令牌
使用内置 ticktick-auth 通过OAuth2获取令牌的工具。
第一步:注册您的申请
去 TickTick开发者中心 并创建OAuth2应用程序。 将重定向URI设置为:
http://localhost:8585/callback
步骤2:运行身份验证工具
使用Docker:
docker run --rm -p 8585:8585 ghcr.io/j-o-lantern0422/ticktick-mcp-server:latest \
ticktick-auth --client-id=YOUR_CLIENT_ID --client-secret=YOUR_CLIENT_SECRET
在本地安装gem后:
ticktick-auth --client-id=YOUR_CLIENT_ID --client-secret=YOUR_CLIENT_SECRET
您还可以通过环境变量而不是标志传递凭据:
export TICKTICK_CLIENT_ID=YOUR_CLIENT_ID
export TICKTICK_CLIENT_SECRET=YOUR_CLIENT_SECRET
ticktick-auth
注: 默认回调端口为
8585.使用--port PORT(或TICKTICK_AUTH_PORT)改变它。 如果更改端口,请相应地更新开发人员设置中的重定向URI。
步骤3:在浏览器中授权
该工具将打印一个授权URL。在浏览器中打开它并批准请求。
步骤4:复制令牌
授权后,令牌将打印到stdout:
TICKTICK_ACCESS_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
复制此值并将其用作您的 TICKTICK_ACCESS_TOKEN.
用法
使用Docker运行
将以下内容添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"ticktick": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"TICKTICK_ACCESS_TOKEN=your_access_token_here",
"ghcr.io/j-o-lantern0422/ticktick-mcp-server:latest"
]
}
}
}
注:
-iClaude Desktop和MCP服务器之间的STDIO通信需要。- 做 不 使用
-t(伪tty)。它会导致CR/LF转换,从而破坏JSON-RPC协议。--rm会话结束时自动删除容器。
Claude桌面集成(本地安装gem)
将以下内容添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"ticktick": {
"command": "ticktick-mcp-server",
"env": {
"TICKTICK_ACCESS_TOKEN": "your_access_token_here"
}
}
}
}
在本地运行而不安装Gem
如果您更喜欢直接从克隆的存储库运行服务器:
{
"mcpServers": {
"ticktick": {
"command": "bundle",
"args": ["exec", "exe/ticktick-mcp-server"],
"cwd": "/path/to/ticktick-mcp-server",
"env": {
"TICKTICK_ACCESS_TOKEN": "your_access_token_here"
}
}
}
}
可用工具
项目管理
| 工具 | 描述 | 必需参数 |
|---|---|---|
list_projects |
列出所有项目 | -- |
get_project |
按ID获取项目 | project_id |
get_project_data |
获取项目详细信息,包括任务和列 | project_id |
create_project |
创建新项目 | name |
update_project |
更新现有项目 | project_id |
delete_project |
删除项目 | project_id |
任务管理
| 工具 | 描述 | 必需参数 |
|---|---|---|
list_all_tasks |
列出所有项目中的所有任务 | -- |
create_task |
创建新任务 | title, project_id |
update_task |
更新现有任务 | task_id, project_id |
complete_task |
将任务标记为已完成 | project_id, task_id |
delete_task |
删除任务 | project_id, task_id |
发展
bundle exec rake # Run tests + RuboCop
bundle exec rspec # Run tests only
bundle exec rubocop # Run linter only
许可证
根据以下条款,gem可作为开源软件使用 MIT许可证.