MCP 工具详解

本文档列出奥宏文档 MCP 端点提供的所有 27 个工具,包括完整的参数说明、返回值格式和典型用法。

关于如何配置 MCP 连接,请参考 MCP 接入指南

关于使用技巧和常见问题,请参考 MCP 最佳实践

权限说明

每个工具旁标注了权限要求:

  • 公开 -- 无需认证,任何人可用
  • 认证 -- 需要 Bearer Token
  • 所有者 -- 需要认证 + 项目所有者身份

1. 读取工具

list_projects

权限:公开 | 端点:仅全局端点

列出当前可访问的项目。公开项目所有人可见,已认证用户还能看到自己拥有或有阅读权限的项目。

参数:

参数 类型 必填 说明
page integer 页码,默认 1
limit integer 每页数量,默认 20

返回值:

{
  "total": 5,
  "projects": [
    {
      "uid": "my-project",
      "title": "我的项目",
      "intro": "项目简介",
      "default_lang": "zh-cn",
      "show_status": 0
    }
  ]
}

list_pages

权限:公开 | 端点:全局 + 项目

列出项目的页面树结构,支持按版本过滤。

参数:

参数 类型 必填 说明
project_uid string 项目 UID(项目端点自动注入)
version_id integer 版本 ID,用于过滤页面
page integer 页码,默认 1
limit integer 每页数量,默认 100

返回值:

{
  "project_uid": "my-project",
  "total": 3,
  "pages": [
    {
      "id": 1,
      "uid": "abc123",
      "title": "首页",
      "pid": 0,
      "as_group": 0,
      "sort": 0,
      "children": [...]
    }
  ]
}

get_page

权限:公开 | 端点:全局 + 项目

获取页面详情,包含块列表。支持按版本过滤。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
page_uid string 页面 UID
lang string 语言标识
version_id integer 版本 ID

返回值:

{
  "id": 1,
  "uid": "abc123",
  "title": "页面标题",
  "blocks": [
    {
      "block_id": 10,
      "block_uid": "block123",
      "type": "markdown",
      "sort": 1,
      "lang": "zh-cn"
    }
  ]
}

get_page_content

权限:公开 | 端点:全局 + 项目

获取页面全部内容,包含每个块的 Markdown 原文和渲染后的 HTML 预览。支持多语言回退。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
page_uid string 页面 UID
lang string 语言标识,默认使用项目默认语言
version_id integer 版本 ID

返回值:

{
  "page_title": "页面标题",
  "lang": "zh-cn",
  "blocks": [
    {
      "block_id": 10,
      "type": "markdown",
      "sort": 1,
      "lang": "zh-cn",
      "content": "# 标题\n\n正文内容...",
      "preview": "<h1>标题</h1><p>正文内容...</p>"
    }
  ]
}

search

权限:公开 | 端点:全局 + 项目

搜索项目、页面和内容,使用 MySQL 全文索引。

参数:

参数 类型 必填 说明
keyword string 搜索关键词
project_uid string 限定搜索到指定项目
page integer 页码,默认 1
limit integer 每页数量,默认 20

list_versions

权限:公开 | 端点:全局 + 项目

列出项目的所有版本。

参数:

参数 类型 必填 说明
project_uid string 项目 UID

2. 管理读取工具

get_project_info

权限:认证 + 所有者 | 端点:全局 + 项目

获取项目完整信息,包含所有语言和版本配置(包括隐藏的)。

参数:

参数 类型 必填 说明
project_uid string 项目 UID

返回值:

{
  "uid": "my-project",
  "title": "项目标题",
  "intro": "项目简介",
  "default_lang": "zh-cn",
  "project_lang": {"zh-cn": "简体中文", "en": "English"},
  "show_status": 0,
  "versions": [...],
  "pages_count": 10
}

list_pages_all

权限:认证 + 所有者 | 端点:全局 + 项目

列出项目全部页面,无版本过滤,包含隐藏页面,以树结构返回。

参数:

参数 类型 必填 说明
project_uid string 项目 UID

返回值:list_pages 类似,但额外包含 in_version 字段标记页面所属版本。

get_page_detail

权限:认证 + 所有者 | 端点:全局 + 项目

获取页面完整详情,包含所有块的原始内容,无版本过滤。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
page_uid string 页面 UID
lang string 语言标识

3. 写入工具

create_project

权限:认证 | 端点:仅全局端点

创建新项目。

参数:

参数 类型 必填 说明
title string 项目标题
intro string 项目简介
default_lang string 默认语言,默认 zh-cn

返回值:

{
  "uid": "auto-generated-uid",
  "title": "新项目",
  "intro": "项目简介"
}

update_project

权限:认证 + 所有者 | 端点:全局 + 项目

更新项目信息。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
title string 项目标题
intro string 项目简介
default_lang string 默认语言
project_lang string 语言配置,JSON 格式,如 {"zh-cn":"中文","en":"English"}
show_status integer 是否显示状态,1 显示 / 0 隐藏

update_project_uid

权限:认证 + 所有者 | 端点:全局 + 项目

修改项目 UID。警告:修改后旧链接将失效。

参数:

