关于 Fonto Docs
Fonto Docs 是面向 AI 工具的 Fonto XML 文档 MCP 服务。它直接读取底层 XML 并按需转为 Markdown,提供搜索、页面获取和 API 名称查询。
主要功能
- 01按关键词搜索文档
- 02按 slug 获取 Markdown 页面
- 03按 API 名称定位文档
- 04浏览页面目录与层级
适用场景
- 01查找 Fonto API 用法
- 02检索指南和升级文档
MCP 相关
通过 MCP 工具和资源向 AI 客户端提供 Fonto 文档,包括搜索、页面内容、API 查询及目录。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://fonto-docs.elliat.nl/mcpclaude mcp add --transport http drrataplan-fonto-docs https://fonto-docs.elliat.nl/mcp{"mcpServers":{"drrataplan-fonto-docs":{"type":"http","url":"https://fonto-docs.elliat.nl/mcp"}}}在 Cursor 中打开{"servers":{"drrataplan-fonto-docs":{"type":"http","url":"https://fonto-docs.elliat.nl/mcp"}}}在 VS Code 中打开{"mcpServers":{"drrataplan-fonto-docs":{"type":"http","url":"https://fonto-docs.elliat.nl/mcp"}}}{"mcpServers":{"drrataplan-fonto-docs":{"serverUrl":"https://fonto-docs.elliat.nl/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
4| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | 是 | 搜索词,例如 'documentsManager' |
详细介绍
fonto-docs-mcp
一个 MCP 服务,可让 Claude Code、Cursor 和 Claude Desktop 等 AI 工具访问 Fonto XML 文档。现已上线:fonto-docs.elliat.nl。
Fonto 文档由 JavaScript SPA 渲染,因此 AI 无法直接读取。此服务会按需获取底层 XML,并将其转换为清晰易读的 Markdown。
什么是 MCP?
MCP(Model Context Protocol)是一种让 AI 助手访问外部工具的标准方式。将此服务连接到 AI 工具后,它便可以访问以下工具和资源:
| 工具 | 功能 |
|---|---|
search_fonto_docs | 按关键词搜索,返回匹配页面的标题、说明和 slug |
get_fonto_page | 根据 slug 获取页面的完整内容 |
lookup_api | 直接将 API 名称(例如 documentsManager、createIconWidget)解析到对应页面,一次调用即可完成 |
list_pages | 列出与关键词匹配的所有页面及完整的章节层级,便于探索 |
| 资源 | 内容 |
|---|---|
fonto://catalog | 所有约 2000 个页面,包含真实标题、产品分组和上级路径 |
fonto://page/{slug} | 资源模板,可通过 slug 直接访问任意页面 |
然后,你可以提问,例如 “addDocumentChangeCallback 的工作方式是什么?”,AI 会在实时的 Fonto 文档中查找答案。
连接到 AI 工具
此服务已在 https://fonto-docs.elliat.nl/mcp 上运行,只需将工具指向此地址即可。
Claude Code(CLI)
claude mcp add --transport http fonto-docs https://fonto-docs.elliat.nl/mcp
Cursor
将以下内容添加到项目中的 .cursor/mcp.json(或全局配置文件 ~/.cursor/mcp.json):
{
"mcpServers": {
"fonto-docs": {
"type": "http",
"url": "https://fonto-docs.elliat.nl/mcp"
}
}
}
Claude Desktop / claude.ai
将其添加为自定义连接器:前往 Customize → Connectors,点击 + → Add custom connector,然后粘贴 https://fonto-docs.elliat.nl/mcp。无需设置 OAuth。通过这种方式添加的连接器可在 Claude Desktop 和 claude.ai 中使用。请参阅使用远程 MCP 开始使用自定义连接器。
(claude_desktop_config.json 只能启动本地 stdio 服务,因此无法用于此服务。)
Mistral AI / Vibe
最简单的方法是通过 Mistral 控制台中的 Connectors 页面进行配置:
- 前往 Connectors 页面并点击 + Add Connector。
- 打开 Custom MCP Connector 标签页。
- 输入名称(例如
fonto-docs)和服务 URLhttps://fonto-docs.elliat.nl/mcp,然后点击 Connect。
无需身份验证。Vibe 会自动发现通过这种方式注册的连接器,因此只要你使用 Mistral 帐户登录,工具就会在每个 Vibe 会话中可用,无需本地配置。
或者,编辑 ~/.vibe/config.toml,将服务添加到本地 Vibe 配置中:
[[mcp_servers]]
name = "fonto-docs"
transport = "streamable-http"
url = "https://fonto-docs.elliat.nl/mcp"
无需添加 auth 块,此服务不需要身份验证。
详情请参阅 MCP Connectors 文档。
使用示例
连接后,向 AI 助手提问:
- “搜索 Fonto 文档中的 documentsManager”
- “获取 Fonto 文档中 slug 为 clearundostackfordocument-f0187fade723 的页面”
- “根据 Fonto 文档,addDocumentChangeCallback 的工作方式是什么?”
- “列出 configure 章节中的所有页面”
- “有哪些可用的升级指南?”
HTTP API
如果你想在不使用 MCP 的情况下使用服务器,也可以使用普通的 HTTP API:
GET /search?q={query}— 按关键词搜索页面GET /page/{slug}— 以 Markdown 格式获取页面GET /api/{name}— 按确切名称获取 API 符号对应的页面,格式为 Markdown(如果没有匹配项,则返回 404 并提供建议)GET /catalog— 按章节分组的完整页面目录;添加?section={keyword}可进行筛选
工作原理
Fonto 文档网站将内容存储为 XML,文件位于可预测的 /static/xml/ URL 下。此服务器会直接获取这些 XML 文件并将其转换为 Markdown,绕过 JavaScript 渲染。页面内容会在进程内缓存 10 分钟,以处理同一会话中的重复查询;之后,get_fonto_page 会再次从 documentation.fontoxml.com 实时获取内容。页面目录(由 list_pages 和 fonto://catalog 使用)会在首次使用时从 Fonto 搜索索引获取一次,并在进程的整个生命周期内保存在内存中。
自托管
npm install
npm start # runs on port 8080 by default
PORT=3000 npm start
贡献
欢迎提交 PR。src/fonto.js 中的 XML 到 Markdown 转换会处理两种格式:
- DITA 指南页面 —
<topic>、<body>、<section>结构 - API 参考页面 — 自定义的
<type>、<members>、<description>结构
如果发现页面转换效果不佳,请使用页面 slug 提交 issue。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。