关于管理员 MCP
docs.json、提交拉取请求、修改设置、创建自动化等等。
将任意 MCP 客户端 (例如 Claude、Claude Code、ChatGPT 或 Cursor) 连接到管理员 MCP 服务器。连接后,你可以使用与编写代码相同的工具协同处理你的 Mintlify 内容和设置。每次内容工具调用都会指定其操作的 branch。对部署 branch 的编辑会作为未发布的更改落在该 branch 上,对其他任何 branch 的编辑则通过拉取请求进行。你调用 publish 或合并拉取请求时,这些编辑才会交付。项目管理更改 (例如自动化和设置更新) 会立即应用到线上项目。如果你的组织有多个项目,单个管理员 MCP 连接即可访问所有这些项目并在它们之间切换。
管理员 MCP 服务器允许 AI 工具访问你的 Mintlify 控制台。请将其视为拥有写入权限的工具。仅从受信任的 AI 工具连接它,在合并前审查每一个拉取请求,并注意项目管理更改会在没有拉取请求的情况下立即生效。
https://mcp.mintlify.com。每个客户端都连接到同一个端点,并使用你的 Mintlify 账户进行身份认证。
管理员 MCP 与其他 Mintlify MCP 服务器的区别
前置条件
- Mintlify 账户:你需要一个 Mintlify 账户,并具有对你想要编辑的项目的访问权限。OAuth 会话会继承你的控制台权限,因此仅限管理员的操作 (例如对受保护设置执行
update_config) 需要该项目上的管理员角色。 - Git 提供方访问权限:为该项目安装的 GitHub、GitLab 或 Bitbucket 连接必须对部署 branch 所在的仓库具有写入权限。
publish会通过与常规部署相同的集成打开 PR。 - MCP 客户端:一款支持 MCP 的 AI 工具,例如 Claude、Claude Code、ChatGPT、Cursor 或 Codex。
连接到管理员 MCP
- Claude
- Claude Code
- ChatGPT
- Cursor
- Codex
1
添加 Mintlify 连接器
- 在 Claude 连接器目录中打开 Mintlify 连接器。
- 点击 Connect 并完成 OAuth 登录。
https://mcp.mintlify.com。2
在聊天中使用 MCP
点击附件按钮 (加号图标),然后选择 Mintlify 连接器。Claude 现在可以在回答你的提示时调用 Mintlify 管理员 MCP 工具。
将连接限制为搜索和读取工具
x-mintlify-toolset: knowledge 请求头。之后,该连接只会列出以下工具:search、read、read_comments、read_page_history、list_nodes、list_branches 和 list_deployments。该连接上的 AI 工具无法编辑内容、发布或更改设置。
管理员 MCP 还会为 AI 工具提供更简短的说明,专注于搜索和读取页面。
例如,使用 Claude Code 时:
编辑的工作方式
branch 参数。会更改内容的工具(例如 edit_page、create_node、update_config、publish 和 discard)必须传入该参数。读取类工具(例如 read、search、read_page_history、list_nodes、status 和 diff)在省略该参数时默认使用你的部署 branch。管理员 MCP 不会在调用之间记住 branch,因此 AI 工具每次都会传入 branch。针对私有页面的请求不需要 branch。管理员 MCP 只能访问 Base 中的私有页面。在文档项目中,私有页面请求会返回 private_pages_unavailable。
流程如下:
1
发现项目(可选)
如果你的连接可以访问多个项目,请调用
list_deployments 以查看可用的 subdomain 值。如果你的连接仅覆盖单个项目,请跳过此步骤。2
读取、搜索和编辑
AI 使用
search、read、list_nodes、edit_page、write_page、create_node 和 update_config 等工具进行更改。在组织范围的连接上,请传入 subdomain 来选择项目。将部署 branch 作为 branch 传入即可直接编辑它。编辑会作为未发布的更改落在该 branch 上。参见直接编辑部署 branch。如果你的项目要求拉取请求,Mintlify 会拒绝该编辑并返回说明原因的消息,且不会做任何更改。此时请调用 create_branch,并将返回的 branchName 作为 branch 传入。参见在 branch 上工作。3
审查差异
随时调用
diff 查看某个 branch 与你的部署 branch 相比发生了哪些更改。调用 status 可获取已编辑文件、已更改的 docs.json 键和导航更改的摘要。省略 branch 时,两者都会报告你的部署 branch。在控制台中打开 editorUrl,可以看到相同更改的渲染效果。当 create_node 添加页面时,会返回一个直接打开该页面的 editorUrl。4
发布
调用
publish 并传入 branch 和 title 以发布你的编辑。管理员 MCP 会告知 AI 工具,仅在你要求其发布、上线或合并时才调用 publish,因此在你提出要求之前,你的编辑会保持未发布状态。在部署 branch 上,publish 会提交你自己的待处理更改。在 branch 上,publish 会提交所有待处理内容并返回该 branch 的拉取请求,如果还没有拉取请求则会创建一个。在没有新内容可提交时再次调用,会返回现有的拉取请求。如果既没有可提交的内容也没有拉取请求,publish 会返回 no_pending_changes。除非你传入 merge: true,否则 publish 不会合并拉取请求。传入 merge: true 时,publish 还会将拉取请求合并到你的部署 branch,并返回 merged: true。只有在 Mintlify 接受直接编辑你的部署 branch 时,才允许合并。参见直接编辑部署 branch。否则,publish 会返回 merge_not_allowed 及原因,并保持拉取请求为打开状态以供审核。只有在你希望更改跳过审核时,才让 AI 工具执行合并。响应中包含一个 editorUrl,用于打开第一个新建或更新的页面。如果更改只涉及配置,该链接会打开 branch。旧版客户端仍可传入 mode,但 publish 会忽略它。5
检查部署
当
publish 提交到你的部署 branch 时(无论是直接提交还是通过合并拉取请求),响应中会包含一个 commitSha 和一个 deployment 对象。在部署完成之前,你的更改不会在站点上线。使用 commitSha 调用 deployment_status 以检查进度。AI 工具大约每 30 秒检查一次,直到 live 为 true;如果状态为 failed、not_live 或 skipped,则停止并报告 message。6
按需丢弃
调用
discard 并传入 branch 以放弃你的编辑。它会删除哪些内容取决于该 branch。参见直接编辑部署 branch和在 branch 上工作。直接编辑部署 branch
branch 传入,管理员 MCP 就会像你在控制台编辑器中一样编辑它。你无需调用 create_branch,也不会创建拉取请求。
在部署 branch 上,AI 工具以你的身份操作:
- 编辑对协作者实时可见。 在控制台中编辑部署 branch 的其他人会实时看到 AI 的更改。
publish只发布你的更改。 它将你的待处理更改直接提交到部署 branch,效果等同于在编辑器中点击 Publish。其他人未发布的更改保持待处理状态。你在控制台编辑器中未发布的编辑也会一并发布。discard只撤销你的更改。 它返回discardedChanges,表示撤销的更改数量。其他人的更改和 branch 本身不受影响。status只列出你的更改。
list_deployments 返回 projectType: "workspace" 时,该项目即为 Base,Mintlify 会自动将编辑提交到部署 branch,包括上传的图片。
Mintlify 按页面跟踪更改。如果你和其他人编辑了同一页面,publish 会发布整个页面,discard 会撤销整个页面,包括其他人的编辑。
在以下任一情况下,Mintlify 会拒绝对部署 branch 的编辑,且不会做任何更改:
- 你的发布设置中关闭了 直接推送到你的部署 branch。
- 部署 branch 的保护规则要求拉取请求,或 Mintlify 无法检查你的 branch 保护规则。
- 部署 branch 的编辑在控制台编辑器中被锁定。
- 你使用客户端令牌或机器到机器令牌连接,而不是 OAuth 登录。这些令牌未关联到用户,因此没有”自己的”更改。
publish 会返回 branch_protected,你的更改保持待处理状态。请打开控制台编辑器,将这些更改移到新的 branch。
启用自动发布的项目
branch 传入。Mintlify 会自动将你的编辑提交到部署 branch。
在这些项目中,Mintlify 会拒绝 create_branch 以及针对任何其他 branch 的调用,且不会做任何更改。如果你的连接仅涵盖该项目,管理员 MCP 不会列出 create_branch 或 list_branches。
在启用自动发布的项目中,直接推送到你的部署 branch 和 branch 保护规则不会阻止对部署 branch 的编辑。当部署 branch 的编辑在控制台编辑器中被锁定,或者你使用客户端令牌或机器到机器令牌连接时,Mintlify 会拒绝编辑。
要求审阅的项目
publish。对于其他任何人,在部署 branch 上调用 publish 会返回 review_required,更改保持待处理状态。
在其他 branch 上,publish 会提交你的更改并打开拉取请求。管理员可以使用 merge: true 将拉取请求合并到部署 branch。在审阅者于控制台编辑器中批准了 branch 上的所有更改(包括其 Site changes)后,发布者也可以合并。对于其他任何人,合并会返回 review_required,拉取请求保持打开状态,因此请改为在编辑器中请求审阅。
要发布你的更改,请让 AI 工具请求审阅。AI 工具会使用你更改的页面和你指定的审阅者调用 request_review。审阅者批准更改后,管理员或发布者会在控制台编辑器中或通过 publish_review_request 发布这些更改。相关工具请参见审阅请求。
在 branch 上工作
create_branch 并传入 title。Mintlify 会从部署 branch 创建一个新的 branch,按照与控制台编辑器相同的方式将其命名为 <your-name>/<title-slug>,并基于你已发布的内容进行初始化。拉取请求会以此标题打开。例如 create_branch { subdomain: "acme", title: "Add tips page" }。
create_branch 返回 branchName、起始的 baseBranch 和 baseSha、一个 note,以及一个可在控制台编辑器中实时跟进的 editorUrl。在之后的每次调用中,将 branchName 作为 branch 传入。
要在现有 branch 上工作,请将其名称作为 branch 传入。调用 list_branches 可发现项目仓库中的 branch。Mintlify 会拒绝针对不存在的 branch 的调用。
在 branch 上,Mintlify 会在最后一次更改约 15 秒后自动提交你的编辑,包括页面内容、导航更改和 docs.json 更新。首次提交会打开一个针对部署 branch 的拉取请求。如果启用了默认创建草稿 pull request,拉取请求会以草稿形式打开。在有人合并该拉取请求之前,任何更改都不会进入你的部署 branch。
在部署 branch 以外的 branch 上,discard 会删除该 branch 并关闭其拉取请求,即使该 branch 已有提交。这与在控制台编辑器中删除 branch 的效果相同。discard 只会删除你在 Mintlify 中创建的 branch。对于其他 branch,它会拒绝操作且不做任何更改。
发布
create_branch 和拉取请求。
此开关与 Slack 和控制台代理共享相同的 agentReviewProcess 设置,因此在这里所做的任何更改都会同样应用于那些流程。
以下三种情况下该开关会被禁用:
- 你的部署 branch 需要拉取请求。 如果 branch 保护规则或必需的审批阻止了直接推送,那么无论此设置如何,MCP 更改都会始终通过拉取请求进行。
- Mintlify 托管你的项目。 对于由 Mintlify 托管的站点,MCP 更改会始终直接推送,除非 branch 保护仍然要求拉取请求。
- 你不是管理员。 更改此设置需要项目的管理员角色。编辑者和查看者会看到该开关被禁用,并显示权限横幅。
重定向 URI
myapp://callback),然后点击 Add domain。
允许的域名同时适用于管理员 MCP 和你的 Search MCP 服务器。
凭据
- 在控制台侧边栏中,点击 MCP,然后点击 Credentials。
- 点击 Create credential。
- 复制密钥。控制台只会显示一次该密钥。
read_inbox 需要 OAuth 登录,使用凭据调用时会返回 user_principal_required。
要撤销凭据,请点击其旁边的删除图标。
管理员 MCP 可以做什么
内容
read: 获取branch上任意页面的完整 MDX;省略branch时,则获取部署 branch 上的页面。可以传入页面路径(例如guides/setup),或编辑器 URL 的最后一段,即页面 ID,其前面可能带有标题。使用编辑器 URL 中的页面 ID 时,请将该 URL 中的 branch 作为branch传入。响应中包含filePath,你可以将其作为path传给edit_page和write_page;响应中还包含所返回内容的version。传入forEdit: true可读取实时页面,而不是其已保存的副本。在使用write_page覆盖页面之前,请使用forEdit: true。要读取私有页面,请传入通过list_nodes加visibility: "private"获取的private-page-<uuid>节点 ID。私有读取无需branch,但需要 OAuth 会话。管理员 MCP 会拒绝使用客户端令牌和机器到机器令牌访问私有页面。search: 按语义和精确措辞搜索branch上的页面;省略时搜索部署 branch。将问题、主题、名称或精确短语作为query传入。默认情况下,search会以results的形式优先返回最相关的页面。每个结果包含页面的path和title,以及包含匹配行的snippets。当search对排名第一的结果有把握时,该结果还会包含页面的完整content,最多 16 KB。其后的结果会包含其最佳匹配周围的section。传入limit可返回最多 20 个页面(默认 6 个)。如需列出包含某个短语的所有页面(例如在重命名之前),请传入mode: "all"(默认limit为 100,最大 500)。传入regex: true会将query视为正则表达式,并始终使用mode: "all"。edit_page: 对页面进行有针对性的编辑。path的传入形式与read相同。传入oldString和newString进行单次替换,或传入最多包含 100 个替换的edits列表,在一次调用中修改页面的多个部分。Mintlify 按顺序应用这些编辑,每个编辑都基于上一个编辑的结果。如果任一编辑失败,则所有编辑都不会应用。与write_page一样,edit_page会针对编辑新增且被编辑器丢弃的标记返回notRendered。它不会报告页面上原本已有的标记。要编辑私有页面,请将其private-page-<uuid>节点 ID 作为path传入。私有编辑需要在该页面拥有 editor 或更高角色的 OAuth 会话,且无需branch。write_page: 覆盖页面的完整 MDX 内容。path的传入形式与read相同。覆盖页面之前,请先调用带forEdit: true的read,并将返回的version作为baseVersion传给write_page。如果页面在那次读取之后发生了变化,Mintlify 会拒绝写入,不做任何更改,并返回page_changed。请重新读取页面并再次应用你的更改。如果在有内容的页面上省略baseVersion,write_page会返回base_version_required。仅包含 frontmatter 的页面不需要baseVersion。也可接受private-page-<uuid>节点 ID 以覆盖私有页面,其 OAuth 与角色要求与edit_page相同。要创建新的私有页面,请使用create_node。如果内容包含会被 Mintlify 编辑器丢弃的标记,例如<script>标签、<style>块、onClick等事件处理器或 JavaScript 表达式,响应中会包含notRendered字段。每个条目会列出被丢弃的element、其所在的line、编辑器丢弃它的原因why,以及应改用的instead方案,例如 Tailwind 类、使用字面量值的内联style={{}}对象,或手风琴和标签页等 Mintlify 组件。read_page_history: 列出页面在branch上保存的版本历史;省略时使用你的部署 branch。path的传入形式与read相同,包括private-page-<uuid>节点 ID。返回按从新到旧排序的versions以及nextCursor。每个版本包含versionId、createdAt和authors,每位作者都有name以及取值为user、git或system的type。传入limit可每次调用返回 1 到 50 个版本(默认 20 个),将nextCursor作为cursor传回即可列出更早的版本。传入versionId可获取该版本的完整 MDX,结果位于content中。该工具为只读。要恢复早期版本,请先对该页面调用带forEdit: true的read,然后将早期版本的content传给write_page,并将那次读取返回的version作为baseVersion传入。如果该版本包含页面上已不存在的内联数据,write_page无法恢复这些数据。请改为在编辑器中通过版本历史恢复该版本。错误包括page_not_found、version_not_found和invalid_cursor。
内联数据
read、search、diff、read_page_history 和 read_comments 会将每个长度达到 1,000 个字符及以上的 base64 内容替换为占位符,例如 [elided 48210 chars #1234567890]。
将内容传回时,请保持这些占位符不变。edit_page、write_page、create_node 和 suggest_edit 会使用目标页面当前内容中的原始数据替换每个占位符。
如果某个占位符与目标页面上的数据不匹配,Mintlify 会拒绝写入,不做任何更改,并返回 inline_data_unresolved。请仅从同一页面的 read 结果中复制占位符。如果 Mintlify 无法读取页面来恢复占位符,它会返回 inline_data_source_unreadable,且不做任何更改。请重试该调用。
上传
upload_file: 开始上传本地文件。传入目标path、文件的contentType以及以字节为单位的确切size。返回uploadId、预签名的uploadUrl,以及上传时需要发送的headers。finalize_file_upload: 将已上传的图片保存到branch。传入uploadId和相同的path。返回src,你可以通过edit_page或write_page在 MDX 中引用它,或通过update_config在docs.json的logo或favicon字段中引用它。
upload_file 后,AI 工具会使用 PUT 请求和返回的请求头将文件字节上传到 uploadUrl。例如:
path(例如 images/dashboard.png)和 branch 传给 upload_file。上传完成后,调用 finalize_file_upload。Mintlify 会在保存前检查上传文件的内容是否与其扩展名匹配。上传到已存在的 path 会替换该图片。只有 logo 和 favicon 上传可以使用 SVG 文件:上传此类文件时,请向两个工具都传入 purpose: "logo"。页面图片不能是 SVG。已保存的图片会显示在 status 中,并在你调用 publish 时随你的其他编辑一起发布。
要基于本地 Markdown 文件写入页面,请传入 .md 或 .mdx 的 path,并将 contentType 设置为 text/markdown 或 text/plain。页面上传不需要 branch,也不需要 finalize_file_upload。上传完成后,将 uploadId 代替 content 传给 write_page,或作为 data.uploadId 传给 create_node。这样可以避免在工具调用中重新发送大型页面的完整内容。
请在 10 分钟内使用 uploadId。每个 uploadId 只能使用一次,且只能在同一项目中、由创建它的同一用户或客户端使用。Mintlify 会在写入后删除已上传的文件。重复使用或已过期的 uploadId 会返回 upload_not_found。
评论
read_comments: 列出页面上未解决的评论和建议线程,按从旧到新排序。path接受与read相同的格式。每个线程包含threadId、type(comment或suggestion)、线程锚定的quotedText、建议的suggestedText,以及comments(每条包含author、content和createdAt)。如果锚定的文本已不在页面上,线程会包含anchorRemoved: true,quotedText显示原始引用。读取branch上的线程;省略时读取部署 branch 上的线程。add_comment: 在页面上发起新的评论线程,不会更改页面内容。可用于给团队留下反馈,而不是直接编辑。path接受与read相同的格式,content为评论内容,quotedText为要锚定的最短且唯一的可见文本片段,且须位于同一段落或标题内。请使用渲染后的文字,而不是 Markdown 或 MDX 语法。例如,引用custom domain,而不是[custom domain](/path)。返回新的threadId。如果页面上没有该文本,会返回no_match错误。如果匹配到多处,会返回not_unique错误,此时请引用更长的片段。suggest_edit: 在页面上提出带修订标记的建议,而不是直接编辑。原文会以删除线形式保留在页面上,替换内容显示在其旁边。在有人于控制台编辑器中接受或拒绝该建议之前,页面内容不会改变。path接受与read相同的格式,并传入oldString和newString。oldString为要替换的最短且唯一的可见文本片段,且须位于同一段落或标题内。请使用渲染后的文字,而不是 Markdown 或 MDX 语法。传入空的newString可建议删除。可传入可选的comment来说明该修改的价值。Mintlify 会将其作为代理在建议线程中的回复发布。旧的note参数仍可使用,作为comment的已弃用别名。返回新的threadId,以及裁剪到实际变更片段的originalText和suggestedText。如果相同的建议已处于打开状态,响应会包含alreadyExists: true和现有的threadId。no_match和not_unique错误与add_comment相同。两个字符串相同时返回no_change错误,文本与另一条打开的建议重叠时返回conflicting_annotation错误。reply_to_comment: 通过threadId和content回复线程。传入resolve: true可同时解决该线程。Mintlify 会以 agent 身份代表授权用户发布回复,回复会实时显示在控制台编辑器中。resolve_comment: 解决线程而不回复。read_inbox: 列出你在某个项目上的控制台收件箱,按最新活动排序。收件箱包括评论和提及、建议的编辑、审阅请求以及与你共享的私有页面和文件夹。默认情况下,read_inbox返回未处理的项目。将state设为open、done或all,将section设为comment、suggestion、invitation、request或all(默认)。request分区包括审阅请求和邀请。传入filter可将评论限定为mentions或on-my-page(你拥有的页面),将建议限定为来自people或agent的建议,或将request分区限定为requests或invites。除非section为all,否则筛选条件必须与section匹配。传入 ISO 8601 日期时间格式的dateFrom和dateTo,可按最新活动时间限定项目。传入limit可指定每次调用返回 1 到 50 个项目(默认 20),并将nextCursor作为cursor传回以列出更早的项目。每个项目都包含其category、state、latestActivity和target。当target.thread存在、未解决且不在私有页面上时,在其branch上使用其filePath调用read_comments,并使用reply_to_comment回复。restricted项目不包含线程详情。read_inbox为只读操作,绝不会将项目标记为已读或已完成。错误包括invalid_filter、invalid_date_range和invalid_cursor。
add_comment、suggest_edit、reply_to_comment 和 resolve_comment 需要 OAuth 会话和 branch。它们处理该 branch 上的线程,即使对部署 branch 的编辑要求拉取请求,它们也可以在部署 branch 上使用。你可以回复建议线程,但必须在编辑器中接受或拒绝建议。管理员 MCP 不支持私有页面上的评论。read_inbox 同样需要 OAuth 会话,并且只返回该项目所属组织中活跃成员的收件箱。
list_nodes: 遍历branch的导航树(省略时为部署 branch 的导航树),可使用可选筛选条件。按parentId筛选 (使用recursive: true包含所有后代)、按一个或多个节点类型筛选,或按任意分区范围筛选:language、version、tab、dropdown、anchor、product或item。上传的文件和文件夹(file和file_directory节点)仅在你将其加入类型筛选条件时才会出现。每个节点都会返回其id、type、text和parent,并在适用时返回path、pageId和hidden。将页面的path传给read即可获取其内容和 frontmatter。结果通过不透明的cursor分页。传入visibility: "private"可以列出 OAuth 用户有权访问的私有页面和文件夹,而不是 branch 的导航树。私有列表会忽略branch和其他筛选条件,并返回每个节点的role。create_node: 添加新的页面、组、tab、anchor、版本、语言、产品或 dropdown。传入visibility: "private"并配合data.type: "page"或data.type: "group",可在调用者的私有树中创建私有页面或私有文件夹。调用者会成为该节点的 manager。私有创建需要 OAuth 会话,无需branch,并会将节点放在私有根目录下,或放在现有的private-folder-<uuid>父节点下。对于新页面,响应中会包含一个在控制台中打开该页面的editorUrl。如果branch上的path处已存在页面,create_node会将新内容写入该页面,而不会失败。即使你传入了不同的父节点,该页面也会保留其在导航中的位置,并且响应中会包含updated: true。如果 Mintlify 将新页面添加到导航中但无法保存其内容,create_node会返回PAGE_SEED_FAILED。使用相同的path再次调用create_node即可写入内容。update_node: 就地更新节点属性 (重命名组、更改图标、设置默认版本)。可接受private-page-<uuid>或private-folder-<uuid>节点 ID,用于重命名私有页面或私有文件夹,或更改其图标或 tag。私有更新需要具有 editor 或更高角色的 OAuth 会话,且无需branch。move_node: 移动节点,包括重命名页面的路径。delete_node: 从导航中移除节点。可接受private-page-<uuid>或private-folder-<uuid>节点 ID,用于从调用者的私有树中删除私有页面或私有文件夹。私有删除需要在该节点上具有 manager 角色的 OAuth 会话,且无需branch。
create_node、update_node、move_node 或 delete_node 调用使导航处于无效状态,响应中会包含描述该问题的 navigationErrors 字段。例如,将页面放在根级别并与 tab 并列时会返回 navigationErrors。Mintlify 可能会从已发布的导航中移除无效节点,因此请在调用 publish 之前修复这些错误。
配置
update_config: 更改docs.json的顶层设置,例如主题、颜色、logo、导航栏、页脚、重定向、集成和 SEO。它无法更改navigation,请改用导航工具。Mintlify 会整体拒绝无效的配置。
Mintlify skill
read_skill: 读取 Mintlify 的文档编写指南,内容涵盖页面、组件、widget、导航和docs.json。它与 agent 使用的 Mintlify skill 相同。不传path调用时,会返回 skill 的索引SKILL.md以及其参考文件的files列表。从该列表中选取一个文件作为path传入(例如reference/widgets.md)即可读取该文件。该工具为只读,不需要subdomain或branch。如果文件不存在,则返回skill_file_not_found以及files列表。
skills 列表,列出你的组织和你本人已启用的 agent skills,每项都包含 name、description 和 path。传入某个 skill 的 path(例如 org/release-notes/SKILL.md)即可读取其说明。响应会在 files 中列出该 skill 的参考文件,你可以将其中任意一个作为 path 传入。个人 skill 的路径以 me/ 开头,且仅在 OAuth 会话中显示。
管理员 MCP 会指示 AI 工具在编写、重构页面或设置页面样式之前先调用 read_skill,并遵循任何描述与当前任务相符的组织或个人 skill。
项目管理
subdomain,用于指定要操作的项目。组织级连接必须传入 subdomain。调用 list_deployments 查找它。读取工具还接受 subdomains,即最多 25 个项目的列表,并为每个项目返回结果或错误。大多数工具接收一个 request 对象,其 action 字段用于选择操作。例如:
get_deployment_settings: 一次调用即可读取项目的仪表板设置、Git 源、自定义主机名状态和源检查。Slack 配置和代码片段需要选择性开启。get_analytics_report: 读取预构建的分析报告,例如页面浏览量、热门页面、来源、反馈、助手对话或搜索质量。使用request.report选择报告。较大的结果通过maxRows和rowOffset分页。如需自定义查询,请使用query_analytics。get_analytics_schema: 读取query_analytics接受的表、事件和 SQL 规则。AI 工具会在编写查询前调用一次。query_analytics: 对你站点的分析数据运行一条只读SELECT查询,例如页面浏览量、搜索、助手、反馈,以及 Agent 和人类流量。结果已限定在该项目范围内。如果项目未启用分析查询,这两个分析查询工具都会返回not_enabled错误。get_workflows: 列出自动化、获取单个自动化,或分页查看其运行记录。list_repos_and_prs: 列出已连接的仓库、某个仓库的拉取请求,或可在自动化中使用的集成。
update_deployment_settings: 更改一项仪表板设置,例如noindex、base_path、name、disable_ai_chat、search_settings、privacy、custom_scripts或某个附加功能。docs.json设置请使用update_config。manage_custom_domain: 添加或移除自定义域名、配置其主机名,或重新触发主机名验证。manage_git_source: 添加、更新、移除或重新排序项目构建所用的 Git 仓库,或设置基础源。manage_access_auth: 配置或移除站点认证、添加或删除密码、配置终端用户认证,或切换当前启用的认证方式。切换时仅会保留 JWT 配置。如果当前启用的配置使用其他任何类型,切换会以409错误失败,且不会更改你的站点。要更改为其他类型,请直接配置新的认证方式。当某个操作启用站点认证时(包括从终端用户认证切换过来),Mintlify 会删除既没有组织登录也没有密码保护的现有预览。将previewDeployments设置为delete_unauthenticated(默认)、delete_all或keep,以选择如何处理现有预览。manage_workflow: 创建、更新、启用或禁用、删除或触发自动化。manage_workflow_prs: 合并或关闭由自动化运行创建的拉取请求。要合并 AI 工具编辑过的 branch 的拉取请求,请改用带merge: true的publish。manage_members_sharing: 列出、邀请或移除组织成员、更新其角色,或在 Base 中管理私有页面的授权和移动。单次调用最多可邀请 250 人,并会跳过已是成员或已有待处理邀请的人员。
state 下返回项目更新后的状态,因此 AI 工具无需再次调用即可确认更改。每个操作都会检查连接被授予的作用域以及你在仪表板中的角色。未获授权的操作会返回 insufficient_scope 等错误。
审阅请求
branch 参数。
list_review_requests: 列出部署 branch 上未完成的审阅请求。每个请求都包含其requester、reviewers及其state,以及其pages。每个页面都有path、title和approval,值为approved、pending,或在页面于批准后发生更改时为stale。不属于某个页面的更改(例如导航和站点设置)会显示为一个标题为Site changes的项目。request_review: 请审阅者批准你的待处理更改。以与read相同的形式传入最多 100 个pages,并传入reviewers,每位审阅者以email或role表示。role: "admin"会请求所有管理员。role: "editor"会请求所有发布者;如果你的组织没有发布者角色,则请求所有编辑者。如果你有不属于某个页面的待处理更改,且没有其他未完成的请求包含这些更改,Mintlify 会将Site changes项目添加到请求中。Mintlify 只会请求除你之外、可以批准的活跃成员。每位审阅者都会收到一封电子邮件和一条收件箱项目。错误包括页面没有可审阅内容时的no_pending_changes,以及没有可批准的人员与reviewers匹配时的no_reviewers。withdraw_review_request: 按requestId撤回你发起的审阅请求。传入reviewer邮箱可只移除该审阅者。移除最后一位审阅者会撤回该请求。页面会保留其待处理更改。approve_review_request: 按requestId批准他人的审阅请求,相当于在编辑器中点击 Approve。管理员 MCP 会告知 AI 工具,只有在你要求批准该特定请求时才可批准,并且要先与你确认请求者和页面。对于你自己的请求返回own_request,对于你创建的 branch 返回own_branch,如果你的角色无法批准则返回not_reviewer,如果更改在 AI 工具读取后被编辑过则返回changed。publish_review_request: 按requestId发布已批准的审阅请求,并传入用作提交信息的title,相当于在编辑器中发布同事已获批准的更改。管理员和发布者可以发布。管理员 MCP 会告知 AI 工具,只有在你要求发布该特定请求时才可发布。在每个页面的当前版本都获得批准之前返回not_approved;当另一个未完成的请求占用了此请求所需的导航更改时返回navigation_held;如果你的角色无法发布则返回not_allowed;对于 branch 上的请求返回merge_required,该请求会在其拉取请求合并时发布。使用deployment_status跟踪返回的deployment。
branch 与发布
list_deployments: 列出你的连接可以访问的项目,返回每个{subdomain, name, projectType}。projectType为site表示文档站点,为workspace表示 Base。调用此项以了解要传递的subdomain。create_branch: 从部署 branch 创建一个新的 branch,并传入同时用作其拉取请求标题的title。返回要作为branch传入的branchName。参见在 branch 上工作。直接编辑部署 branch 时不需要它。list_branches: 列出某个项目仓库可用的 Git branch,可选用query进行筛选。返回 branch 名称、总数以及部署 branch。其中任意一个都可以作为branch传入。status: 列出branch(省略时为部署 branch)上已编辑的文件、已更改的docs.json键和待处理的导航差异。在部署 branch 上,只列出你的更改。diff: 列出branch与你的部署 branch 之间的所有更改。每个已更改的文件和docs.json条目都包含authors和byYou。authors列出该条目中包含其未发布编辑的成员。当该条目包含你自己的编辑时,byYou为true。在共享 branch 上,可使用byYou区分你的更改和同事的更改。publish: 在部署 branch 上,只将你的待处理更改直接提交。如果你的项目要求审阅且你不是管理员,在部署 branch 上或传入merge: true时会返回review_required。参见要求审阅的项目。在 branch 上,提交待处理更改并返回该 branch 的拉取请求,必要时创建一个。在允许编辑部署 branch 时,传入merge: true可同时合并该拉取请求。当更改进入部署 branch 时,还会返回一个deployment状态,可通过deployment_status跟踪。deployment_status: 检查已发布的更改是否已在你的文档站点上线。传入publish返回的commitSha,或省略它以检查最新一次部署。返回state(pending、queued、building、live、not_live、failed或skipped之一),以及live和一条用于告知你的message。not_live表示站点仍在提供较早的版本,例如部署被回滚,或你的部署固定在较早的版本上。discard: 放弃branch上的编辑。在部署 branch 上,只撤销你的待处理更改。在你创建的其他 branch 上,删除该 branch 并关闭其拉取请求。
示例提示词
- “创建一个标题为 ‘Add billing FAQ’ 的 branch,并在 FAQ 组下创建一个名为 ‘Billing’ 的新页面。为这个 Linear 工单中的五个问题草拟答案。”
- “找出每一个提到已废弃的
legacy_token字段的页面,并将示例更新为使用api_key。发布为一个标题为 ‘docs: replace legacy_token references’ 的 PR。” - “重新组织 API 参考:将 webhooks 页面移入名为 ‘Webhooks’ 的新组,并更新图标以与该部分其他内容保持一致。”
- “读取快速入门页面上未解决的评论,完成所要求的编辑,并回复每个线程,处理完毕后将其解决。”
最佳实践
打开编辑器 URL
打开编辑器 URL
create_branch 会返回 branch 的 editorUrl。create_node 和 publish 会返回已更改页面的 editorUrl。在单独的标签页中打开这些链接,这样你就可以在提示时实时观察 AI 的更改在控制台编辑器中渲染。审查每一个 PR
审查每一个 PR
管理员 MCP 强大到足以在一次会话中重写数百个页面。在合并之前,请阅读 PR 差异并大致浏览渲染预览。不要对大量更改做盲目通过。
保持 branch 聚焦
保持 branch 聚焦
让每个 branch 专注于一项更改。更小的 branch 能生成更易审查的拉取请求,并能节省代理的上下文窗口。再次调用
create_branch 以开始无关的工作。如果你放弃了通过
create_branch 创建的 branch 而没有丢弃它,该 branch 及其拉取请求会保留在你的仓库中。调用 discard 可删除不再需要的 branch,你也可以关闭其拉取请求。断开或撤销访问权限
- 撤销 OAuth 授权:在你的 Mintlify 控制台中,前往 MCP 设置,然后撤销你所连接的 AI 工具对应的条目。撤销会在 30 秒内使该工具的访问令牌失效。此后工具调用会失败,工具在下次调用时必须完成新的 OAuth 登录。
- 删除凭据:要撤销使用凭据的 AI 应用或网关的访问权限,请前往 MCP 设置中的 Credentials 页面并将其删除。
- 在客户端中移除连接器:管理员 MCP 条目的 URL 为
https://mcp.mintlify.com。其名称取决于你添加它的方式,例如mintlify-admin或mintlify。- Claude:Settings → Connectors,然后移除 Mintlify 条目。
- Claude Code:运行
claude mcp list查找该条目的名称,然后运行claude mcp remove <name>。 - ChatGPT:Settings → Connectors,然后移除 Mintlify 条目。
- Cursor:卸载 Mintlify 插件,或从
mcp.json中删除该条目并重新加载。 - Codex:从
~/.codex/config.toml或项目中的.codex/config.toml中删除该条目的[mcp_servers.<name>]代码块。
故障排除
连接失败并提示注册已过期错误
连接失败并提示注册已过期错误
你的 AI 工具正在使用 Mintlify 更新登录系统之前保存的连接。请重新安装 Mintlify 连接器:先从你的 AI 工具中将其移除,然后重新添加。各工具的具体步骤请参阅断开或撤销访问权限。
重新安装连接器后连接仍然失败
重新安装连接器后连接仍然失败
退出控制台,重新登录,然后再次连接你的 AI 工具。这会替换在登录系统更新之前开始的控制台会话。
管理员 MCP 工具出现两次
管理员 MCP 工具出现两次
你的 AI 工具中有多个指向
https://mcp.mintlify.com 的条目。当你通过多种方式连接管理员 MCP 时就可能出现这种情况,例如先手动添加,然后又运行了 mint agent setup,或者安装了 Cursor 插件后又运行了 setup。保留一个条目并移除其他条目。各工具的具体步骤请参阅断开或撤销访问权限。