内容
# ticktick-mcp
TickTick 的 MCP(模型上下文协议)服务器。为 MCP 兼容的 AI 客户端(如 Claude Desktop)提供任务、项目和标签的完整 CRUD 支持。
## 捆绑技能
此存储库还包含 `skills/ticktick-skill`。在 `ticktick_mcp` 中保留 TickTick 协议和 CRUD 行为;工作流特定的过滤、CLI 格式化和规划属于捆绑技能。
## 功能
**任务**
- 列出打开的任务(所有项目或按项目过滤)
- 按 ID 获取单个任务
- 创建、更新、完成、取消完成、删除任务
- 批量删除任务
- 在项目之间移动任务
- 建立/删除子任务关系
- 按日期或日期范围获取已完成的任务
**项目**
- 列出、获取、创建、更新项目
- 存档/取消存档项目
- 删除项目
- 创建/删除项目文件夹
**标签**
- 列出、创建、更新、删除标签
- 合并标签
- 批量创建标签
## 要求
- Python 3.9+
- 一个 [TickTick](https://ticktick.com) 账户
## 设置
此存储库是自包含的 — 不需要兄弟包。
1. 创建并激活虚拟环境:
```bash
python -m venv .venv
source .venv/bin/activate
```
2. 安装包:
```bash
pip install -e .
```
3. 设置环境变量(或将其放入 shell 配置文件中):
```bash
export TICKTICK_API_KEY="your_open_api_bearer_token"
export TICKTICK_USERNAME="your@email.com"
export TICKTICK_PASSWORD="your_password"
```
| 变量 | 描述 |
|----------|-------------|
| `TICKTICK_API_KEY` | 从 [TickTick Open API](https://developer.ticktick.com) 获取的 Bearer token |
| `TICKTICK_USERNAME` | TickTick 账户邮箱 |
| `TICKTICK_PASSWORD` | TickTick 账户密码 |
## 运行
```bash
ticktick-mcp
```
服务器通过 `stdio` 使用 JSON-RPC 2.0(MCP 协议)进行通信。
当安装包时,捆绑技能还会在 CLI 上公开工作流命令:
```bash
ticktick-projects
ticktick-tasks-open
ticktick-tasks-undated
ticktick-tasks-completed
ticktick-task-update
ticktick-plan
```
## Claude Desktop 集成
添加到 `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"ticktick": {
"command": "/path/to/.venv/bin/ticktick-mcp",
"env": {
"TICKTICK_API_KEY": "your_open_api_bearer_token",
"TICKTICK_USERNAME": "your@email.com",
"TICKTICK_PASSWORD": "your_password"
}
}
}
}
```
## 开发
运行测试:
```bash
pytest
```
## 许可证
MIT