README
🚀 咔嗒任务 MCP 服务
咔嗒任务 MCP 服务是一个基于 Model Context Protocol (MCP) 的服务器实现,专门用于集成 TickTick 任务管理工具。借助 Python 和 MCP SDK,它为 AI 助手和应用程序与 TickTick 的任务管理功能交互提供了便利。
🚀 快速开始
概述
此存储库包含 TickTick 的 Model Context Protocol (MCP) 服务器实现。它提供了一种标准方式,使 AI 助手和应用程序能够与 TickTick 的任务管理功能交互,支持以下操作:
- 获取项目和任务
- 创建新项目和任务
- 更新任务详情
- 完成和删除任务
通过此 MCP,AI 系统可以充当任务管理器,帮助您使用自然语言处理在 TickTick 中管理待办事项和任务。
先决条件
- Python 3.8+
- 咔嗒账户
- 咔嗒 API 密钥(通过 OAuth)
📦 安装指南
克隆仓库
git clone https://github.com/ekkyarmandi/ticktick-mcp.git
cd ticktick-mcp
安装依赖项
pip install -r requirements.txt
📚 详细文档
获取 TickTick API 密钥
此 MCP 使用了 TickTick 的 OpenAPI 方案,需要通过 TickTick 开发者门户注册应用:
- 访问 TickTick 开发文档
- 点击右上角的
Manage Apps并使用您的 TickTick 资格登录 - 点击
+App Name按钮新建一个应用 - 为您的应用输入一个名称(唯一必填字段)
- 应用创建后,您将能够看到您的
Client ID和Client Secret - 对于
OAuth Redirect 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"])
配置
在根目录创建一个 .env 文件,并在其中添加您的 TickTick API 密钥:
TICKTICK_API_KEY=您的访问令牌
💻 使用示例
基础用法
运行 MCP 服务器:
python main.py
这将在端口 8000 上启动 MCP 服务器。您可以通过以下方式与服务器交互。
提供的工具
tick.tick(): 返回当前时间的时间字符串。time.travel(seconds): 时间旅行功能,将当前时间向前或向后移动指定秒数。
示例交互
获取当前时间
$ python main.py tick.tick
将时间向前移动 60 秒
$ python main.py time.travel 60
再次获取当前时间
$ python main.py tick.tick
🔧 技术细节
扩展性
要扩展 MCP 服务器,请在 server.py 中添加新的命令处理函数,并在 main() 函数中注册它们。
def new_command():
# 在此处实现新功能
pass
if __name__ == "__main__":
register_command("new_command", new_command)
兼容性
此 MCP 服务器设计为与任何支持相同命令的客户端兼容。要创建自定义命令,请按照以下步骤操作:
- 定义新函数。
- 在
server.py中注册该函数。
def custom_function():
# 实现功能
pass
if __name__ == "__main__":
register_command("custom_function", custom_function)
通过遵循这些步骤,您可以轻松扩展 MCP 服务器的功能以满足您的需求。
Scan to contact