ticktick-mcp-server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Securely stores authentication tokens in a local .env file as part of the OAuth flow, handling token storage and automatic refreshing.

  • Provides source code hosting for the MCP server, allowing users to clone the repository to install the server.

  • Allows full interaction with a TickTick task management system, including viewing projects and tasks, creating new projects and tasks, updating task details, marking tasks as complete, and deleting tasks and projects.

TickTick MCP 服务器

TickTick 的模型上下文协议 (MCP)服务器,可通过 Claude 和其他 MCP 客户端直接与您的 TickTick 任务管理系统进行交互。

特征

  • 📋 查看您所有的 TickTick 项目和任务
  • ✏️通过自然语言创建新项目和任务
  • 🔄 更新现有任务详细信息(标题、内容、日期、优先级)
  • ✅ 将任务标记为完成
  • 🗑️ 删除任务和项目
  • 🔄 与 TickTick 的开放 API 完全集成
  • 🔌 与 Claude 和其他 MCP 客户端无缝集成

先决条件

  • Python 3.10 或更高版本
  • uv - 快速 Python 软件包安装程序和解析器
  • 具有 API 访问权限的 TickTick 帐户
  • TickTick API 凭证(客户端 ID、客户端密钥、访问令牌)

安装

  1. 克隆此存储库
    git clone https://github.com/parkjs814/ticktick-mcp.git cd ticktick-mcp
  2. 使用 uv 安装
    # Install uv if you don't have it already curl -LsSf https://astral.sh/uv/install.sh | sh # Create a virtual environment uv venv # Activate the virtual environment # On macOS/Linux: source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install the package uv pip install -e .
  3. 使用 TickTick 进行身份验证
    # Run the authentication flow uv run -m ticktick_mcp.cli auth
    这将:
    • 索取您的 TickTick 客户端 ID 和客户端密钥
    • 打开浏览器窗口登录TickTick
    • 自动将您的访问令牌保存到.env文件
  4. 测试您的配置
    uv run test_server.py
    这将验证您的 TickTick 凭证是否正常工作。

使用 TickTick 进行身份验证

此服务器使用 OAuth2 与 TickTick 进行身份验证。设置过程非常简单:

  1. TickTick 开发者中心注册您的应用程序
    • 将重定向 URI 设置为http://localhost:8000/callback
    • 记下您的客户端 ID 和客户端密钥
  2. 运行身份验证命令:
    uv run -m ticktick_mcp.cli auth
  3. 按照提示输入您的客户端 ID 和客户端密钥
  4. 将打开一个浏览器窗口,供您使用 TickTick 帐户授权该应用程序
  5. 授权后,您将被重定向回应用程序,并且您的访问令牌将自动保存到.env文件中

服务器会自动处理令牌刷新,因此除非您撤销访问权限或删除.env文件,否则无需重新进行身份验证。

与 Claude 桌面版一起使用

  1. 安装Claude 桌面版
  2. 编辑 Claude for Desktop 配置文件:macOS 系统
    nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
    窗户
    notepad %APPDATA%\Claude\claude_desktop_config.json
  3. 添加 TickTick MCP 服务器配置,使用绝对路径:
    { "mcpServers": { "ticktick": { "command": "<absolute path to uv>", "args": ["run", "--directory", "<absolute path to ticktick-mcp directory>", "-m", "ticktick_mcp.cli", "run"] } } }
  4. 重启 Claude 桌面版

连接后,您将看到 Claude 中可用的 TickTick MCP 服务器工具,由 🔨(工具)图标表示。

可用的 MCP 工具

工具描述参数
get_projects列出您所有的 TickTick 项目没有任何
get_project获取有关特定项目的详细信息project_id
get_project_tasks列出项目中的所有任务project_id
get_task获取有关特定任务的详细信息project_idtask_id
create_task创建新任务titleproject_idcontent (可选)、 start_date (可选)、 due_date (可选)、 priority (可选)
update_task更新现有任务task_idproject_idtitle (可选)、 content (可选)、 start_date (可选)、 due_date (可选)、 priority (可选)
complete_task将任务标记为完成project_idtask_id
delete_task删除任务project_idtask_id
create_project创建新项目namecolor (可选)、 view_mode (可选)
delete_project删除项目project_id

克劳德的示例提示

以下是连接 TickTick MCP 服务器后与 Claude 一起使用的一些示例提示:

  • “显示我所有的 TickTick 项目”
  • “在我的工作项目中创建一个名为‘完成 MCP 服务器文档’的高优先级新任务”
  • “列出我的个人项目中的所有任务”
  • “将‘购买杂货’任务标记为已完成”
  • “创建一个名为‘假期计划’的新项目,颜色为蓝色”
  • “我在 TickTick 的下一个截止日期是什么时候?”

发展

项目结构

ticktick-mcp/ ├── .env.template # Template for environment variables ├── README.md # Project documentation ├── requirements.txt # Project dependencies ├── setup.py # Package setup file ├── test_server.py # Test script for server configuration └── ticktick_mcp/ # Main package ├── __init__.py # Package initialization ├── authenticate.py # OAuth authentication utility ├── cli.py # Command-line interface └── src/ # Source code ├── __init__.py # Module initialization ├── auth.py # OAuth authentication implementation ├── server.py # MCP server implementation └── ticktick_client.py # TickTick API client

身份验证流程

该项目为TickTick实现了完整的OAuth 2.0流程:

  1. 初始设置:用户提供其 TickTick API 客户端 ID 和密钥
  2. 浏览器授权:用户被重定向到 TickTick 以授予访问权限
  3. 令牌接收:本地服务器接收带有授权码的 OAuth 回调
  4. 令牌交换:代码用于交换访问和刷新令牌
  5. 令牌存储:令牌安全地存储在本地.env文件中
  6. 令牌刷新:客户端在访问令牌过期时自动刷新访问令牌

通过以编程方式处理整个 OAuth 流程,这简化了用户体验。

贡献

欢迎贡献代码!欢迎提交 Pull 请求。

  1. 分叉存储库
  2. 创建你的功能分支( git checkout -b feature/amazing-feature
  3. 提交您的更改( git commit -m 'Add some amazing feature'
  4. 推送到分支( git push origin feature/amazing-feature
  5. 打开拉取请求

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

-
security - not tested
F
license - not found
-
quality - not tested

TickTick 的 MCP 服务器,可通过 Claude 和其他 MCP 客户端直接与您的 TickTick 任务管理系统进行交互。

  1. Features
    1. Prerequisites
      1. Installation
        1. Authentication with TickTick
          1. Usage with Claude for Desktop
            1. Available MCP Tools
              1. Example Prompts for Claude
                1. Development
                  1. Project Structure
                  2. Authentication Flow
                  3. Contributing
                2. License
                  ID: x6aytcdmvc