TIP该项目已在 Tokisaki-Galaxy/zig-docs-mcp 开源,欢迎去点 star。
TIP提供公益mcp服务器,但是鼓励自建以减轻服务器压力https://zigdocs.api.tski.uk/mcp。
为什么要做 Zig Docs MCP?
Zig 的官方文档很完整。但它仍然主要是网页。开发时更常见的需求,并不是“读完一整页”,而是直接拿到某个符号的说明、签名、参数和错误集。
并且zig至今还没有稳定版本发布,还在0.x版本快速迭代。AI 编程 (vibe coding) 对于这种快速变化的文档支持不太友好,经常采用训练时候记忆的旧版本文档,很多时候导致回答过时或者不准确。如果agent直接查询本地zig安装的示例/文档,会消耗大量token和上下文。更好的方法是 docs MCP 服务,直接让AI助手直接查询最新版本的文档。
我做 Zig Docs MCP,就是想把这些信息变成一组可以直接调用的工具。这样,AI 助手、编辑器插件和脚本都能像查 API 一样查 Zig 文档。
它解决了什么问题
日常写 Zig 时,常见的动作其实很琐碎。
- 查某个 builtin 的定义
- 搜索标准库里的类型和函数
- 按版本查看文档
- 让 AI 直接拿到结构化上下文
如果全靠网页跳转,效率并不高。Zig Docs MCP 做的,是把文档拆成可检索、可调用、可复用的接口。
目前核心工具包括:
list_builtin_functions:列出 builtin 函数get_builtin_function:查询 builtin 的签名和说明search_std_lib:搜索标准库符号get_std_lib_item:获取某个条目的完整文档
它的意义不只是“能查”,而是让文档变成可编程资源。这对 IDE 集成、自动补全、AI 辅助问答都很有用。
它是怎么实现的
这个项目大致分成两层。
1. TypeScript / Bun 层
mcp/ 目录负责 MCP 服务入口、文档缓存、版本索引、本地预览和 R2 bundle 生成。
这一层更像调度中心,负责把 Zig 侧产出的数据组织成稳定的接口。
2. Zig / WASM 层
docs/ 目录负责真正的文档解析和 AST 遍历。
它会扫描标准库声明,解析函数、类型、字段和错误集,再生成结构化 Markdown 和搜索索引。 这部分最后会编译成 WASM,供 TS 侧调用。
这样做的好处很直接:Zig 自己来理解 Zig 的语法和 AST,前端和 Worker 侧只负责消费结果。
我最看重的点
查询路径更短。
以前查 Zig 文档,要在网页、源码和版本文档之间来回切换。现在更像直接向工具要答案。
版本化更实用。
很多项目并不使用最新 Zig,而是固定版本。这个项目支持按版本打包和缓存文档,更适合真实开发环境。
更适合 AI 集成。
MCP 的价值就在这里。客户端可以直接拿到结构化结果,不需要手动把文档复制进提示词。
一个我很喜欢的细节
这个项目不是简单地做文档镜像。它更像是在做“文档产品化”。
同样是查询 std.hash_map.HashMap,你可以直接拿到:
- 它是什么类型
- 怎么初始化
- 常用方法有哪些
- 文档、错误和源码入口
这比单纯浏览 HTML 页面更接近“知识接口”。
适合谁
- 写 Zig 的开发者
- 想把 Zig 文档接进 AI 工具的人
- 想做 MCP 服务示例的人
- 需要版本化文档和本地缓存的人
结语
如果说传统文档是给人看的,那么 Zig Docs MCP 更像是给人和工具一起看的。
它把 Zig 文档从网页变成了一个可以检索、可以集成、可以自动化调用的服务。对我来说,这正是 MCP 最实用的地方:让知识从页面里出来,进入工作流里。