返回市场
ticktick-mcp

ticktick-mcp

作者:ekkyarmandi7 星标更新:2025-11-03

项目介绍

TickTick MCP

一个用于集成TickTick任务管理工具的模型上下文协议(MCP)服务器。使用Python和MCP SDK。

概述

此仓库包含一个针对TickTick的模型上下文协议(MCP)服务器实现。它提供了一种标准化的方式,使AI助手和应用程序能够与TickTick的任务管理功能进行交互,允许执行以下操作:

  • 获取项目和任务
  • 创建新的项目和任务
  • 更新任务详情
  • 完成和删除任务

通过这个MCP,AI系统可以充当任务管理员,帮助您使用自然语言来管理TickTick中的待办事项和任务。

要求

  • Python 3.8+
  • TickTick账户
  • TickTick API密钥(通过OAuth获取) # 备注:我将添加一个从TickTick开发者门户生成API密钥的工具

安装

  1. 克隆此仓库

    git clone https://github.com/ekkyarmandi/ticktick-mcp.git
    cd ticktick-mcp
    
  2. 安装依赖项

    pip install -r requirements.txt
    

获取TickTick API密钥

此MCP使用TickTick的OpenAPI方案,需要通过TickTick的开发者门户注册应用:

  1. 访问TickTick开发者文档
  2. 在右上角点击管理应用并使用您的TickTick凭据登录
  3. 通过点击+应用名称按钮注册新应用
  4. 输入您的应用名称(唯一必填字段)
  5. 创建后,您可以看到您的客户端ID客户端密钥
  6. 对于OAuth重定向URL,输入授权后将被重定向到的URL(例如,http://127.0.0.1:8080

授权您的应用

在注册应用后,使用ticktick-py库获取访问令牌:

from ticktick.oauth2 import OAuth2

# 使用开发者门户中的详细信息替换
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
redirect_uri = "YOUR_REDIRECT_URI"  # 例如,http://127.0.0.1:8080

auth_client = OAuth2(client_id=client_id,
                     client_secret=_client_secret,
                     redirect_uri=redirect_uri)

# 这将打开一个浏览器进行授权
# 按照终端中的指示进行授权
auth_client.get_access_token()

授权后,默认情况下访问令牌将保存到.token-oauth文件中。您可以从此文件中提取令牌或使用:

print(auth_client.token_info["access_token"])

配置

  1. 在根目录创建一个.env文件,并添加您的TickTick API密钥:
    TICKTICK_API_KEY=your_access_token_here
    

使用

运行MCP服务器:

python main.py

这将在端口8000启动MCP服务器。现在,您可以使用任何MCP客户端连接到它。

可用工具

服务器提供了以下工具:

  • get_projects:获取所有项目的列表
  • project_details:获取特定项目的详细信息
  • get_task_details:获取特定任务的详细信息
  • create_project:创建一个新的项目
  • create_task:在项目中创建一个新的任务
  • update_task:更新现有任务
  • complete_task:标记任务为完成
  • delete_task:删除任务

示例交互

一旦您的MCP服务器运行起来,AI系统就可以使用自然语言命令帮助您管理任务,如:

  • “显示我所有的项目”
  • “创建一个名为‘家庭翻新’的新项目”
  • “添加一个明天购买杂货的任务”
  • “标记我的‘支付账单’任务为完成”
  • “本周我有哪些任务到期?”
  • “删除关于取消会议的任务”

与MCP客户端一起使用

此服务器可以与任何兼容MCP的客户端一起使用,例如:

  • Claude桌面版
  • Cursor IDE
  • 使用MCP SDK的自定义AI应用程序

开发

要扩展或修改此MCP服务器:

  1. tools.py中添加新工具
  2. main.py中使用mcp.add_tool()注册它们

许可证

MIT

贡献

欢迎贡献!请随时提交Pull Request。