mcp服务器zig
为Claude Code提供Zig语言智能的MCP服务器。包裹 ZLS (Zig语言服务器),并公开了8个用于诊断、格式化、悬停信息、转到定义、引用、完成、文档符号和构建的工具。
先决条件
- Node.js >= 18
- 之字形 PATH上的编译器(
zig version) - ZLS 关于PATH(
zls --version)
# macOS
brew install zig zls
# Or download from:
# https://ziglang.org/download/
# https://github.com/zigtools/zls/releases安装
添加到克劳德代码:
claude mcp add --transport stdio mcp-server-zig -- npx -y mcp-server-zig或来源:
git clone https://github.com/sadopc/mcp-server-zig.git
cd mcp-server-zig
pnpm install && pnpm build
claude mcp add --transport stdio zig -- node $(pwd)/build/index.js工具
zig_diagnostics
获取Zig源文件的错误和警告。
| 参数 | 类型 | 说明 |
|---|---|---|
file_path | string | .zip文件的绝对路径 |
zig_format
使用格式化Zig码 zig fmt.
| 参数 | 类型 | 说明 |
|---|---|---|
file_path | 弦? | 要就地格式化的.zip文件的路径 |
code | 弦? | 要格式化的Zig源代码字符串 |
提供其中之一 file_path 或 code不是两者都有。
zig_hover
获取某个位置符号的类型信息和文档。
| 参数 | 类型 | 说明 |
|---|---|---|
file_path | string | .zip文件的绝对路径 |
line | number | 从零开始的行号 |
character | number | 从零开始的字符偏移量 |
zig_definition
转到定义--查找符号的定义位置。
| 参数 | 类型 | 说明 |
|---|---|---|
file_path | string | .zip文件的绝对路径 |
line | number | 从零开始的行号 |
character | number | 从零开始的字符偏移量 |
zig_references
查找对符号的所有引用。
| 参数 | 类型 | 说明 |
|---|---|---|
file_path | string | .zip文件的绝对路径 |
line | number | 从零开始的行号 |
character | number | 从零开始的字符偏移量 |
zig_completions
获取某个职位的完成建议。
| 参数 | 类型 | 说明 |
|---|---|---|
file_path | string | .zip文件的绝对路径 |
line | number | 从零开始的行号 |
character | number | 从零开始的字符偏移量 |
limit | 号码? | 返回的最大完成次数(默认值:20) |
zig_document_symbols
获取文档符号轮廓(函数、结构、变量等)。
| 参数 | 类型 | 说明 |
|---|---|---|
file_path | string | .zip文件的绝对路径 |
zig_build
跑 zig build 在项目目录中。
| 参数 | 类型 | 说明 |
|---|---|---|
project_path | string | 项目目录路径(包含build.zig) |
args | string\[\]? | 其他参数 zig build |
运作原理
Claude Code ←(MCP/stdio)→ mcp-server-zig ←(LSP/stdio)→ ZLS subprocess
←(shell exec)→ zig fmt / zig build- ZLS工具 (诊断、悬停、定义、引用、补全、符号):服务器将ZLS作为子进程生成,通过stdio上的LSP进行通信。ZLS在第一次工具调用时缓慢启动,在崩溃时自动重启。
- CLI工具 (format,build):这些调用
zig fmt和zig build直接——不需要ZLS。
故障排除
“ZLS生成错误” --ZLS未安装或未安装在PATH上。跑 which zls 以验证。
“zig-fmt失败” --未安装Zig编译器或未安装在PATH上。跑 which zig 以验证。
诊断为空 --ZLS需要时间来分析文件。默认情况下,服务器等待200毫秒。对于大型项目,诊断可能需要更长的时间才能出现。
工具悬挂 --检查ZLS是否与您的Zig版本兼容。ZLS和Zig版本应匹配。
许可证
麻省理工学院