参数 类型 必填 说明
project_uid string 当前项目 UID
uid string 新 UID,仅允许字母、数字、下划线和连字符

create_page

权限:认证 + 所有者 | 端点:全局 + 项目

创建页面。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
title string 页面标题
pid integer 父页面 ID,默认 0(顶级页面)
as_group integer 是否为分组,1 是 / 0 否
intro string 页面简介

返回值:

{
  "id": 100,
  "uid": "auto-generated-uid",
  "title": "新页面",
  "pid": 0,
  "sort": 50
}

update_page

权限:认证 + 所有者 | 端点:全局 + 项目

更新页面信息。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
page_uid string 页面 UID
title string 页面标题
intro string 页面简介
sort integer 排序值
as_group integer 是否为分组

delete_page

权限:认证 + 所有者 | 端点:全局 + 项目

删除页面及其所有块和内容。此操作不可撤销。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
page_uid string 页面 UID

update_page_content

权限:认证 + 所有者 | 端点:全局 + 项目

更新页面内容。这是最常用的写入工具。不指定 block_id 时自动查找或创建 Markdown 块。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
page_uid string 页面 UID
lang string 语言标识,如 zh-cn
content string Markdown 格式的内容
block_id integer 块 ID,不提供则自动查找或创建首个 Markdown 块

使用示例: 这是最简单的写入方式,AI 只需要标题和内容即可创建文档:

1. create_page(title="新页面") → 获得 page_uid
2. update_page_content(page_uid="xxx", lang="zh-cn", content="# 标题\n\n正文...")

update_page_uid

权限:认证 + 所有者 | 端点:全局 + 项目

修改页面 UID。警告:修改后旧链接将失效。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
page_uid string 当前页面 UID
uid string 新 UID,仅允许字母、数字、下划线和连字符

update_page_sort

权限:认证 + 所有者 | 端点:全局 + 项目

批量更新页面排序和父级关系。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
sort_list array 排序列表,每项包含 page_uid(字符串)、sort(整数)、pid(整数,可选)

sort_list 格式示例:

[
  {"page_uid": "page-1", "sort": 1},
  {"page_uid": "page-2", "sort": 2, "pid": 5}
]

4. 版本管理工具

create_version

权限:认证 + 所有者 | 端点:全局 + 项目

创建版本。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
title string 版本标题
desc string 版本描述
status integer 状态:0 = 启用,1 = 隐藏(默认 1)
sort integer 排序值,不填则自动递增

update_version

权限:认证 + 所有者 | 端点:全局 + 项目

更新版本信息。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
version_id integer 版本 ID
title string 版本标题
desc string 版本描述
status integer 状态
sort integer 排序值

delete_version

权限:认证 + 所有者 | 端点:全局 + 项目

删除版本。不允许删除唯一版本或默认版本。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
version_id integer 版本 ID

5. 块管理工具

页面内容由多个「块」组成。MCP 仅支持操作 markdown、code、html 三种块类型。

create_block

权限:认证 + 所有者 | 端点:全局 + 项目

创建内容块。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
page_uid string 页面 UID
type string 块类型,仅允许 markdown / code / html
sort integer 排序值

update_block

权限:认证 + 所有者 | 端点:全局 + 项目

更新块信息。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
block_id integer 块 ID
type string 块类型,仅允许 markdown / code / html
sort integer 排序值

delete_block

权限:认证 + 所有者 | 端点:全局 + 项目

删除块及其所有内容(包括临时内容)。此操作不可撤销。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
block_id integer 块 ID

update_block_sort

权限:认证 + 所有者 | 端点:全局 + 项目

批量更新块排序。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
sort_list array 排序列表,每项包含 id(块 ID,整数)和 sort(排序值,整数)

6. 文件上传工具

upload_file

权限:认证 + 所有者 | 端点:全局 + 项目

通过 Base64 编码上传文件。大小限制 10MB。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
data string Base64 编码的文件数据
filename string 文件名,不允许 .php 扩展名

安全检测: 上传内容会自动扫描 PHP 标记(<?php),检测到则拒绝上传。

upload_file_from_url

权限:认证 + 所有者 | 端点:全局 + 项目

通过 URL 下载文件并上传。大小限制 10MB。

参数:

参数 类型 必填 说明
project_uid string 项目 UID
url string 文件 URL
filename string 文件名,不提供则从 URL 自动提取

返回值通用格式

成功响应

工具调用成功时返回 JSON 对象,具体字段见各工具说明。写入操作通常返回操作后的完整对象。

错误响应

工具调用失败时返回:

{
  "isError": true,
  "error": "错误描述信息"
}

常见错误:

错误信息 原因
Authentication required for write operations 写入操作未提供认证
Permission denied 无项目访问权限
Project not found 项目 UID 不存在
Page not found 页面 UID 不存在
Block type not allowed 块类型不在白名单中
Invalid UID format UID 包含非法字符

原文标题:MCP 工具详解

原文文档:奥宏文档

原文地址:/read/augushong/ulthon-document/zh-cn/1.0.0/mcp-docs/mcp-tools-reference.html

原文平台:奥宏文档

1.0.0