mcpField
F
Fonto Docs

Fonto Docs

远程服务
fonto-docs.elliat.nl开发工具53 周前更新

关于 Fonto Docs

Fonto Docs 是面向 AI 工具的 Fonto XML 文档 MCP 服务。它直接读取底层 XML 并按需转为 Markdown,提供搜索、页面获取和 API 名称查询。

主要功能

  1. 01按关键词搜索文档
  2. 02按 slug 获取 Markdown 页面
  3. 03按 API 名称定位文档
  4. 04浏览页面目录与层级

适用场景

  1. 01查找 Fonto API 用法
  2. 02检索指南和升级文档

MCP 相关

通过 MCP 工具和资源向 AI 客户端提供 Fonto 文档,包括搜索、页面内容、API 查询及目录。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://fonto-docs.elliat.nl/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

4
参数类型必填说明
querystring是搜索词,例如 'documentsManager'

详细介绍

fonto-docs-mcp

Deploy to Cloud Run MIT License

一个 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 页面进行配置:

  1. 前往 Connectors 页面并点击 + Add Connector。
  2. 打开 Custom MCP Connector 标签页。
  3. 输入名称(例如 fonto-docs)和服务 URL https://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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。