Ticktick Mcp

Ticktick Mcp

🚀 咔嗒任务 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 开发者门户注册应用:

  1. 访问 TickTick 开发文档
  2. 点击右上角的 Manage Apps 并使用您的 TickTick 资格登录
  3. 点击 +App Name 按钮新建一个应用
  4. 为您的应用输入一个名称(唯一必填字段)
  5. 应用创建后,您将能够看到您的 Client IDClient Secret
  6. 对于 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 服务器设计为与任何支持相同命令的客户端兼容。要创建自定义命令,请按照以下步骤操作:

  1. 定义新函数。
  2. server.py 中注册该函数。
def custom_function():
# 实现功能
pass

if __name__ == "__main__":
register_command("custom_function", custom_function)

通过遵循这些步骤,您可以轻松扩展 MCP 服务器的功能以满足您的需求。

  • 0 关注
  • 0 收藏,7 浏览
  • system 提出于 2025-09-29 03:27

相似服务问题