MCP 服务器
Docsbook MCP 服务器是一个远程模型上下文协议服务器,它将您的文档及其整个管理界面暴露给 AI 代理。将 Claude Code 或任何兼容 MCP 的客户端连接到一个端点,阅读您的页面、提交更改、查看分析并更改设置,而无需离开编辑器。
本页面是服务器提供的服务和调用所依赖的参考。此处列出的每个工具都可以被任何连接的客户端调用;计费调用的费用在 Docsbook 定价页面 和您管理面板中每个工具的行上都有说明。
Docsbook MCP 服务器是什么?#
Docsbook MCP 服务器通过模型上下文协议公开310 个工具。模型上下文协议是一种开放标准,用于通过类型化 RPC 接口向 AI 代理提供工具、资源和提示。在这些工具中,18 个是每个 Webhook 事件对应一个的注册工具;136 个是操作工具,每个工具针对一个主题执行一步文档工作,并返回经过验证的 JSON 负载;41 个是代理,每个代理对应一个目标,其实现方式是按顺序调用这些操作;12 个由外部抓取服务提供支持,用于处理 Docsbook 自有爬虫无法访问的内容;5 个是收集器,仅返回操作所依据的证据,不对其进行任何判断;还有 4 个用于启动和读取后台运行任务。其余 94 个是分别命名的工具,涵盖工作区、内容、聊天、分析和 Webhook 操作——其中包括用于连接和配置代码仓库或网站作为事实来源的两个工具,以及用于按计划、事件或已连接代码仓库的提交记录查找并启用常驻代理的两个工具。
端点#
Docsbook MCP 服务器为每个工作区和每个客户端提供同一个 URL:
https://docsbook.io/api/mcp/server身份验证采用带 PKCE 的 OAuth 授权码流程。客户端会接收一个不透明的 Bearer 令牌,并在每次调用时携带该令牌;不会签发刷新令牌,且令牌不会自行过期,因此轮换令牌意味着在面板中撤销该令牌,然后重新进行授权。无需查找每个项目对应的 MCP URL:OAuth 流程的作用域是已登录的帐户,客户端随后选择工作区。有关该流程、作用域和相关缺口,请参阅 MCP 服务器安全性。
如何将我的 AI 客户端连接到 Docsbook?#
将您的客户端指向 https://docsbook.io/api/mcp/server,然后在浏览器中完成 OAuth 提示。Docsbook MCP 服务器是一个带有 OAuth 的远程 HTTP 服务器,因此每个现代 MCP 客户端都可以使用同一个端点连接到它,无需运行本地进程。下面的小节为每个客户端提供了确切的命令或配置文件。
您还可以在自己的项目中浏览目录:打开管理面板,然后在侧边栏中选择 MCP。首次打开时,该部分会显示一个带有客户端安装命令的启用面板,因此您可以在阅读目录之前完成连接;点击它后,系统会直接在表格上方运行一份简短指南。其背后是服务器当前提供的所有工具的表格,数据实时从服务器读取,而不是来自某份手写副本;其中包含每个工具的计费类别、每次调用的价格、一次调用通常会保持打开的时长,以及读者是否可以在没有令牌的情况下调用它。您可以搜索,也可以使用筛选器缩小范围——筛选器会列出各个计费类别及其对应价格——或者按任意列排序。将鼠标悬停在某一行上会打开一张卡片,展示有关该工具的其余信息:它的功能、一次调用的费用及通常保持打开的时长、它接受的参数数量及其中必填参数的数量、包含该工具的有效示例数量,以及在您自己的项目中,它目前已经为您产生的费用和您上次调用它的时间,其中还附有可直接复制的可调用 ID。点击某一行会打开该工具自己的页面,而该页面拥有独立地址:URL 中包含该工具,因此您可以刷新、收藏或发送给同事,让他们直接进入同一个工具,而不是返回到包含三百行的表格。页面上的所有内容都围绕这一个工具展开。它的参数以表单形式呈现,并带有一个运行按钮,可以针对当前项目执行真实调用;在资金扣除之前,按钮会显示价格。下方是它的调用历史,由您在其他地方看到的同一个订阅源表格生成,并缩小到仅显示这个工具:每次调用占一行,展开某一行即可查看完整调用内容——传入了什么、返回了什么、由谁发起(您的运行操作、外部代理、计划任务或事件)、耗时多久、定价是多少,以及实际从余额中扣除了多少。再往下是使它能够无人值守运行的设置:计划任务、事件或您保存的某个订阅源,因此一次调用可以监视整个订阅源,而不只是单个事件名称;每个已启用的行都会显示它已经针对哪些内容触发,这样您就不会在不知情的情况下替换之前设置的运行任务。页面最后是使用此工具的代理——代理部分中那些路由确实调用该工具的卡片,已启用的代理排在前面,每个代理都有自己的开关;因此,您可以直接在刚刚查看调用费用的页面上为该工具设置计划任务。它们下方有一个可复制到您自己客户端中的有效示例;在 Docsbook 内部运行的就是这次调用。
Claude Code#
claude mcp add --transport http docsbook https://docsbook.io/api/mcp/server第一次调用会打开一个浏览器标签页进行OAuth。获得同意后,工具将在Claude Code中可用。
光标#
光标没有 mcp add 命令,但它接受一键安装链接:
cursor://anysphere.cursor-deeplink/mcp/install?name=docsbook&config=eyJ1cmwiOiJodHRwczovL2RvY3Nib29rLmlvL2FwaS9tY3Avc2VydmVyIiwidHlwZSI6Imh0dHAifQ==或者将服务器添加到 ~/.cursor/mcp.json (或使用 设置 → MCP & 集成 → 新建 MCP 服务器):
{
"mcpServers": {
"docsbook": {
"url": "https://docsbook.io/api/mcp/server"
}
}
}重新加载光标 — OAuth 在首次使用时在浏览器中打开。
Codex CLI#
codex mcp add docsbook --url https://docsbook.io/api/mcp/server或者直接编辑配置 — Codex 将 MCP 服务器存储在 ~/.codex/config.toml:
[mcp_servers.docsbook]
url = "https://docsbook.io/api/mcp/server"风帆冲浪#
编辑 ~/.codeium/windsurf/mcp_config.json 并刷新级联面板:
{
"mcpServers": {
"docsbook": {
"serverUrl": "https://docsbook.io/api/mcp/server"
}
}
}Cline#
打开 Cline → MCP 服务器 → 配置 MCP 服务器 并粘贴:
{
"mcpServers": {
"docsbook": {
"url": "https://docsbook.io/api/mcp/server",
"transportType": "http"
}
}
}双子 CLI#
gemini mcp add --transport http docsbook https://docsbook.io/api/mcp/server默认范围是当前项目 — 添加 --scope user 以全局安装。或者手动添加到 ~/.gemini/settings.json (注意键是 httpUrl; url 在那里表示 SSE):
{
"mcpServers": {
"docsbook": {
"httpUrl": "https://docsbook.io/api/mcp/server"
}
}
}GitHub Copilot (VS Code)#
code --add-mcp '{"name":"docsbook","type":"http","url":"https://docsbook.io/api/mcp/server"}'或者在您的工作区内创建 .vscode/mcp.json,然后从 Copilot Chat MCP 选择器启用服务器(请注意密钥是 servers,而不是 mcpServers):
{
"servers": {
"docsbook": {
"type": "http",
"url": "https://docsbook.io/api/mcp/server"
}
}
}ChatGPT#
ChatGPT 通过 Connectors 支持远程 MCP,适用于 ChatGPT 自己的付费计划。该要求是 OpenAI 的,而不是 Docsbook 的。
- 打开 ChatGPT → 设置 → Connectors → 高级 → 开发者模式。
- 点击 创建 并粘贴 URL:
https://docsbook.io/api/mcp/server。 - 在提示时在浏览器中授权。
Docsbook MCP 工具的用途是什么?#
Docsbook MCP 工具的存在是为了实现四个目标中的一个:更多合格的读者到达,更多的读者带着他们所需的内容离开,更多有购买意图的读者被助手引导,以及更少的问题到达人工客服。以下内容按服务于这四个目标进行分组。
您的文档不是一个成本中心。它是一个有三个任务的渠道:被发现(通过谷歌,以及您的买家现在询问的 AI 助手,而不是谷歌),转化读者(以空手而归的访问是一个从未抱怨的失去客户),以及证明有效的内容(以便下次编辑是一个决策,而不是猜测)。
文档工具只有四种赚钱方式,以下每个工具都服务于其中一种:
| 杠杆 | 机制 | 核心工具 |
|---|---|---|
| 获取 | 更多合格的读者通过搜索和 AI 答案到达 | update_seo, update_geo, update_aeo, get_search_rankings |
| 转化 | 更多到达的读者带着他们所需的内容离开 | get_visit_outcomes, get_dead_end_pages, get_content_health, get_route_patterns |
| 销售 | 助手引导有购买意图的读者,而不仅仅是回答问题 | get_chat_intent, get_chat_conversations, set_chat_system_prompt, set_chat_hooks |
| 避免成本 | 文档回答的问题是没有由人工回答的问题 | get_ai_unanswered, get_failed_searches, get_search_zero_click, get_insights |
一个不服务于这些目标的工具返回上下文,而不是决策。Pageviews: 12,340 是上下文。31% of your readers left with nothing 是决策。
被发现#
| 工具 | 价值 |
|---|---|
update_seo |
元标签、网站地图、OpenGraph。基本要求:没有它,值得排名的页面无法被发现。 |
update_geo |
生成引擎优化 — 结构化页面,以便 LLM 可以引用它 并归因于你。成为 AI 答案的来源与在其中隐形之间的区别。 |
update_aeo |
答案引擎优化 — 将内容塑造成 AI 助手逐字提取的直接答案形式。 |
get_search_rankings |
真实的 Google 搜索控制台位置,加上 “值得改进”的第 5–20 位 — Google 已经显示但尚未赢得点击的页面。将“我们应该做 SEO”转变为一个命名页面和一个命名查询。滞后于 Google 约 2 天。 |
get_analytics (AI-bot 分析) |
ChatGPT、Perplexity 和 Claude 爬虫是否根本读取你的网站。这里的零意味着 GEO 工作没有落地 — 没有爬取,没有引用,没有推荐。 |
买家越来越倾向于在询问供应商之前先询问助手。如果助手从竞争对手的文档中回答,你将永远不会进入候选名单,损失不会出现在任何仪表板上。
不失去读者#
get_visit_outcomes 是整个产品的标题编号:它将每次访问分类为成功/死胡同/跳出/部分,并报告 死胡同率 和 自助解决率。死胡同是指那些搜索、询问 AI 或打开多个页面——但仍然一无所获的读者。以下内容回答“……到底在哪里?”
| 工具 | 它的价值 |
|---|---|
get_dead_end_pages |
重写队列,按排名排序。标记为 terminal_success 的行是人们离开的页面 因为他们得到了他们需要的东西 — 该工具保护您最好的页面不被“修复”。 |
get_content_health |
每个页面的 0–100 分数,结合死胡同退出和负面反馈。替代手动在大型文档集上交叉引用四个报告。 |
get_rage_signals |
在一次访问中重新进入 3 次以上的页面,A→B→A 跳回,重复搜索。死胡同率表示一次访问失败;这表示 在哪里。重新进入意味着答案应该在该页面上,但没有——解决方案是重组,而不是新内容。 |
get_route_patterns |
读者实际走过的 2–4 页序列,以及每个序列结束良好的频率。以糟糕结局结束的频繁路线是 导航缺陷,而不是页面质量问题 — 重写这些页面不会解决问题。 |
get_reverse_funnel |
从成功访问向后工作:哪些入口页面导致良好的结局。无需假设,因此它揭示了读者找到的路径,而您从未设计过。 |
get_forward_funnel |
您声明的路线的完成情况,以及哪个过渡存在泄漏。您的入职完成率。 |
get_metric_timeseries |
按天的任何标题指标 — 唯一能回答“这是否变得更糟”的工具,并将变化与发布日期对齐。 |
get_visits |
率背后的证据:一次重建的访问。用于当一个数字受到争议时,或将真实读者与投诉联系起来。 |
get_retention |
按群体的 W1/W4 回访率。方向取决于部分:高回访对参考文档是健康的,对入职则是 失败。 |
您未满足的需求#
这里的每一行都是您可以通过撰写一页内容来预先解决的支持票据。
| 工具 | 价值 |
|---|---|
get_ai_unanswered |
助手无法回答的问题,以读者自己的话表达。这是最便宜的内容计划。 |
get_failed_searches |
返回零结果的搜索——通过不同的途径发现相同的空白。 |
get_search_zero_click |
返回结果但没有点击的搜索。零结果报告遗漏的空白:搜索有效,但读者拒绝了每一个结果,这指向标题和摘要——修复这些比页面主体便宜一个数量级。 |
get_popular_searches |
人们最常寻找的内容。与同一页面上的get_content_health对比:高需求 + 低健康 = 您最昂贵的损坏页面。 |
get_negative_feedback |
带有差评的页面,按排名排列。读者的明确投票,无需推断。 |
get_insights |
预先组合的摘要——文档空白、零结果搜索和不受欢迎的页面及其影响估计,一次性调用。从这里开始“我本周应该修复什么”。 |
通过助手销售#
聊天不是支持小部件。它是潜在客户用简单语言陈述异议的唯一地方。
| 工具 | 价值 |
|---|---|
get_chat_intent |
按购买阶段划分的对话——评估、定价、集成、支持、错误。回答谁在决定是否购买以及什么阻碍了购买。当读者提到竞争对手时,命名竞争对手:没有页面级报告可以产生的竞争情报。 |
get_chat_conversations |
按主题分组的问题,带有click_through——读者打开引用页面的对话份额。一个有购买意图且没有点击的主题是销售漏斗:答案是正确的,但没有推动任何人前进。单位是对话,而不是问题,因为一个被困的读者的四个问题和四个读者各一个的问题给出相同的计数和相反的结论。 |
set_chat_system_prompt |
修复落在哪里——将助手从图书管理员转变为销售人员:资格审查、处理异议、引导到演示。 |
set_chat_hooks / test_chat_hook |
预/后-LLM钩子:注入实时上下文(定价、可用性、读者的计划)或在意图出现的瞬间捕获潜在客户。 |
get_ai_questions |
逐字问题日志——常见问题解答、入职电子邮件、异议处理的原材料。 |
在您的文档聊天中提出的定价异议比页面浏览更有价值:读者自我资格审查并准确告诉您是什么阻止他们购买。
对发现采取行动#
没有修复的诊断只是报告。这些工具在一次连接内完成闭环。
| 工具 | 价值所在 |
|---|---|
search_docs |
可逐字引用的章节——文本、正则表达式、标题或路径模式。代理在编辑前读取这些内容,以便修改正确的行。 |
search |
语义搜索(基于嵌入)——根据页面的含义而不是字面内容查找页面,使用预先构建的向量索引。它能捕捉用自然语言提出、措辞与页面标题完全不同的问题。所有套餐均可使用,并且始终会给出答案:尚未建立索引的项目会改用全文搜索回答相同的问题,回复中会说明运行的是哪种引擎(mode:semantic 或 lexical)。在项目的公共端点上无需令牌即可使用,因此读者的代理也能搜索你的文档。 |
get_doc_outline |
列出每个页面的标题、标题数量和大小。在搜索或写入之前,以低成本了解整体情况。 |
write_docs |
将一个或多个 Markdown 文件提交到一次原子的 git 提交中。把分析转化为已发布的更改。 |
fetch_url |
将一个公共网页读取为整洁的 Markdown。该工具让代理能够将页面与工作区之外的世界进行核对——竞争对手的定价、你自己的营销网站,或文档所依赖的链接是否仍然有效。 |
get_change_history |
编辑前调用。之前改了什么,以及受影响页面的流量之后如何变化——包含原始的前后访问量、low_sample 和 pending 标记,并且特意不作出结论(提交与同一周内的流量变化并不构成因果关系)。没有它,同一条建议会永远以同样的置信度被反复提出。 |
get_page_diff_impact |
发布后调用。这次编辑真的带来帮助了吗?比较提交涉及的页面与未涉及的页面在前后两个时期的情况——结果构成、自助解决率、首次获得价值所需的时间。未改动的页面就是对照组,而这正是重点:文档流量会因与你的编辑无关的原因而变化,因此只有当改动效果超过整个网站的趋势时,改善才算数。仅仅与网站趋势持平的变化会被报告为无效果,而不是胜利。它还会按国家、读者语言和设备拆分访问量,并将每个切片与未改动页面中同一切片的变化并列展示——这正是把“流量上升”转化为决策的方式。如果你设置了平均价格和行动号召 URL,它还会为此次编辑估算价值——比较受影响页面前后的转化次数和收入。 |
update_navigation |
修复由 get_route_patterns 或 get_reverse_funnel 发现的缺陷——通常比重写页面更便宜、更有效。 |
find_skill / find_widget |
发现已打包的能力——工作流技能、交互式小部件——而不是自行编写。 |
list_issues / get_issue / create_issue |
项目自己的 GitHub 问题跟踪器。并非每个发现都是你需要立即着手进行的更改——create_issue 可以将不需要立即更改的发现记录下来,而不是让它随着对话结束。先使用 list_issues,这样发现就不会重复一个已经打开的问题。提交问题需要读写令牌;读取则不需要。 |
无需查看的知识#
仪表板只有在有人打开时才有效。Webhook 始终有效。注册一个 webhook 需要一次写入调用;它后续进行的每次交付都是来自 Docsbook 网络的出站调用。
| 事件工具 | 价值所在 |
|---|---|
register_webhook_chat_no_answer |
助手刚刚在 Slack 中失败了一个读者——在几秒钟内,他们可能仍在页面上。 |
register_webhook_search_no_results |
搜索也是如此。 |
register_webhook_traffic_spike / _drop |
激增要么是值得追逐的市场胜利,要么是驱使人们进行故障排除的事件。发布后的下降是你在下个季度会发现的回归。 |
register_webhook_content_outdated |
文档与产品的偏离——大多数糟糕 AI 答案的根本原因。 |
register_webhook_chat_negative_feedback, _feedback_received |
读者的明确投诉,转发给拥有该部分的人员。 |
register_webhook_usage_limit_approaching, _overage_limit_reached |
预算控制——没有意外发票。 |
list_webhooks, unregister_webhook, list_webhook_deliveries, replay_webhook_delivery, test_webhook |
操作上述内容:审计、重试、验证。 |
覆盖范围和所有权#
| 工具 | 价值 |
|---|---|
update_languages |
启用目标语言。与 get_analytics 中的国家/语言细分一起阅读:在读者已经存在的地方进行翻译,而不是在你希望他们存在的地方。 |
set_translation_mode, upload_translation, approve_translation, list_pending_translations, get_translation, delete_translation |
翻译管道——自动的,或由外部提供并经过人工批准。 |
update_access |
私人工作区,密码,或你自己的 SSO/OIDC。解除对需要采购的公司的销售限制。 |
update_domain |
在你自己域名上的文档——SEO 权威归于你,而不是供应商子域名。 |
update_branding, update_ui_settings |
你的产品,而不是平台的。 |
支付组合#
没有单一的工具是产品。这些循环是。
循环 1 — "哪个页面正在让我失去客户?"#
get_visit_outcomes → the rate: 31% of visits end with nothing
get_dead_end_pages → which pages those visits died on
get_rage_signals → what the reader was trying to do there
get_change_history → has this page been "fixed" before, and did it work?
search_docs → write_docs → ship the fix
get_page_diff_impact → did the edited pages beat the pages you did not touch?仅仅依靠比率是无法采取行动的,页面列表单独缺乏原因,而没有 get_change_history 的修复则是在完全自信中重复了一个失败的编辑。最后一步是关闭循环的关键:全站的趋势线因多种原因而变化,因此“在我的提交后比率改善”只有在你编辑的页面改善 超过你未编辑的页面 时才算证据。只有这个顺序才能产生你可以辩护的变化。
循环 2 — “我的导航在欺骗读者吗?”#
get_route_patterns → a frequent 3-page route that keeps ending badly
get_reverse_funnel → the route successful readers actually take
update_navigation → promote the working entry point
get_forward_funnel → confirm completion on the declared route improved一个在其单独页面表现良好时却失败的路线是一个导航缺陷 — get_content_health 将永远指向健康页面。
循环 3 — “交易漏在哪里?”#
get_chat_intent → 40 pricing-stage conversations, a competitor named in 12
get_chat_conversations → those topics have near-zero click_through
set_chat_system_prompt → handle that objection, route to a demo
write_docs → a comparison page that answers it once and for all
get_chat_intent (later) → did the objection stop recurring?任何文档产品中唯一一个从明确的反对意见开始并以已交付的答案结束的循环。 click_through 是将“助手回答”与“助手销售”区分开的关键。
循环 4 — "我对 AI 可见吗,它带来了任何人吗?"#
update_geo + update_aeo → structure content for citation
get_analytics (ai_bots) → confirm crawlers are actually reading it
get_search_rankings → track classic-search position alongside
get_analytics (referrers) → referrals arriving from AI assistants
get_visit_outcomes → and whether those arrivals end in success最后一步是每个人都跳过的。来自一个死胡同的 AI 答案的流量比没有流量更糟 — 你获得了可见性,却浪费了印象。
自我修复循环#
从 CI 按计划运行循环 1:
weekly: get_content_health → take the worst 3
get_change_history → skip anything already tried and failed
search_docs → write_docs → open a PR
get_page_diff_impact → report on the PR whether the edited pages
beat the untouched ones, or say they did not能够自我修复并展示其工作的文档 — “看到了问题”和“修复了问题”,而不离开连接。
交接整个工作#
上面的每个工具都在请求它的调用中作出回应。四个工具没有回应,这正是它们的重点。
审核一个网站、构建一个网站、重组它,或启动保持其诚实的监控器只需几分钟的工作——阅读页面、推理数字、提交文件。 find_skill 通过将 SKILL.md 交给 你的 代理来处理这一点,前提是你的代理也在这里连接,选择了一个工作区,并将花费二十个工具调用来处理它。这四个工具则在我们的端运行技能,针对你的工作区,使用为该技能编写的完整管理工具集。
| 工具 | 价值 |
|---|---|
run_docs_analyze |
完整的 docs-analyze 审核,为你运行:从搜索位置、读者行为和你自己的目标判断出的问题——加上没有数字显示的差距、文档从未涉及的受众和用例。它被声明为审核模式,因此不能更改任何内容,并使用只读令牌。 |
run_docs_create |
完整的 docs-create 流程:审核产品,决定结构,编写页面,发布。从你的网站、一个代码库、你要离开的另一个平台,或仅仅是一个产品名称。 |
run_docs_manage |
应用而非引用的 docs-manage 规则手册:页面重写,网站配置,目标和漏斗声明。当请求是判断(“让这个变好”)而不是值(“将重音设置为 #0f0”)时使用它。 |
run_docs_automate |
docs-automate,以便检查持续进行:漂移保护、网络钩子、CI 检查、警报和常驻监控。 |
开始一个工作和读取其结果是两个独立的调用。 一个 run_docs_* 调用返回 { run_id, state: "queued" } —— 永远不会是发现,永远不会是页面。 get_agent_run 返回状态,运行时的实时进度,一旦成功则返回报告、运行所采取的每个操作以及发生的变化。 list_agent_runs 找到你丢失的运行 ID; cancel_agent_run 停止一个尚未完成的运行,而不撤销它已经提交的内容。
三个写入的工具需要一个 读写 令牌。 run_docs_analyze 不需要,因为它无法写入。
无意见购买证据#
审计在一次调用中做七件事:收集、规范、解释、判断、评分、排名、推荐。运行前两项两次,你会得到相同的答案,任何人都可以手动重做并检查。从 judge 开始,答案是模型的。两个部分曾经作为一个代理运行收费,这意味着你可以验证的部分以你必须信任的部分的价格出售。
五个 收集器 是第一部分单独收费,作为 probe 而不是作为代理运行:
| 工具 | 返回的内容 |
|---|---|
collect_page_text |
您的实时页面,作为电线实际提供的内容——状态、标题、元描述、标题、代码块,以及没有 JavaScript 引擎的情况下存活的散文字数——以及我们为同一路径存储的源的大小。这两者之间的差距是行:在存储库中有 8000 个字符以 40 个单词的形式到达,是一个对每个阅读源的检查都完美的页面,而对每个阅读页面的助手来说则无法引用。 |
collect_corpus_map |
每个页面的大小、标题数量和深度、部分、存根,以及导航到达的部分。 |
collect_assistant_questions |
读者向您的文档助手询问的内容,逐字记录,哪些没有得到回答,回答率及其分母,以及到达的语言。 |
collect_traffic |
谁到达了,访问如何结束,最终访问了哪些页面,以及读者浏览的 2-4 页序列——四个表格,分开保留。 |
collect_onsite_search |
读者在您自己的搜索框中输入的内容,哪些没有返回任何结果,哪些返回了结果但没有点击——三个表格,分开保留,因为第一个是缺失页面,第二个是失败标题。 |
路径中没有模型,因此其中没有任何东西可以不相信——有效载荷证明了这一点,而不是声称这一点。每个答案都携带一个 reproduce 块:每行的确切 MCP 调用及其参数。自己运行它们,你会得到相同的记录,除了时间戳。审计返回的任何内容都无法提供这一点,因为审计的答案经过了模型。
你得不到的是判断。没有发现,没有评分,没有排名,没有推荐——这些是行动工具的价格所购买的,而一个安静地包含一个的收集器将是以一小部分价格进行的代理运行。
当便宜的那个是正确的。 在没有连接搜索控制台的情况下,measure_intent_match 将其排名轴评分为未测量,并仍然为运行收费;collect_corpus_map 不需要任何搜索数据、流量和历史,返回今早上线网站的真实行。当你想要在决定是否购买阅读它们之前,获取构建行动的数字时,同样适用。
缺失的内容被大声说出。 无法读取的源出现三次——在 skipped 中,在 unavailable 中以及拥有它会增加的内容,以及在其自己的 reproduce 行中,说明其失败的原因。没有可分的率返回为 null 及其原因,绝不会是零,每个率都携带其分母。
诚实地阅读数字#
来自Docsbook MCP服务器的每个分析响应都有其自身的警告,位于 metrics 字段中。有三个足够重要以至于需要重复:
- 访客是哈希IP。 办公室NAT将多个读者合并为一个;移动网络将一个读者拆分为多个。报告趋势,而不是人数——
get_retention是受影响最严重的。 - 少于30次访问的比率被保留,而薄弱的日子被标记为
thin。在四次访问中100%的死胡同率是噪音。 terminal_success不是失败。 人们在复制片段后离开的页面是你拥有的最佳页面。每个排名工具都将这些排除在外——不要手动重新引入这个错误。
如何从代理中搜索和编辑文档内容?#
有两种方式可以从代理中处理文档内容,具体选择哪一种取决于代理是否在磁盘上拥有该代码库:
- 托管方式,通过 MCP 令牌 —
search_docs(只读;无论连接令牌的权限范围如何都可使用)、get_doc_outline(只读;在搜索或写入之前列出每个 Markdown 页面的标题、标题数量和大小)以及write_docs(要求令牌获得读写权限;将一个或多个文件作为单个原子 git 提交进行提交)。这些操作直接针对 Docsbook 托管的代码库运行,无需本地检出。 - 本地方式,通过
markdown-lsp— 对于直接处理已检出文件的代理,markdown-lsp可回答更丰富的图谱问题(工作区大纲、模糊标题搜索、带上下文的全文搜索、传入和传出链接、链接解析),既可以作为代理运行的命令 —npx markdown-lsp <subcommand> ./docs— 也可以作为语言服务器运行。它不是 MCP 服务器,也不需要令牌。有关子命令列表及其设计理由,请参阅 事实来源。
当代理只有 MCP 连接(没有本地检出)时,使用 search_docs/write_docs;当代理已经在磁盘上拥有代码库并希望进行更深入的图谱导航时,使用 markdown-lsp。
对 Docsbook MCP 服务器的调用依据什么计费?#
对 Docsbook MCP 服务器的每次计量调用,都会从该调用所针对的项目余额中扣除——这与充值所增加的余额相同,该项目的其他 AI 工作也会使用这一余额。MCP 没有单独的计量器,也没有需要规划的每月调用配额。唯一的限制是资金。
每次调用按固定金额收费,该金额在调用运行前确定,并且与答案的大小无关。同一个报告调用,在拥有十个页面的网站上和拥有一万个页面的网站上扣费相同。决定金额的是处理该调用会让服务器执行什么操作:
| 类别 | 调用让服务器执行的操作 | 其中的工具 |
|---|---|---|
| 包含 | 仅执行查询 | get_info、find_skill、find_widget、list_workspaces、get_workspace、create_workspace |
| 读取 | 读取服务器已存储的一行数据 | 页面、设置或注册表行——未分类工具所归入的类别 |
| 写入 | 更改已存储的状态 | create_*、update_*、set_*、delete_*、register_*、unregister_*、upload_*、approve_*、mark_* |
| 分析 | 扫描事件存储 | 漏斗、旅程、留存、排名、信息流、query_events |
| 出站 | 离开 Docsbook 网络 | fetch_url、read_source、test_*、replay_*、四个跟踪器读取工具(list_issues、get_issue、get_pull_request、search_prior_work)以及由供应商支持的抓取工具 |
| 探测 | 收集并规范化一组事实,不涉及模型 | collect_* |
| AI | 调用模型来写入、读取或排名 | write_docs、search_docs、search、get_insights、get_chat_intent |
| 透镜 | 对传入的证据记录执行一次模型处理,并从单一指定角度重新读取 | 预留(lens_*)——当前没有工具属于此类别 |
| 代理 | 通过一次调用运行完整代理 | 135 个操作工具(observe_*、explain_*、discover_*、decide_*、plan_*、draft_*、measure_*、verify_*、learn_*、handoff_*)、41 个 agent_* 目标,以及 audit_geo、generate_issues 和 run_docs_* |
操作工具的定价依据其声明的工作量——它读取多少个证据系列、可能进行多少次模型往返、是否离开你的网站、是否写入产物——而不是整个类别采用一个固定数值。因此,范围较窄的观察所扣除的费用只是深度草稿的一小部分,其公布的等待时间(约 20 秒至 70 秒)也以同样方式有所不同。
每个类别和每个具体工具的当前金额,都显示在管理面板 MCP 部分中该工具自己的行内;这些金额由服务器实时读取,而不是来自书面副本,也显示在 Docsbook 定价页面上。本页面特意不引用任何金额:写入文档的价格可能在无人察觉的情况下过时。
发现功能永远不计量。描述服务器、查找技能或小组件、列出你的工作区以及创建工作区都不收费——握手过程不应收费,创建计费对象的调用也不应收费。
由哪个项目支付,是根据调用本身确定的——即你指定的工作区及其作用域所涵盖的仓库,并且始终只能是你拥有的项目。未指定项目的调用将不计量地提供服务。如果工具随后执行 AI 工作,该工作也会产生扣费;两项费用是相加,而不是相互替代。
余额用尽时,计量调用会在运行前被拒绝,拒绝信息会说明哪个项目余额用尽、该调用将扣除多少、剩余多少,以及在哪里为该项目充值。余额不会按计划自动获得赠送金额,不过你可以在账单页面设置自己的月度付款,每月为同一余额充值。免费发现功能仍会继续运行,因此你的代理仍然可以了解发生了什么。
失败的调用仍会收费——因为工作已经发生,答案也会对此作出说明。服务器完全未能运行的调用不会收费。
你可以逐行查看调用记录。每次计量调用都会出现在项目的 信息流面板中——包括使用了哪个工具、是否成功、耗时多久以及扣除了多少费用——并且可以按计费类别筛选。没有针对单个项目的调用(描述服务器、列出你的项目、创建项目)归属于你的账户,不会出现在任何项目的信息流中;发现调用则完全不会留下记录。
未经身份验证、限定仓库范围的公共文档网站访问永远不会计量。
令牌允许执行的操作#
对 Docsbook MCP 服务器的访问权限由令牌决定,而不是由层级决定。令牌携带一个作用域,作用域是区分读取和写入的唯一因素:
- 只读 — 所有报告、搜索和大纲工具都会正常响应。
write_docs、create_issue、connect_source、configure_source、enable_agent以及三个写入run_docs_*会拒绝执行,并说明原因。目前会检查作用域的工具就是这八个;设置、Webhook、目标和翻译写入工具仅由项目所有权控制,因此只读并不是一个“什么都不能更改”的令牌 — 请参阅 MCP 服务器安全性。 - 读写 — 账户能够执行的所有操作:提交页面、提交问题、连接来源、启用代理以及更改设置。
- 完全没有令牌 — 在仓库范围的端点(
docsbook.io/{owner}/{repo}/api/mcp/server)上,get_info、find_skill、find_widget和list_content_widgets会从公共目录中响应,而search则会针对该站点自身的文档进行响应 — 这是此处唯一一个读取项目的工具,因为它读取的是已发布的网站。在私有网站、计划已失效的网站、未固定到网站的端点上,以及项目没有剩余 AI 余额时,该工具都会被拒绝;它不接受项目参数,因此始终只能读取其固定到的网站。其他所有工具都需要与 Docsbook 账户关联的有效 Bearer 令牌。
当调用被拒绝时,服务器会返回一个说明原因的结构化错误,而不是简单的 403,因此代理可以告诉读者需要修复什么。有关身份验证流程以及服务器存储内容的信息,请参阅 MCP 服务器 — 信任与安全。