任务管理协议服务

TickTick MCP是一个基于模型上下文协议(MCP)的服务,提供与TickTick任务管理工具集成的功能,包括创建、更新、完成和删除任务等操作。

  • by ekkyarmandi
  • Python
  • 本地部署
  • 14 星标
  • 更新于
在 GitHub 查看 ekkyarmandi/ticktick-mcp

使用说明

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. 点击 Manage Apps 在右上角并使用您的TickTick凭据登录
  3. 通过点击来注册一个新应用 +App Name 按钮
  4. 为您的应用程序输入一个名称(必填项)
  5. 一旦创建,您将能够看到您的 Client ID 和 Client Secret
  6. 对于 OAuth Redirect URL在授权后,输入一个将要跳转到的URL(例如。, http://127.0.0.1:8080根据上面的信息,执行如下指令:

授权您的应用

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

from ticktick.oauth2 import OAuth2

# Replace with your details from the developer portal
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
redirect_uri = "YOUR_REDIRECT_URI"  # e.g., http://127.0.0.1:8080

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

# This will open a web browser for authorization
# Follow the instructions in the terminal to authorize
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 Desktop
  • Cursor 集成开发环境
  • 使用MCP SDK的定制AI应用程序

开发

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

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

许可证

麻省理工学院

贡献

欢迎贡献!请随时提交拉取请求。