CONTENT MCP
内容查询与发布 · MCP
接入方式
内容查询与发布统一使用 MCP,支持文章定位、完整目录、正文读取、访问统计、发布、撤稿及恢复。原知识库和资讯 HTTP OpenAPI 已停用;MCP 使用 Streamable HTTP 作为传输协议。
| 环境 | MCP 地址 |
|---|---|
| 生产 | https://project.xiaotunqifu.com/api/openapi/mcp |
| 测试 | https://beta.boilingwater.cn/api/openapi/mcp |
在支持远程 MCP 的客户端中配置地址及请求头 Authorization: Bearer <token>。只读令牌用于搜索、目录、详情和统计;发布令牌另外允许写入。令牌由管理员单独提供,不应放入网页前端或公开文件。服务不提供 OAuth 登录。
先找到文章 ID
向 content_search 提供自然语言描述、中英文标题、URL 或 ID:
{
"query": "帮我找现场维修与远程专家视频协作的文章",
"kind": "all",
"limit": 10
}
query 为 2–300 字符;kind 可选 all、knowledge、news,默认 all;limit 默认 10,最大 50。
结果包含 id、kind、title、summary、state、path、matchedTerms 和 score。搜索包含已隐藏和已撤稿文章,按标题、摘要和标签分词匹配排序,不是全文或向量语义搜索。结果为候选记录;修改状态前应使用详情工具确认正文及 ID,不能仅凭排序第一项决定撤稿。
只读工具
| 工具 | 用途 |
|---|---|
content_search | 用描述定位文章 ID |
news_list | 资讯、行业观点和视频完整目录 |
news_detail | 读取资讯或视频记录及正文 |
site_analytics | 全站统计,date 为北京时间已结束日期(最近90天),format 为 daily 或 editorial;只读,不含访客标识 |
news_statistics | 查询资讯或视频访问统计 |
knowledge_list | 知识库双语文章完整目录 |
knowledge_detail | 读取双语标题、摘要及正文 |
knowledge_statistics | 查询知识库访问统计 |
列表支持 page、size、version、id、q、visibility;size 最大 100。q 为标题/摘要等字段的文字筛选,描述式定位请用 content_search。第一次查询取得 version,后续分页带上同一版本;版本变化时从第一页重新开始。
news_list 另支持 type:1 资讯、2 行业观点(含历史专业文章和案例解析)、3 视频、4 旧专业文章分类。不能仅凭分类判断一篇文章是否为近期稿件。visibility 可选 all、visible、hidden、withdrawn、unlisted。
knowledge_list 的 visibility 可选 all、published、hidden、withdrawn。未指定状态时列出全部保存记录。代码维护的专题指南、案例页面不属于这两个目录。
详情工具参数为 id,可附带 version。读取隐藏或撤稿正文不会重新上架。
统计工具支持文章 ID、起止日期和分页等条件;实际可用维度通过 MCP 工具 schema 查询。统计结果只代表已经采集的数据,不保证历史访客数据完整。
发布工具
发布令牌在只读工具之外,可使用:
| 工具 | 用途 |
|---|---|
news_create | 新建资讯、行业观点或视频 |
news_update | 调整资讯状态 |
knowledge_create | 新建双语知识文章 |
knowledge_update | 调整知识文章状态 |
knowledge_sync | 同步当前已发布知识快照的搜索索引 |
发布知识文章
{
"id": "faq-api-example-20261024",
"zh": {
"q": "文章中文标题",
"summary": "文章摘要",
"category": "软件实践",
"tags": ["软件定制"],
"updatedAt": "2026-10-24T09:00:00+08:00",
"a": "## 正文标题\n\nMarkdown 正文。"
},
"en": {
"q": "English article title",
"summary": "Article summary",
"category": "Software practice",
"tags": ["Custom software"],
"updatedAt": "2026-10-24T09:00:00+08:00",
"a": "## Heading\n\nMarkdown body."
}
}
knowledge_create 要求固定、唯一的 faq-api- 前缀 ID。zh、en 均为必填;每种语言可提供 image,值为公开 HTTPS 图片地址,也可省略。发布后保留返回的 URL,不自行拼接新标题 slug。
发布资讯
news_create 参数包括 id、type、title、description、createTime、updateTime。ID 为 8 开头的 16–19 位数字字符串。正文通过 markdown 或 content 提供,不能同时传入;视频可使用 type: 3 和 url。labels 为标签数组。image 可省略;提供时必须是可访问的公开 HTTPS 图片,服务会验证其类型与大小。每日资讯正式标题以 【今日资讯】 开头,且仅出现一次。
创建只新增,不覆盖同 ID 的不同正文。请求超时应使用同一 ID 和同一内容重试,避免重复文章。
撤稿和重新上架
knowledge_update 和 news_update 使用:
{"id":"faq-api-example-20261024","state":"withdrawn","reason":"内容需要重新审核"}
| state | 列表、推荐、搜索 | 原详情链接 |
|---|---|---|
published | 可展示 | 正常阅读 |
hidden | 不展示 | 仍可阅读 |
withdrawn | 不展示 | 停止提供正文 |
reason 应填写 1–1000 字符;省略 state 默认隐藏。知识库同一 ID 的中英文及旧别名共用状态,原稿保留以便恢复。资讯彻底撤稿会停止各端读取正文,仅官网隐藏则使用 hidden。
减小可见性的操作可能向已配置的联系人发送通知。返回 status: pending 或非空 pending 时,表示仍有搜索、页面缓存或通知工作未完成。用相同 ID、状态和原因重试,直到 status: complete 且 pending 为空;published: true 只表示快照已激活。恢复使用 state: published。
knowledge_sync 必须提供当前已发布的 version;checkOnly: true 仅检查同步准备情况,不写索引。
Node.js 调用
下载 MCP 客户端,将令牌置于调用环境变量。示例:
import { callContentTool } from './content-mcp-client.mjs';
const result = await callContentTool('content_search', {
query: '现场维修如何连接远程专家',
limit: 5,
}, { token: process.env.OPENAPI_MCP_READ_TOKEN });
console.log(result.records);
发布操作使用 OPENAPI_MCP_WRITE_TOKEN。客户端支持 JSON 与 SSE 响应,错误时抛出异常,不会回退到旧 HTTP 发布接口。服务为无会话模式,响应不使用普通业务 API 的 status/data 包装。