# 腾讯文档 MCP 工具完整参考 本文件包含腾讯文档 MCP 所有工具的通用 API 说明、详细调用示例、参数说明和返回值说明。 --- ## 通用说明 ### 响应结构 所有 API 返回都包含: - `error`: 错误信息(成功时为空) - `trace_id`: 调用链追踪 ID ### node_type 枚举值 | 值 | 说明 | |---|---| | wiki_folder | 文件夹 | | wiki_tdoc | 在线文档(请求时使用) | | wiki_file | 在线文档(返回值中使用) | | link | 链接 | | resource | 资源文件 | ### doc_type 枚举值 | 值 | 说明 | |---|---| | word | 文字处理文档 | | excel | 电子表格 | | form | 收集表 | | slide | 幻灯片 | | smartcanvas | 智能文档 | | smartsheet | 智能表格 | | board | 白板 | | mind | 思维导图 | | flowchart | 流程图 | ### NodeInfo 节点信息结构 ```json { "node_id": "节点 ID,同时也是 file_id", "title": "节点标题", "node_type": "节点类型", "has_child": true, "doc_type": "文档类型(仅 wiki_file 有效)", "url": "访问链接" } ``` ### StringMatrix 表格数据结构 ```json { "texts": { "rows": [ {"values": ["单元格1", "单元格2"]}, {"values": ["单元格3", "单元格4"]} ] } } ``` 数据从 A1 单元格开始,按行列顺序填充。 ### 分页说明 - `query_space_node`:每页 20 条 - `search_space_file`:每页 40 条 - 使用 `has_next` 判断是否有更多数据 - 页码从 0 开始 --- ## 工具调用示例 ## 1. create_smartcanvas_by_markdown ### 功能说明 通过 Markdown 格式创建智能文档,排版美观,支持所有 Markdown 基本结构。 ### 调用示例 ```json { "title": "项目需求文档", "markdown": "# 项目需求\n\n## 项目背景\n\n本项目旨在开发一套智能文档管理系统...\n\n## 功能需求\n\n- 文档创建功能\n- 文档编辑功能\n- 协作功能\n\n## 技术架构\n\n| 组件 | 技术选型 |\n|------|----------|\n| 前端 | React |\n| 后端 | Go |\n| 数据库 | MySQL |", "parent_id": "folder_1234567890" } ``` ### 参数说明 - `title` (string, 必填): 文档标题 - `markdown` (string, 必填): UTF-8 格式的 Markdown 文本 - `parent_id` (string, 可选): 父节点ID,为空时在空间根目录创建,不为空时在指定节点下创建 ### 返回值说明 ```json { "file_id": "doc_1234567890", "url": "https://docs.qq.com/doc/DV2h5cWJ0R1lQb0lH", "error": "", "trace_id": "trace_1234567890" } ``` ## 2. create_excel_by_markdown ### 功能说明 通过 Markdown 表格创建 Excel,适用于需要数据计算、筛选的场景。 ### 调用示例 ```json { "title": "销售数据报表", "markdown": "| 日期 | 产品 | 销售额 | 销售量 |\n|------|------|--------|--------|\n| 2024-01-01 | 产品A | 10000 | 100 |\n| 2024-01-02 | 产品B | 15000 | 150 |", "parent_id": "folder_1234567890" } ``` ### 参数说明 - `title` (string, 必填): 表格标题 - `markdown` (string, 必填): 包含表格的 Markdown 文本 - `parent_id` (string, 可选): 父节点ID,为空时在空间根目录创建,不为空时在指定节点下创建 ### 返回值说明 ```json { "file_id": "sheet_1234567890", "url": "https://docs.qq.com/sheet/DV2h5cWJ0R1lQb0lH", "error": "", "trace_id": "trace_1234567890" } ``` ## 3. create_slide_by_markdown ### 功能说明 通过 Markdown 创建幻灯片,遵循特定层级结构。 ### Markdown 层级结构规范 PPT 必须遵循严格的层级结构: ``` # 一级标题 → PPT 主标题(整个演示文稿的标题) ## 二级标题 → 章节标题(区分不同主题章节) ### 三级标题 → 页面标题(每个幻灯片的标题) - 列表项 → 段落标题(每页 2-4 个) - 子列表项 → 正文内容(每段约 200 字) ``` ### 调用示例 ```json { "title": "项目汇报", "markdown": "# 项目汇报\n\n## 项目背景\n\n### 项目概述\n\n- 项目目标\n - 本项目旨在开发一套智能文档管理系统,提升团队协作效率\n- 项目范围\n - 系统将涵盖文档创建、编辑、协作等功能\n\n### 市场分析\n\n- 市场需求\n - 当前市场对智能文档管理系统的需求日益增长\n- 竞争分析\n - 现有竞品在功能完整性方面存在不足", "parent_id": "folder_1234567890" } ``` ### 参数说明 - `title` (string, 必填): 幻灯片标题 - `markdown` (string, 必填): 遵循幻灯片层级结构的 Markdown 文本 - `parent_id` (string, 可选): 父节点ID,为空时在空间根目录创建,不为空时在指定节点下创建 ### 返回值说明 ```json { "file_id": "slide_1234567890", "url": "https://docs.qq.com/slide/DV2h5cWJ0R1lQb0lH", "error": "", "trace_id": "trace_1234567890" } ``` ## 4. create_mind_by_markdown ### 功能说明 通过 Markdown 创建思维导图,使用标题层级和列表嵌套表示结构。 ### 调用示例 ```json { "title": "产品功能规划", "markdown": "# 产品功能规划\n\n## 核心功能\n\n- 文档管理\n - 创建文档\n - 编辑文档\n - 版本控制\n\n## 协作功能\n\n- 实时协作\n- 评论系统\n- 权限管理", "parent_id": "folder_1234567890" } ``` ### 参数说明 - `title` (string, 必填): 思维导图标题 - `markdown` (string, 必填): 层次化的 Markdown 文本 - `parent_id` (string, 可选): 父节点ID,为空时在空间根目录创建,不为空时在指定节点下创建 ### 返回值说明 ```json { "file_id": "mind_1234567890", "url": "https://docs.qq.com/mind/DV2h5cWJ0R1lQb0lH", "error": "", "trace_id": "trace_1234567890" } ``` ## 5. create_flowchart_by_mermaid ### 功能说明 通过 Mermaid 语法创建流程图。 ### 调用示例 ```json { "title": "用户登录流程", "mermaid": "graph TD\n A[User Access] --> B{Logged in?}\n B -->|Yes| C[Go to Home]\n B -->|No| D[Go to Login Page]\n D --> E[Enter Username and Password]\n E --> F{Auth Success?}\n F -->|Yes| C\n F -->|No| G[Show Error Message]\n G --> E", "parent_id": "folder_1234567890" } ``` ### 参数说明 - `title` (string, 必填): 流程图标题 - `mermaid` (string, 必填): 不包含中文的 Mermaid 语法文本 - `parent_id` (string, 可选): 父节点ID,为空时在空间根目录创建,不为空时在指定节点下创建 ### 返回值说明 ```json { "file_id": "flow_1234567890", "url": "https://docs.qq.com/flow/DV2h5cWJ0R1lQb0lH", "error": "", "trace_id": "trace_1234567890" } ``` ## 6. create_word_by_markdown ### 功能说明 通过 Markdown 创建 Word 文档。 ### 调用示例 ```json { "title": "技术文档", "markdown": "# 技术文档\n\n## 系统架构\n\n本文档描述系统的技术架构设计...\n\n## 数据库设计\n\n| 表名 | 说明 |\n|------|------|\n| users | 用户表 |\n| documents | 文档表 |", "parent_id": "folder_1234567890" } ``` ### 参数说明 - `title` (string, 必填): Word 文档标题 - `markdown` (string, 必填): UTF-8 格式的 Markdown 文本 - `parent_id` (string, 可选): 父节点ID,为空时在空间根目录创建,不为空时在指定节点下创建 ### 返回值说明 ```json { "file_id": "word_1234567890", "url": "https://docs.qq.com/doc/DV2h5cWJ0R1lQb0lH", "error": "", "trace_id": "trace_1234567890" } ``` ## 7. query_space_node ### 功能说明 查询空间节点树结构,获取文件夹和文档列表。 ### 调用示例 ```json { "parent_id": "folder_1234567890", "num": 0 } ``` ### 参数说明 - `parent_id` (string, 可选): 父节点ID,为空时返回根节点 - `num` (uint32, 可选): 分页页码,从0开始,每页返回20个节点 ### 返回值说明 ```json { "children": [ { "node_id": "doc_1234567890", "title": "项目文档", "node_type": "wiki_file", "has_child": false, "doc_type": "smartcanvas", "url": "https://docs.qq.com/doc/DV2h5cWJ0R1lQb0lH" } ], "error": "", "has_next": false, "trace_id": "trace_1234567890" } ``` ## 8. create_space_node ### 功能说明 在空间中创建新节点(文件夹、文档或链接)。 ### 调用示例 ```json { "parent_node_id": "folder_1234567890", "title": "新建页面文档1", "node_type": "wiki_tdoc", "wiki_tdoc_node": { "title": "新建页面文档", "doc_type": "smartcanvas" } } ``` ### 参数说明 - `parent_node_id` (string, 可选): 父节点ID,为空或在根目录创建时可不传 - `title` (string, 必填): 节点标题 - `node_type` (string, 必填): 节点类型(wiki_folder/wiki_tdoc/link) - `is_before` (bool, 可选): 插入位置,true 表示插入到父节点子列表开头,false 表示插入到末尾 - `wiki_folder_node` (object, 可选): 文件夹节点配置,node_type 为 wiki_folder 时必填 - `wiki_tdoc_node` (object, 可选): 在线文档节点配置,node_type 为 wiki_tdoc 时必填 - `link_node` (object, 可选): 链接节点配置,node_type 为 link 时必填 ### 返回值说明 ```json { "node_info": { "node_id": "doc_1234567890", "title": "新建页面文档", "node_type": "wiki_file", "has_child": false, "doc_type": "smartcanvas", "url": "https://docs.qq.com/doc/DV2h5cWJ0R1lQb0lH" }, "error": "", "trace_id": "trace_1234567890" } ``` ## 9. delete_space_node ### 功能说明 删除空间中的指定节点。仅删除当前节点时,子节点自动挂载到上级节点;使用 `all` 模式时递归删除所有子节点(谨慎使用)。 ### 调用示例 ```json { "node_id": "doc_1234567890", "remove_type": "current" } ``` ### 参数说明 - `node_id` (string, 必填): 要删除的节点ID - `remove_type` (string, 可选): 删除类型,枚举值:`current`(默认,仅删除当前节点,子节点挂载到上级)、`all`(删除当前节点及所有子节点,⚠️ 谨慎使用) ### 返回值说明 ```json { "error": "", "trace_id": "trace_1234567890" } ``` ## 10. search_space_file ### 功能说明 在空间内搜索文档。注意:仅能搜索到文档类节点(word、excel、slide 等),无法搜索到文件夹节点;如需查找文件夹,请使用 `query_space_node` 遍历节点树。 ### 调用示例 ```json { "pattern": "项目文档", "queryby": 2, "descending": true, "num": 0 } ``` ### 参数说明 - `pattern` (string, 必填): 搜索关键词 - `queryby` (int32, 可选): 排序方式(1-创建时间,2-修改时间) - `descending` (bool, 可选): 排序方向(true-降序) - `num` (uint32, 可选): 分页页码,从0开始,每页返回40条 ### 返回值说明 ```json { "nodes": [ { "node_id": "doc_1234567890", "title": "项目文档", "node_type": "wiki_file", "has_child": false, "doc_type": "smartcanvas", "url": "https://docs.qq.com/doc/DV2h5cWJ0R1lQb0lH" } ], "error": "", "has_next": false, "trace_id": "trace_1234567890" } ``` ## 11. get_content ### 功能说明 获取文档完整内容。 ### 调用示例 ```json { "file_id": "doc_1234567890" } ``` ### 参数说明 - `file_id` (string, 必填): 文档唯一标识符 ### 返回值说明 ```json { "content": "# 项目文档\n\n这是文档的完整内容...", "error": "", "trace_id": "trace_1234567890" } ``` ## 12. batch_update_sheet_range ### 功能说明 批量更新表格单元格内容。数据将从表格末尾开始追加新行,不会覆盖已有内容。 ### 调用示例 ```json { "file_id": "sheet_1234567890", "texts": { "rows": [ {"values": ["姓名", "年龄", "部门"]}, {"values": ["张三", "25", "技术部"]}, {"values": ["李四", "30", "产品部"]} ] } } ``` ### 参数说明 - `file_id` (string, 必填): 表格唯一标识符 - `texts` (object, 必填): 二维文本数组,数据从 A1 单元格开始按行列顺序填充 ### 返回值说明 ```json { "update_num": 6, "error": "", "trace_id": "trace_1234567890" } ``` ## 13. create_smartcanvas_element ### 功能说明 在已有智能文档中追加内容。 ### 调用示例 ```json { "file_id": "doc_1234567890", "markdown": "## 新增内容\n\n这是追加到文档末尾的新内容..." } ``` ### 参数说明 - `file_id` (string, 必填): 文档唯一标识符 - `markdown` (string, 必填): 要追加的 Markdown 内容 ### 返回值说明 ```json { "error": "", "trace_id": "trace_1234567890" } ```