咔嗒任务 MCP 服务是一个基于 Model Context Protocol (MCP) 的服务器实现,专门用于集成 TickTick 任务管理工具。借助 Python 和 MCP SDK,它为 AI 助手和应用程序与 TickTick 的任务管理功能交互提供了便利。
此存储库包含 TickTick 的 Model Context Protocol (MCP) 服务器实现。它提供了一种标准方式,使 AI 助手和应用程序能够与 TickTick 的任务管理功能交互,支持以下操作:
通过此 MCP,AI 系统可以充当任务管理器,帮助您使用自然语言处理在 TickTick 中管理待办事项和任务。
git clone https://github.com/ekkyarmandi/ticktick-mcp.git
cd ticktick-mcp
pip install -r requirements.txt
此 MCP 使用了 TickTick 的 OpenAPI 方案,需要通过 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
$ 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 服务器的功能以满足您的需求。