任务管理集成服务

TickTick MCP Server是一个任务管理集成服务,提供与TickTick任务管理服务的集成,支持任务和项目的列表、创建、更新、删除、完成等操作,并包含时区处理和多种认证方式。

  • by rafliruslan
  • JavaScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 rafliruslan/ticktick-mcp-server

使用说明

TickTick MCP服务器

提供与TickTick任务管理服务集成的模型上下文协议(MCP)服务器。

特性

  • 通过增强显示列出任务和项目(人类可读的优先级)
  • 创建、更新和删除任务
  • 将任务标记为已完成
  • 获取特定任务的详细信息
  • 时区处理,手动D+1调整,准确计算到期日
  • 使用可配置的时区偏移获取逾期任务
  • 通过适当的时区补偿获得今天的任务
  • OAuth和用户名/密码身份验证支持
  • 完全支持TypeScript,并具有适当的错误处理功能

设置

  1. 安装依赖项:
npm install
  1. 创建环境配置:
cp .env.example .env
  1. 在中配置身份验证 .env:

选项A:OAuth(推荐)

TICKTICK_ACCESS_TOKEN=your_oauth_access_token
TICKTICK_REFRESH_TOKEN=your_refresh_token
TICKTICK_CLIENT_ID=your_client_id
TICKTICK_CLIENT_SECRET=your_client_secret

选项B:用户名/密码

TICKTICK_USERNAME=your_ticktick_username
TICKTICK_PASSWORD=your_ticktick_password

有关OAuth设置,请参阅 OAUTH_SETUP.md 或使用助手:

node oauth-helper.js
  1. 构建项目:
npm run build

用法

发展

npm run dev

生产

npm start

可用工具

  • get_tasks -从特定项目获取所有任务或任务(具有增强的显示功能)
  • get_overdue_tasks -使用时区补偿获取逾期任务(可配置偏移,默认为UTC+8-根据您的时区进行调整)
  • get_todays_tasks -通过D+1时区调整获得今天到期的任务
  • get_projects -从TickTick获取所有项目
  • create_task -创建具有优先级、标签和截止日期的新任务
  • update_task -更新现有任务
  • delete_task -删除任务
  • complete_task -将任务标记为已完成
  • get_task -按ID获取特定任务

时区处理

此服务器包括 手动时区解决方法 处理TickTick的时区不一致:

  • D+1调整:截止日期会自动调整,增加1天以补偿时区差异
  • 可配置偏移: get_overdue_tasks 接受a timezoneOffsetHours 参数
    • 默认:8(UTC+8)- 根据您的时区更改此设置!
    • 例子:
      • timezoneOffsetHours: -5 EST(UTC-5)
      • timezoneOffsetHours: 0 对于UTC
      • timezoneOffsetHours: 9 对于JST(UTC+9)
      • timezoneOffsetHours: 1 CET(UTC+1)
  • 全天任务与定时任务:全天任务与特定时间任务的处理方式不同
  • 增强型显示器:任务包括人类可读的优先级文本(None, Low, Medium, High)

重要:默认时区偏移设置为UTC+8。请确保在呼叫时指定正确的时区偏移 get_overdue_tasks 以获得您所在位置的准确结果。

MCP集成

克劳德桌面(带克劳德桌面应用程序)

将此服务器添加到MCP客户端配置文件中:

地点: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)

{
  "mcpServers": {
    "ticktick": {
      "command": "node",
      "args": ["/path/to/ticktick-mcp-server/dist/index.js"],
      "env": {
        "TICKTICK_ACCESS_TOKEN": "your_oauth_token",
        "TICKTICK_REFRESH_TOKEN": "your_refresh_token",
        "TICKTICK_CLIENT_ID": "your_client_id",
        "TICKTICK_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

光标IDE

将此服务器添加到您的Cursor MCP配置中:

地点: 创建/编辑 .cursorrules 或MCP服务器的光标设置

{
  "mcp": {
    "servers": {
      "ticktick": {
        "command": "node",
        "args": ["/path/to/ticktick-mcp-server/dist/index.js"],
        "env": {
          "TICKTICK_ACCESS_TOKEN": "your_oauth_token",
          "TICKTICK_REFRESH_TOKEN": "your_refresh_token", 
          "TICKTICK_CLIENT_ID": "your_client_id",
          "TICKTICK_CLIENT_SECRET": "your_client_secret"
        }
      }
    }
  }
}

用户名/密码替代

{
  "env": {
    "TICKTICK_USERNAME": "your_username",
    "TICKTICK_PASSWORD": "your_password"
  }
}

许可证

麻省理工学院