工具介绍
# 工具介绍
# 客户端配置
本文将以腾讯CodeBuddy为例介绍客户端配置方法。CodeBuddy IDE 是产设研无缝协作的 AI 一站式工作台。用自然语言实现规划、开发、发布应用全流程。注意:国内/国际版本功能无差别,仅模型差异。国内版下载 (opens new window)(使用微信/手机号登录);国际版下载 (opens new window)(使用Google/GitHub 登录,需连VPN,推荐新加坡节点)。详情请查看客户端配置 (opens new window)。
# 工具概览
| 接口名称 | 介绍 |
|---|---|
| QuerySpaceNode | 查询空间节点树结构 |
| SearchSpaceFile | 搜索空间内文档 |
| CreateSpaceNode | 创建空间节点 • 文件夹(wiki_folder) • 在线文档(Wiki_tdoc):word、excel、form、slide, smartcanvas, smartsheet, board, mind, flowchart • 链接(link) |
| GetContent | 返回文档的文字内容 |
| BatchUpdateSheetRange | 批量更新在线表格单元格内容 |
| CreateSmartCanvasElement | 在智能文档中创建内容 |
| CreateWordByMarkDown | 通过Markdown格式创建在线Word文档 |
| CreateExcelByMarkDown | 通过Markdown格式创建在线Excel表格 |
| CreateSlideByMarkDown | 通过Markdown格式创建在线幻灯片 |
| CreateSmartCanvasByMarkDown | 通过Markdown格式创建在线智能文档 |
| CreateMindByMarkDown | 通过Markdown格式创建在线思维导图 |
| CreateFlowchartByMermaid | 通过Mermaid格式创建在线流程图 |
# 协议详细介绍
# 通用协议格式
# 请求格式
| 描述 | 定义 |
|---|---|
| Path | /openapi/mcp |
| Method | POST |
| Content-Type | application/json |
# 请求头
| 参数名 | 类型 | 必选 | 描述 |
|---|---|---|---|
| Authorization | string | 是 | MCP token |
# 请求体
| 参数名 | 类型 | 必选 | 描述 |
|---|---|---|---|
| jsonrpc | string | 是 | 协议版本 默认"2.0" |
| id | int | 是 | 请求id |
| params | array/json | 否 | 参数 这里默认是 CallToolParams对象 |
| method | string | 是 | 方法 这里默认是 "tools/call" |
# CallToolParams
| 参数名 | 类型 | 必选 | 描述 |
|---|---|---|---|
| name | string | 是 | 工具名 |
| arguments | map[string]interface{} | 是 | 参数 |
# 请求示例
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "create_space_node",
"arguments": {
"title":"新建页面文档1",
"node_type":"wiki_tdoc",
"wiki_tdoc_node": {
"title":"新建页面文档",
"doc_type":"smartcanvas"
}
}
},
"id": 1
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 响应体
| 参数名 | 类型 | 描述 |
|---|---|---|
| jsonrpc | string | 协议版本 |
| id | int | 请求id |
| result | interface{} | 正常返回结果 |
| error | json | 异常返回结果 |
# error
| 参数名 | 类型 | 描述 |
|---|---|---|
| code | int | 错误码 |
| message | string | 错误信息 |
| data | interface{} | 错误输出结果 |
# 正常响应示例
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "{\"content\":{\"node_info\":{\"node_id\":\"PdCQFBCfzmEI\",\"title\":\"新建页面文档\",\"node_type\":\"wiki_file\",\"has_child\":false,\"doc_type\":\"smartcanvas\",\"url\":\"https://docs.qq.com/aio/DUGRDUUZCQ2Z6bUVJ\"},\"error\":\"\"},\"description\":\"NodeInfo(node_info(创建成功的节点信息))\"}"
}
]
}
}
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 错误响应示例
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32603,
"message": "tool execution failed (tool: create_space_node): type:business, code:400001, msg:node_type must be one of: wiki_folder, wiki_tdoc, link"
}
}
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 查询空间节点树结构
工具名: query_space_node
# 接口说明
查询空间节点树结构,支持获取根节点或指定父节点的直接子节点列表,返回节点基本信息和分页数据
# 请求体
| 参数名 | 类型 | 必选 | 描述 |
|---|---|---|---|
| parent_id | string | 否 | 父节点ID,为空时返回根层级的节点列表 |
| num | int | 否 | 分页页码,从0开始,每页返回20个节点 |
# 响应体
| 参数名 | 类型 | 描述 |
|---|---|---|
| children | repeated NodeInfo | 子节点列表 |
| has_next | bool | 是否还有更多子节点 |
# NodeInfo
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| node_id | string | 是 | 节点唯一标识符,同时也是文档的file_id |
| title | string | 是 | 节点显示标题,即文档或文件夹的名称 |
| node_type | string | 是 | 节点类型:wiki_file(在线文档)、wiki_folder(文件夹)、resource(资源文件) |
| has_child | bool | 是 | 是否存在子节点,用于判断是否可展开查看子内容 |
| doc_type | string | 否 | 文档类型:仅当node_type为wiki_file时有效 |
| url | string | 否 | 文档访问链接,可用于在浏览器中打开 |
# 在空间内搜索文档
工具名: search_space_file
# 接口说明
在空间内搜索文档,支持关键词精确匹配标题和内容,提供多种排序方式和分页查询
# 请求体
| 参数名 | 类型 | 必选 | 描述 |
|---|---|---|---|
| pattern | string | 是 | 搜索关键词,支持在文档标题和内容中进行模糊匹配 |
| queryby | int | 否 | 排序方式:1-按文档创建时间排序,2-按文件修改时间排序,默认为2 |
| descending | bool | 否 | 排序方向:true-降序排列(最新在前),false-升序排列,默认为true |
| num | int | 否 | 分页页码,从0开始,每页固定40条,不足时按实际返回 |
# 响应体
| 参数名 | 类型 | 描述 |
|---|---|---|
| nodes | repeated NodeInfo | 子节点列表 |
| has_next | bool | 是否还有更多子节点 |
# 在空间树中创建新节点
CallToolParams name: create_space_node
# 接口说明
在空间树中创建新节点,支持创建文件夹、在线文档、链接等多种类型,可指定父节点和插入位置
# 请求体
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| parent_node_id | string | 否 | 父节点ID,为空或在根目录创建时可不传 |
| title | string | 是 | 节点标题,即文档或文件夹的显示名称 |
| node_type | string | 是 | 节点类型:wiki_folder(文件夹)、wiki_tdoc(在线文档)、link(链接) |
| is_before | bool | 否 | 插入位置:true表示插入到父节点子列表的开头,false表示插入到末尾 |
| wiki_folder_node | WikiFolderNode | 否 | 文件夹节点配置信息,node_type为wiki_folder时必填 |
| link_node | LinkNode | 否 | 链接节点配置信息,node_type为link时必填 |
| wiki_tdoc_node | WikiTdocNode | 否 | 在线文档节点配置信息,node_type为wiki_tdoc时必填 |
# WikiFolderNode - 文件夹节点
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| title | string | 是 | 文件夹名 |
# LinkNode - 链接节点
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| title | string | 是 | 链接标题 |
| link_url | string | 是 | 链接地址 |
| link_description | string | 否 | 链接描述 |
# WikiTdocNode - 在线文档节点
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| title | string | 是 | 文档标题 |
| doc_type | string | 是 | 在线文档类型 |
# 节点类型 (node_type)
- wiki_folder: 文件夹
- wiki_tdoc: 在线文档
- link: 链接
# 文档类型 (doc_type)
- word: 文字处理格式
- excel: 电子表格
- form: 收集表
- slide: 幻灯片
- smartcanvas: 智能文档
- smartsheet: 智能表格
- board: 白板
- mind: 思维导图
- flowchart: 流程图
# 响应体
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| node_info | NodeInfo | 是 | 创建成功的节点信息 |
| error | string | 否 | 错误信息,如有 |
# 获取文档完整内容
CallToolParams name: get_content
# 接口说明
获取文档完整内容,根据file_id获取在线文档的正文文本内容,支持多种文档格式
# 请求体
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| file_id | string | 是 | 文档唯一标识符,用于获取指定文档的内容 |
# 响应体
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| content | string | 是 | 文档正文内容,包含文本格式的完整内容 |
| error | string | 否 | 错误信息,当操作失败时返回具体的错误描述 |
# 在线表格插入内容
CallToolParams name: batch_update_sheet_range
# 接口说明
在线表格插入单元格内容,支持二维数组数据批量写入,返回成功更新的单元格数量统计
# 请求体
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| file_id | string | 是 | 在线表格的唯一标识符 |
| texts | StringMatrix | 是 | 要写入的二维文本数组 |
# StringMatrix - 字符串矩阵
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| rows | repeated StringArray | 是 | 一维对应单元格行 |
# StringArray - 字符串数组
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| values | repeated string | 是 | 行列确定的单元格的文本内容 |
# 响应体
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| update_num | uint32 | 是 | 修改成功的单元格的数量 |
| error | string | 否 | 错误信息,如有 |
# 智能文档中创建元素
CallToolParams name: create_smartcanvas_element
# 接口说明
通过Markdown格式在智能文档中创建元素,支持所有Markdown基本结构(标题、段落、列表、表格、代码块、引用、图片等)
# 请求体
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| file_id | string | 是 | 智能文档的唯一标识符 |
| markdown | string | 是 | 内容必须是 UTF-8 格式的 Markdown 文本,特殊字符不需要转义 |
# 响应体
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| error | string | 否 | 错误信息,当操作失败时返回具体的错误描述 |
# 通过Markdown格式创建在线Word文档
CallToolParams name: create_word_by_markdown
# 接口说明
通过Markdown格式创建在线Word文档,内容必须是 UTF-8 格式的 Markdown 文本,特殊字符不需要转义。支持长文本内容和层级结构(标题、段落、列表等),适用于文档、报告等需要丰富文本格式的场景
# 请求体
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| title | string | 是 | 文档标题 |
| markdown | string | 是 | 内容必须是 UTF-8 格式的 Markdown 文本,特殊字符不需要转义,用于根据Markdown生成带格式的Word文档内容 |
# 响应体
| 参数名 | 类型 | 描述 |
|---|---|---|
| file_id | string | 创建成功的文档唯一标识符 |
| url | string | 文档访问链接,可用于在浏览器中打开 |
# 通过Markdown格式创建在线Excel表格
CallToolParams name: create_excel_by_markdown
# 接口说明
通过Markdown格式创建在线Excel表格,内容必须是 UTF-8 格式的 Markdown 文本,特殊字符不需要转义。支持表格结构(行列数据、表头、单元格合并等),适用于数据报表、统计表格等需要结构化数据展示的场景
# 请求体
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| title | string | 是 | 文档标题 |
| markdown | string | 是 | 内容必须是 UTF-8 格式的 Markdown 文本,特殊字符不需要转义,用于根据Markdown生成结构化的表格数据 |
# 响应体
| 参数名 | 类型 | 描述 |
|---|---|---|
| file_id | string | 创建成功的文档唯一标识符 |
| url | string | 文档访问链接,可用于在浏览器中打开 |
# 通过Markdown格式创建在线幻灯片
CallToolParams name: create_slide_by_markdown
# 接口说明
通过Markdown格式创建在线幻灯片,内容必须是 UTF-8 格式的 Markdown 文本,特殊字符不需要转义。PPT幻灯片层级结构说明:\n\n# 一级标题 (PPT主标题 - 整个演示文稿的标题)\n## 二级标题 (章节标题 - 区分不同主题章节)\n### 三级标题 (页面标题 - 每个幻灯片的标题)\n- 列表项 (段落标题:每页幻灯片必须包含2-4个段落标题)\n - 子列表项 (正文内容:每个段落标题对应约200字的正文内容,一一对应关系)\n\n格式示例:\n# 项目汇报\n## 项目背景\n### 项目概述\n- 项目目标\n - 本项目旨在开发一套智能文档管理系统200字...\n- 项目范围\n - 系统将涵盖文档创建、编辑、协作等功能200字...\n### 市场分析\n- 市场需求\n - 当前市场对智能文档管理系统的需求日益增长...\n- 竞争分析\n - 现有竞品在功能完整性方面存在不足...
# 请求体
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| title | string | 是 | 文档标题 |
| markdown | string | 是 | 内容必须是 UTF-8 格式的 Markdown 文本,特殊字符不需要转义。PPT幻灯片层级结构说明:\n\n# 一级标题 (PPT主标题 - 整个演示文稿的标题)\n## 二级标题 (章节标题 - 区分不同主题章节)\n### 三级标题 (页面标题 - 每个幻灯片的标题)\n- 列表项 (段落标题:每页幻灯片必须包含2-4个段落标题)\n - 子列表项 (正文内容:每个段落标题对应约200字的正文内容,一一对应关系)\n\n格式示例:\n# 项目汇报\n## 项目背景\n### 项目概述\n- 项目目标\n - 本项目旨在开发一套智能文档管理系统200字...\n- 项目范围\n - 系统将涵盖文档创建、编辑、协作等功能200字...\n### 市场分析\n- 市场需求\n - 当前市场对智能文档管理系统的需求日益增长...\n- 竞争分析\n - 现有竞品在功能完整性方面存在不足... |
# 响应体
| 参数名 | 类型 | 描述 |
|---|---|---|
| file_id | string | 创建成功的文档唯一标识符 |
| url | string | 文档访问链接,可用于在浏览器中打开 |
# 通过Markdown格式创建在线智能文档
CallToolParams name: create_smartcanvas_by_markdown
# 接口说明
通过Markdown格式创建在线智能文档,内容必须是 UTF-8 格式的 Markdown 文本,特殊字符不需要转义。支持所有Markdown基本结构(标题、段落、列表、表格、代码块、引用、图片等),适用于需要丰富内容格式文档场景
# 请求体
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| title | string | 是 | 文档标题 |
| markdown | string | 是 | 内容必须是 UTF-8 格式的 Markdown 文本,特殊字符不需要转义 |
# 响应体
| 参数名 | 类型 | 描述 |
|---|---|---|
| file_id | string | 创建成功的文档唯一标识符 |
| url | string | 文档访问链接,可用于在浏览器中打开 |
# 通过Markdown格式创建在线思维导图
CallToolParams name: create_mind_by_markdown
# 接口说明
通过Markdown格式创建在线思维导图,内容必须是 UTF-8 格式的 Markdown 文本,特殊字符不需要转义。支持标题层级和列表的嵌套结构,适用于构建层次化的知识图谱和思维组织场景
# 请求体
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| title | string | 是 | 文档标题 |
| markdown | string | 是 | 内容必须是 UTF-8 格式的 Markdown 文本,特殊字符不需要转义,用于根据Markdown生成层次化的思维导图结构 |
# 响应体
| 参数名 | 类型 | 描述 |
|---|---|---|
| file_id | string | 创建成功的文档唯一标识符 |
| url | string | 文档访问链接,可用于在浏览器中打开 |
# 通过Mermaid格式创建在线流程图
CallToolParams name: create_flowchart_by_mermaid
# 接口说明
通过Mermaid格式创建在线流程图,内容必须是 UTF-8 格式的 Mermaid 文本,特殊字符不需要转义。支持基于Mermaid生成流程图结构和连接关系.
# 请求体
| 参数名 | 类型 | 是否必传 | 描述 |
|---|---|---|---|
| title | string | 是 | 文档标题 |
| mermaid | string | 是 | 内容必须是 UTF-8 格式的 mermaid 文本,特殊字符不需要转义,用于根据Mermaid生成流程图结构和连接关系. |
# 响应体
| 参数名 | 类型 | 描述 |
|---|---|---|
| file_id | string | 创建成功的文档唯一标识符 |
| url | string | 文档访问链接,可用于在浏览器中打开 |