npm package: @iflow-mcp/dida365-mcp-servers
Description: 滴答清单 MCP 服务器
Author: Your Name
Latest version: 1.0.6

# 滴答清单 MCP 服务

这是一个为滴答清单（TickTick/Dida365）开发的 Model Context Protocol (MCP) 服务器，使用 TypeScript 编写。该服务允许 AI 助手通过标准化接口与滴答清单 API 进行交互。

## 功能特性

- ✅ 创建、读取、更新、删除任务
- ✅ 管理项目和项目列表
- ✅ 支持任务优先级和截止日期
- ✅ 通过环境变量安全配置 API Token
- ✅ 完整的 TypeScript 类型支持
- ✅ 错误处理和API响应验证

## 快速开始

### 使用MCP (Node版本)

#### DIDA官方获取token

[OpenAPI - API Doc](https://developer.dida365.com/docs/index.html#/openapi?id=get-access-token)

#### 下载

```
npm i dida365-mcp-servers
```

##### 配置json文件

```json
    "dida365": {
      "command": "node",
      "args": [
 			//your download path ; example:C:\\nvm4w\\nodejs\\node_modules\\dida365-mcp-servers\\dist
      ],
      "env": {
        "DIDA365_TOKEN": your TOKEN
      }
    }
```



### 使用本地

### 1. 安装依赖

```bash
npm install
```

### 2. 配置环境变量

复制示例环境变量文件：

```bash
cp .env.example .env
```

编辑 `.env` 文件，添加你的滴答清单 API Token：

```bash
DIDA365_TOKEN=Bearer your_token_here
```

### 3. 获取 API Token

1. 访问 [滴答清单开放平台](https://developer.dida365.com/)
2. 登录你的滴答清单账号
3. 创建新应用
4. 获取访问令牌（Access Token）
5. 将令牌添加到 `.env` 文件中

### 4. 构建和运行

开发模式：

```bash
npm run dev
```

生产模式：

```bash
npm run build
npm start
```

## 可用工具

### 任务管理

#### `create_task` - 创建新任务
- **参数**:
  - `title` (string, 必需): 任务标题
  - `projectId` (string, 必需): 项目ID
  - `content` (string): 任务内容描述
  - `dueDate` (string): 截止日期 (ISO 8601格式)
  - `priority` (number): 优先级 (0-5)

#### `get_task_by_projectId_and_taskId` - 通过项目ID和任务ID获取任务
- **参数**:
  - `projectId` (string, 必需): 项目ID
  - `taskId` (string, 必需): 任务ID

#### `get_tasks_by_projectId` - 通过项目ID获取项目中的任务列表
- **参数**:
  - `projectId` (string, 必需): 项目ID

#### `update_task` - 更新任务
- **参数**:
  - `taskId` (string, 必需): 任务ID
  - `title` (string): 任务标题
  - `content` (string): 任务内容
  - `dueDate` (string): 截止日期
  - `priority` (number): 优先级
  - `status` (number): 任务状态 (0: 未完成, 1: 已完成)

#### `delete_task` - 删除任务
- **参数**:
  - `taskId` (string, 必需): 任务ID
  - `projectId` (string, 必需): 项目ID

#### `complete_task` - 完成任务
- **参数**:
  - `taskId` (string, 必需): 任务ID
  - `projectId` (string, 必需): 项目ID

### 项目管理

#### `get_projects` - 获取项目列表
- **参数**: 无

#### `get_project_by_projectId` - 根据项目ID获取项目
- **参数**:
  - `projectId` (string, 必需): 项目ID

#### `create_project` - 创建新项目
- **参数**:
  - `name` (string, 必需): 项目名称
  - `color` (string): 项目颜色, 例如 "#F18181"
  - `sortOrder` (integer): 排序值, 默认为0
  - `viewMode` (string): 视图模式 ("list", "kanban", "timeline")
  - `kind` (string): 项目类型 ("TASK", "NOTE")

#### `update_project_by_projectID` - 根据projectId更新项目
- **参数**:
  - `projectId` (string, 必需): 项目ID
  - `name` (string): 项目名称
  - `color` (string): 项目颜色
  - `sortOrder` (integer): 排序值, 默认为0
  - `viewMode` (string): 视图模式 ("list", "kanban", "timeline")
  - `kind` (string): 项目类型 ("TASK", "NOTE")

#### `update_project_by_projectID` - 根据projectId删除项目
- **参数**:
  - `projectId` (string, 必需): 项目ID

## 可用资源

### `dida365://tasks`

获取所有任务的JSON格式概览

### `dida365://projects`

获取所有项目的JSON格式概览

## 项目结构

```
├── src/
│   └── index.ts          # 主服务器文件
├── dist/                 # 编译输出目录
├── .env.example          # 环境变量示例
├── package.json          # 项目配置
├── tsconfig.json        # TypeScript 配置
└── README.md            # 项目文档
```

## API 接口说明

本服务使用滴答清单官方 API：

- 基础URL: `https://api.dida365.com/open/v1`
- 认证方式: Bearer Token
- 请求格式: JSON
- 官方文档: https://developer.dida365.com/api#/openap

## 错误处理

服务包含完整的错误处理机制：

- API 调用失败时返回详细错误信息
- 网络错误和超时处理
- 参数验证和类型检查
- Token 验证

## 开发说明

## 贡献

欢迎提交 Issue 和 Pull Request！