mcpField
D
Dida MCP Server

Dida MCP Server

本地服务
github.com/zhongwencool生产力1036 周前更新

关于 Dida MCP Server

Dida MCP Server 通过 TickTick/Dida365 API 管理任务、项目和标签,供 AI 助手整理日程与待办事项。它包含基于 GTD 的内置提示词,并支持批量任务操作。

主要功能

  1. 01创建、查询、更新和删除任务
  2. 02管理项目并移动任务
  3. 03批量更新、删除和移动任务
  4. 04OAuth 与用户名密码认证
  5. 05内置 GTD 整理提示词
  6. 06缓存项目与标签数据

适用场景

  1. 01在 TickTick/Dida365 中维护任务和项目
  2. 02批量整理或移动待办任务
  3. 03按 GTD 方法处理收件箱任务
  4. 04查看缓存的项目与标签数据

MCP 相关

该 MCP 服务向兼容客户端提供 TickTick/Dida365 的任务、项目、认证和缓存数据工具,并附带 GTD 相关提示词。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Dida MCP 服务

用于与 TickTick/Dida365 任务管理服务交互的模型上下文协议(MCP)服务。此服务通过 TickTick API 提供用于管理任务、项目和标签的工具。

许可证:ISC

概览

Dida MCP 服务基于模型上下文协议框架构建,可让 AI 助手与您的 TickTick/Dida365 账户交互。它提供了一套全面的任务和项目管理工具,让 AI 助手能够根据 GTD(搞定)原则帮助整理任务。

功能

  • 身份验证:通过 OAuth 对 TickTick/Dida365 API 进行身份验证
  • 任务管理:创建、读取、更新、删除和移动任务
  • 项目管理:创建、读取、更新和删除项目
  • 批量操作:高效地一次管理多个任务
  • GTD 助手:内置用于基于 GTD 整理任务的系统提示词
  • 缓存数据:高效缓存项目和标签数据

先决条件

  • Node.js(v16 或更高版本)
  • npm(v7 或更高版本)
  • TickTick/Dida365 账户
  • 从 Dida365 开发者中心获取的客户端 ID 和客户端密钥(用于 OAuth 身份验证)

安装

选项 1:从 npm 安装(推荐)
# Install globally
npm install -g dida-mcp-server

# Or install locally in your project
npm install dida-mcp-server
选项 2:从源代码安装
# Clone the repository
git clone https://github.com/zhongwencool/dida-mcp-server.git
cd dida-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

身份验证

使用服务之前,您需要通过 TickTick/Dida365 进行身份验证。服务支持两种身份验证方式:

  1. OAuth 身份验证(V1 API):使用带有 OAuth 令牌的 Dida365 Open API
  2. 用户名/密码身份验证(V2 API):使用带有会话令牌的内部 API
使用 get-access-token

get-access-token 脚本可处理两个 API 版本的身份验证流程。使用方法如下:

# If installed globally
dida-get-token

# If installed locally or from source
npm run get-token

脚本将:

  1. 提示您输入 TickTick/Dida365 用户名和密码(用于 V2 API)
  2. 提示您输入客户端 ID 和客户端密钥([用于 V1 API OAuth])
  3. 在端口 3000 上启动本地服务,以处理 OAuth 回调
  4. 打开浏览器以授权应用程序
  5. 将授权码交换为访问令牌
  6. 将两个令牌保存到配置文件 ~/.dida-mcp-config.json 中
  7. 显示包含令牌信息和 MCP 服务配置的成功页面
OAuth 身份验证的先决条件

要使用 OAuth 身份验证,您需要:

  1. 在 Dida365 开发者中心注册应用程序
  2. 将重定向 URI 设置为 http://localhost:3000/oauth/callback
  3. 获取客户端 ID 和客户端密钥
配置文件

身份验证流程会在 ~/.dida-mcp-config.json 创建配置文件,结构如下:

{
  "access_token": "your-v1-oauth-token",
  "refresh_token": "your-refresh-token",
  "expires_at": 1234567890000,
  "token_type": "bearer",
  "v2_access_token": "your-v2-session-token",
  "inboxId": "your-inbox-project-id"
}

服务启动时会自动检测并使用此文件。

使用方法

启动服务
# If installed globally
dida-mcp-server

# If installed locally or from source
npm start

服务会自动尝试使用已存储的令牌进行身份验证,并显示身份验证状态。

使用 MCP 客户端连接

您可以使用任何兼容 MCP 的客户端连接到服务。服务提供的配置可添加到 MCP 客户端配置中:

{
  "mcpServers": {
    "dida": {
      "command": "dida-mcp-server"
    }
  }
}

如果您是在本地安装的,也可以使用:

{
  "mcpServers": {
    "dida": {
      "command": "node",
      "args": [
        "/path/to/node_modules/dida-mcp-server/dist/index.js"
      ]
    }
  }
}

可用工具

身份验证工具
  • check-auth-status:检查当前身份验证状态
项目管理工具
  • list-projects:获取所有项目
  • create-project:创建新项目
  • update-project:更新现有项目
  • delete-project:删除项目
  • refresh-project-cache:手动刷新项目缓存
任务管理工具
  • list-tasks:获取项目中的任务(默认为收集箱)
  • create-task:创建新任务
  • get-task:按 ID 获取特定任务
  • update-task:更新任务
  • batch-update-tasks:一次更新多个任务
  • complete-task:将任务标记为已完成
  • delete-task:删除任务
  • batch-delete-tasks:一次删除多个任务
  • move-task:将任务移至其他项目
  • batch-move-tasks:将多个任务移至其他项目
数据查询工具
  • list-cached-data:查看缓存的项目和标签数据

系统提示词

该服务包含两个内置提示词:

  1. GTD 助手提示词:提供如何使用这些工具实施 GTD 方法的指导
  2. 处理收集箱提示词:帮助按照 GTD 原则整理收集箱任务的用户级提示词

开发

在开发模式下运行
npm run dev

这将以监视模式启动服务,在发生更改时自动重新编译并重启。

运行测试
npm test

也可以在监视模式下运行测试:

npm run test:watch

项目结构

├── dist/              # Compiled JavaScript files
├── src/
│   ├── auth/           # Authentication-related code
│   ├── projects/       # Project management tools
│   ├── resources/      # Resource definitions (cached data)
│   ├── tasks/          # Task management tools
│   ├── types/          # TypeScript type definitions
│   ├── utils/          # Utility functions
│   ├── config.ts       # Configuration management
│   ├── get-access-token.ts  # Token acquisition script
│   ├── index.ts        # Main server entry point
│   └── systemPrompt.ts # GTD assistant system prompt
├── tests/              # Test files
├── package.json        # Project metadata and dependencies
├── LICENSE             # ISC License file
└── tsconfig.json      # TypeScript configuration

API 文档

本项目使用 Dida365 Open API。更多信息,请参阅 Dida365 Open API 文档。

许可证

ISC

发布到 NPM

要将软件包发布到 NPM,请按以下步骤操作:

# Login to npm (if not already logged in)
npm login

# Build the project
npm run build

# Test the package
npm test

# Publish to npm
npm publish

要更新软件包:

  1. 更新 package.json 中的版本
  2. 运行 npm publish

参与贡献

欢迎贡献!欢迎提交 Pull Request。

致谢

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。