Zig语言智能服务

提供Zig语言的诊断、格式化、悬停信息、跳转到定义、引用查找、自动补全、文档符号和构建等功能,适用于Zig语言开发环境。

  • by sadopc
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 sadopc/mcp-server-zig

使用说明

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版本应匹配。

许可证

麻省理工学院