Files

435 lines
19 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: tencent-docs
description: 腾讯文档,提供完整的腾讯文档操作能力。当用户需要操作腾讯文档时使用此skill,包括:(1) 创建各类在线文档(智能文档、Word、Excel、幻灯片、思维导图、流程图)(2) 查询、搜索文档空间与文件 (3) 管理空间节点、文件夹结构 (4) 读取文档内容 (5) 编辑操作智能表 (6)编辑操作智能文档。
homepage: https://docs.qq.com/home
metadata: {"openclaw":{"requires":{"env":["TENCENT_DOCS_TOKEN"]},"primaryEnv":"TENCENT_DOCS_TOKEN","category":"tencent","tencentTokenMode":"custom","tokenUrl":"https://docs.qq.com/open/document/mcp/get-token/","emoji":"📝"}}
---
# 腾讯文档 MCP 使用指南
腾讯文档 MCP 提供了一套完整的在线文档操作工具,支持创建、查询、编辑多种类型的在线文档。
## 📚 详细参考文档
如需查看每个工具的详细调用示例、参数说明和返回值说明,请参考:
- `references/api_references.md` - 包含所有工具的完整调用示例、参数说明、返回值说明及 API 结构、枚举值说明
- `references/smartsheet_references.md` - 智能表格(SmartSheet)专项参考文档,包含字段类型枚举、字段值格式参考、典型工作流示例及所有 `smartsheet.*` 工具的详细说明
- `references/smartcanvas_references.md` - 智能文档(SmartCanvas)专项参考文档,包含元素类型说明、富文本格式枚举、典型工作流示例及所有 `smartcanvas.*` 工具的详细说明
## ⚙️ 配置要求
根据你所使用的环境,选择对应的配置方式:
### ✅ 场景一:CodeBuddy / 其他 IDE(推荐)
**无需额外安装**,在 IDE 的 MCP 配置中添加腾讯文档服务即可直接使用。
**配置步骤:**
1. 访问 [https://docs.qq.com/open/auth/mcp.html](https://docs.qq.com/open/auth/mcp.html) 获取你的个人 Token
2. 在 IDE 的 MCP 配置中添加以下服务:
```json
{
"mcpServers": {
"tencent-docs": {
"url": "https://docs.qq.com/openapi/mcp",
"headers": {
"Authorization": "你的Token值"
}
}
}
}
```
> ⚠️ **重要**Header 的 key **必须**使用 `Authorization`,不能使用其他名称(如 `token`、`auth`、`X-Token` 等),否则鉴权将失败。
3. 配置完成后,即可在 IDE 中直接调用所有腾讯文档工具,无需任何额外步骤。
---
### 🔧 场景二:OpenClaw(需要安装)
在 OpenClaw 中使用时,需要先完成本地安装和注册。
**安装步骤:**
1. 访问 [https://docs.qq.com/open/auth/mcp.html](https://docs.qq.com/open/auth/mcp.html) 获取 Token,并配置环境变量:
```bash
export TENCENT_DOCS_TOKEN="你的Token值"
```
2. 运行 setup.sh 完成 MCP 服务注册:
```bash
bash setup.sh
```
> setup.sh 会自动将腾讯文档 MCP 服务注册到 mcporter,并验证配置是否成功。
> 如果未执行 setup,所有工具调用将无法找到 `tencent-docs` 服务。
3. 验证安装是否成功:
```bash
mcporter list | grep tencent-docs
```
> ⚠️ **如果用户未配置 Token**,请引导用户访问上方链接获取 Token,否则所有工具调用将返回鉴权失败。
---
## 🚨 错误码处理
### 常见错误码及解决方案
| 错误码 | 错误类型 | 解决方案 |
|--------|----------|----------|
| **400006** | **Token 鉴权失败** | 🔑 **检查 Token 配置**:确认 Header 的 key **必须**使用 `Authorization`;同时确认 Token 值正确,可访问 [https://docs.qq.com/open/auth/mcp.html](https://docs.qq.com/open/auth/mcp.html) 重新获取 |
| **400007** | **VIP权限不足** | ⭐ **立即升级VIP**:访问 [https://docs.qq.com/vip?immediate_buy=1](https://docs.qq.com/vip?immediate_buy=1) 购买VIP服务 |
## 🔧 调用方式
腾讯文档 MCP 的标准配置名称为 **`tencent-docs`**,通过内置 MCP Client 直接调用工具:
```
mcp: tencent-docs
tool: <工具名称>
arguments: { ... }
```
> ⚠️ **注意**`arguments` 必须是 **JSON 对象**,不能是字符串(即不能是 `"{ ... }"` 这样的字符串形式)。
### 支持的工具完整列表
> ⚠️ **以下工具列表仅供参考,实际可用工具以调用 `tools/list` 接口返回结果为准。**
>
> 获取最新工具列表:
> ```
> mcp: tencent-docs
> method: tools/list
> ```
| 工具名称 | MCP 调用格式 | 功能说明 |
|---------|-------------|---------|
| create_smartcanvas_by_markdown | `create_smartcanvas_by_markdown` | ⭐ 创建智能文档(首选) |
| create_excel_by_markdown | `create_excel_by_markdown` | 创建 Excel 表格 |
| create_slide_by_markdown | `create_slide_by_markdown` | 创建幻灯片 |
| create_mind_by_markdown | `create_mind_by_markdown` | 创建思维导图 |
| create_flowchart_by_mermaid | `create_flowchart_by_mermaid` | 创建流程图 |
| create_word_by_markdown | `create_word_by_markdown` | 创建 Word 文档 |
| query_space_node | `query_space_node` | 查询空间节点 |
| create_space_node | `create_space_node` | 创建空间节点 |
| delete_space_node | `delete_space_node` | 删除空间节点 |
| search_space_file | `search_space_file` | 搜索空间文件 |
| get_content | `get_content` | 获取文档内容 |
| batch_update_sheet_range | `batch_update_sheet_range` | 批量更新表格 |
| smartcanvas.* | 见下方第 4 节 | 智能文档元素操作(页面/文本/标题/待办事项),详见 `references/smartcanvas_references.md` |
| smartsheet.* | 见下方第 5 节 | 智能表格操作(工作表/视图/字段/记录),详见 `references/smartsheet_references.md` |
**详细调用示例请参考:`references/api_references.md`**
## ⭐ 重要:文档类型选择指南
> **首选推荐:智能文档(smartcanvas**
>
> - **新增文档**:优先使用 `create_smartcanvas_by_markdown` 创建智能文档,原因如下:
> - 📝 排版效果更美观,自动优化布局
> - 🎨 支持更丰富的格式(标题、段落、列表、表格、代码块、引用、图片等)
> - 📱 跨平台显示效果一致
> - **编辑已有文档**:使用 `smartcanvas.*` 系列工具对已有智能文档进行增删改查操作,详见 `references/smartcanvas_references.md`
### 文档类型选择决策树
```
需要创建什么类型的内容?
├─ 新增通用文档内容(报告、笔记、文章等)
│ └─ ✅ 使用 create_smartcanvas_by_markdown(首选)
├─ 编辑/追加已有智能文档内容
│ └─ ✅ 使用 smartcanvas.* 工具(详见 `references/smartcanvas_references.md`
├─ 数据表格(需要计算、筛选、统计)
│ └─ ✅ 使用 create_excel_by_markdown
├─ 演示文稿(需要逐页展示、投影演示)
│ └─ ✅ 使用 create_slide_by_markdown
├─ 层次化知识整理(知识图谱、大纲)
│ └─ ✅ 使用 create_mind_by_markdown
├─ 流程/架构展示(流程图、时序图)
│ └─ ✅ 使用 create_flowchart_by_mermaid
├─ 结构化数据管理(多视图、字段管理、看板)
│ └─ ✅ 使用 smartsheet.* 工具(详见 `references/smartsheet_references.md`
└─ 传统 Word 格式导出需求
└─ 使用 create_word_by_markdown(仅在明确需要时)
```
## 支持的文档类型
| 类型 | doc_type | 推荐度 | 说明 |
|------|----------|--------|------|
| **智能文档** | smartcanvas | ⭐⭐⭐ **首选** | 排版美观,支持丰富组件 |
| Excel | excel | ⭐⭐⭐ | 数据表格专用 |
| 幻灯片 | slide | ⭐⭐⭐ | 演示文稿专用 |
| 思维导图 | mind | ⭐⭐⭐ | 知识图谱专用 |
| 流程图 | flowchart | ⭐⭐⭐ | 流程展示专用 |
| Word | word | ⭐⭐ | 传统格式,排版一般 |
| 收集表 | form | ⭐⭐ | 表单收集 |
| 智能表格 | smartsheet | ⭐⭐⭐ | 高级结构化表格,支持多视图、字段管理 |
| 白板 | board | ⭐⭐ | 在线白板 |
## 工具列表
> 📖 所有工具的完整调用示例、参数说明和返回值说明,请查阅 `references/api_references.md`
>
> ⚠️ **此 skill 中的工具列表仅作使用指导,实际可用工具以调用 `tools/list` 接口返回结果为准。** 如遇工具不存在或参数不符,请先执行 `tools/list` 获取最新工具定义。
### 1. 创建文档类
#### ⭐ create_smartcanvas_by_markdown(首选)
**通用文档首选工具**,通过 Markdown 创建智能文档,排版美观,支持所有 Markdown 基本结构。
**适用场景**
- 📄 文档、报告、笔记、文章
- 📋 会议纪要、方案说明
- 📚 技术文档、教程
- 🗒️ 任何需要美观排版的内容
**支持 `parent_id` 参数**:可指定父节点 ID,将文档创建到指定目录下;不填则在根目录创建。
> 📖 调用示例请参考:`references/api_references.md` - create_smartcanvas_by_markdown
#### create_excel_by_markdown
通过 Markdown 表格创建 Excel,适用于需要数据计算、筛选的场景。
**适用场景**:数据报表、统计表格、需要公式计算的场景
**支持 `parent_id` 参数**:可指定父节点 ID,将文档创建到指定目录下;不填则在根目录创建。
> 📖 调用示例请参考:`references/api_references.md` - create_excel_by_markdown
#### create_slide_by_markdown
通过 Markdown 创建幻灯片,遵循特定层级结构(`#` 主标题 → `##` 章节 → `###` 页面 → `-` 段落 → 缩进子项正文)。
**适用场景**:演示文稿、项目汇报、培训材料
**支持 `parent_id` 参数**:可指定父节点 ID,将文档创建到指定目录下;不填则在根目录创建。
> 📖 调用示例请参考:`references/api_references.md` - create_slide_by_markdown
#### create_mind_by_markdown
通过 Markdown 创建思维导图,使用标题层级和列表嵌套表示结构。
**适用场景**:知识图谱、大纲整理、头脑风暴
**支持 `parent_id` 参数**:可指定父节点 ID,将文档创建到指定目录下;不填则在根目录创建。
> 📖 调用示例请参考:`references/api_references.md` - create_mind_by_markdown
#### create_flowchart_by_mermaid
通过 Mermaid 语法创建流程图,mermaid 字段内容必须全部使用英文。
**适用场景**:流程图、时序图、架构图
**支持 `parent_id` 参数**:可指定父节点 ID,将文档创建到指定目录下;不填则在根目录创建。
> 📖 调用示例请参考:`references/api_references.md` - create_flowchart_by_mermaid
#### create_word_by_markdown
通过 Markdown 创建 Word 文档。**注意:仅在用户明确要求 Word 格式时使用,否则请使用 smartcanvas**。
**支持 `parent_id` 参数**:可指定父节点 ID,将文档创建到指定目录下;不填则在根目录创建。
> 📖 调用示例请参考:`references/api_references.md` - create_word_by_markdown
### 2. 空间管理类
#### query_space_node
查询空间节点树结构,获取文件夹和文档列表。支持分页,每页返回 20 条。
> 📖 调用示例请参考:`references/api_references.md` - query_space_node
#### create_space_node
在空间中创建新节点,支持创建文件夹(`wiki_folder`)、在线文档(`wiki_tdoc`)、链接(`link`)。
> 📖 调用示例请参考:`references/api_references.md` - create_space_node
#### search_space_file
在空间内搜索文档,支持按关键词匹配标题和内容,支持分页,每页返回 40 条。
> ⚠️ 注意:仅能搜索到文档类节点(word、excel、slide 等),无法搜索文件夹;如需查找文件夹,请使用 `query_space_node` 遍历节点树。
> 📖 调用示例请参考:`references/api_references.md` - search_space_file
#### delete_space_node
删除空间中的指定节点,支持两种删除模式。
**删除类型(remove_type**
- `current`(默认):仅删除当前节点,子节点自动挂载到上级节点
- `all`:删除当前节点及其所有子节点(⚠️ 谨慎使用,会递归删除所有子节点)
> 📖 调用示例请参考:`references/api_references.md` - delete_space_node
### 3. 文档操作类
#### get_content
获取文档完整内容,传入 `file_id` 返回文档正文文本。
> 📖 调用示例请参考:`references/api_references.md` - get_content
#### batch_update_sheet_range
批量更新表格单元格内容(仅适用于 Excel),数据从表格末尾追加,不覆盖已有内容。
> 📖 调用示例请参考:`references/api_references.md` - batch_update_sheet_range
#### smartcanvas.create_smartcanvas_element
在已有智能文档中新增元素,支持添加页面(Page)、文本(Text)、标题(Heading)、待办事项(Task)等多种类型元素。
**元素层级约束**
- `Text``Task``Heading` 必须挂载在 `Page` 类型父节点下(`parent_id` 必填)
- `Page` 可不指定父节点,插入到根节点
- 父节点不支持为 `Heading` 类型
> 📖 完整说明请参考:`references/smartcanvas_references.md` - smartcanvas.create_smartcanvas_element
#### smartcanvas.get_element_info
批量查询指定元素的详细信息,支持同时查询多个元素的内容、类型、父子关系等。
> 📖 完整说明请参考:`references/smartcanvas_references.md` - smartcanvas.get_element_info
#### smartcanvas.get_page_info
查询指定页面内的所有元素,支持分页获取。使用 `cursor` 参数进行分页,`is_over=true` 表示已获取全部内容。
> 📖 完整说明请参考:`references/smartcanvas_references.md` - smartcanvas.get_page_info
#### smartcanvas.get_top_level_pages
查询文档的所有顶层页面列表,返回根节点下的直接子页面,用于了解文档目录结构。
> 📖 完整说明请参考:`references/smartcanvas_references.md` - smartcanvas.get_top_level_pages
#### smartcanvas.update_element
批量修改元素内容,支持同时更新多个元素的文本、格式、标题级别、页面标题等属性。
> 📖 完整说明请参考:`references/smartcanvas_references.md` - smartcanvas.update_element
#### smartcanvas.delete_element
批量删除元素,支持同时删除多个指定元素。
> ⚠️ 删除 Page 元素时,其下所有子元素也会被一并删除,请谨慎操作。
> 📖 完整说明请参考:`references/smartcanvas_references.md` - smartcanvas.delete_element
#### smartcanvas.append_insert_smartcanvas_by_markdown
通过 Markdown 文本向已有智能文档追加内容,内容追加到文档末尾。
> 📖 完整说明请参考:`references/smartcanvas_references.md` - smartcanvas.append_insert_smartcanvas_by_markdown
### 4. 智能文档(SmartCanvas)元素操作类
智能文档支持对页面、文本、标题、待办事项等元素进行完整的增删改查操作,共 7 个工具(`smartcanvas.*`)。
> 📖 **所有工具的完整说明(使用场景、元素类型定义、枚举值、参数示例)请查阅:`references/smartcanvas_references.md`**
>
> 包含:元素新增、元素查询、页面内容查询、顶层页面查询、元素修改、元素删除、Markdown 追加,以及标题级别枚举、颜色枚举、富文本格式说明、典型工作流示例。
### 5. 智能表格(SmartSheet)操作类
智能表格支持对工作表、视图、字段、记录进行完整的增删改查操作,共 12 个工具(`smartsheet.*`)。
> 📖 **所有工具的完整说明(使用场景、字段定义、枚举值、参数示例)请查阅:`references/smartsheet_references.md`**
>
> 包含:工作表操作、视图操作、字段操作、记录操作,以及字段类型枚举、字段值格式参考、典型工作流示例。
## 常见工作流
### 创建通用文档(推荐方式)
```
1. 优先调用 create_smartcanvas_by_markdown 创建智能文档
2. 从返回结果中获取 file_id 和 url
```
### 编辑已有智能文档
```
1. 调用 smartcanvas.get_top_level_pages 获取文档页面结构
2. 按需调用 smartcanvas.* 工具进行增删改查:
- 追加内容:smartcanvas.append_insert_smartcanvas_by_markdownMarkdown 方式)
- 新增元素:smartcanvas.create_smartcanvas_element
- 查询元素:smartcanvas.get_element_info / smartcanvas.get_page_info
- 修改元素:smartcanvas.update_element
- 删除元素:smartcanvas.delete_element
```
### 组织文档到指定目录
1. 调用 `query_space_node` 查找目标文件夹
2. 调用 `create_space_node` 在目标位置创建文档节点(doc_type 优先选择 smartcanvas
### 搜索并读取文档
1. 调用 `search_space_file` 搜索文档
2. 从结果中获取 `node_id`(即 `file_id`
3. 调用 `get_content` 获取文档内容
### 智能表格操作工作流
#### 从零搭建任务管理表
```
1. 获取工作表列表 → smartsheet.list_tables(获取 sheet_id
2. 添加字段(列)→ smartsheet.add_fields(任务名称、优先级、截止日期等)
3. 批量写入数据 → smartsheet.add_records
4. (可选)创建看板视图 → smartsheet.add_viewview_type=2
```
#### 查询并更新数据
```
1. 获取工作表 → smartsheet.list_tables
2. 查询记录 → smartsheet.list_records(获取 record_id
3. 更新记录 → smartsheet.update_records(传入 record_id 和新字段值)
```
> 📖 更多智能表格工作流示例请参考:`references/smartsheet_references.md` - 典型工作流示例
## 注意事项
- **默认使用 smartcanvas**:除非用户明确指定其他格式,否则**新增文档**时优先使用 `create_smartcanvas_by_markdown`**编辑已有智能文档**时使用 `smartcanvas.*` 系列工具
- **创建文档时支持 `parent_id`**:所有 `create_*_by_markdown``create_flowchart_by_mermaid` 工具均支持 `parent_id` 参数,可将文档直接创建到指定目录;不填则在根目录创建
- **删除节点**`delete_space_node` 默认仅删除当前节点(`remove_type=current`),使用 `all` 时会递归删除所有子节点,需谨慎
- Markdown 内容使用 UTF-8 格式,特殊字符无需转义
- 幻灯片必须遵循层级结构,每页包含 2-4 个段落标题
- 分页查询每页返回 20-40 条记录,使用 `has_next` 判断是否有更多
- `node_id` 同时也是文档的 `file_id`
- `create_flowchart_by_mermaid` 的 mermaid 内容必须全部使用英文
- **智能文档元素操作**`Text``Heading``Task` 必须挂载在 `Page` 下,`parent_id` 必须为 Page 类型元素 ID;操作前先调用 `smartcanvas.get_top_level_pages` 获取页面结构
- **智能文档分页查询**`smartcanvas.get_page_info` 使用 `cursor` 分页,`is_over=true` 表示已获取全部内容
- **智能文档删除注意**:删除 Page 元素时,其下所有子元素也会被一并删除
- **智能表格操作**:所有 smartsheet.* 工具都需要 `file_id``sheet_id`,操作前先调用 `smartsheet.list_tables` 获取 sheet_id
- **字段类型不可更新**`update_fields` 时 field_type 不能修改,但必须传入原值
- **记录字段值格式**:不同字段类型的值格式不同,详见 `references/smartsheet_references.md` - 字段值格式参考