返回市场
zig-MCP服务器

zig-MCP服务器

作者:openSVM35 星标更新:2025-08-30

项目介绍

Zig MCP 服务器

smithery 徽章

现代Zig AI 10倍开发助手,全面支持构建系统

一个强大的模型上下文协议(MCP)服务器,提供全面的Zig语言支持,包括现代构建系统支持、代码优化和最佳实践指导。

<a href="https://glama.ai/mcp/servers/oxiw2bsb15"><img width="380" height="200" src="https://glama.ai/mcp/servers/oxiw2bsb15/badge" alt="Zig Server MCP 服务器" /></a>

🚀 v0.2.0 新特性

  • 🏗️ 现代构建系统支持:生成并分析使用Zig 0.12+模式的build.zig文件
  • 📦 依赖管理:创建用于现代包管理的build.zig.zon文件
  • 🔧 增强的代码分析:改进的优化建议和模式检测
  • 🧪 全面测试:85+测试用例,带有完整的覆盖率报告
  • ⚡ 更好的性能:模块化架构,改进的错误处理
  • 📚 扩展文档:构建系统故障排除和最佳实践指南

🛠️ 特性

🏗️ 构建系统工具(新!)

1. 构建系统生成 (generate_build_zig)

生成使用Zig 0.12+模式的现代build.zig文件:

  • 支持交叉编译
  • 现代依赖管理
  • 测试和文档集成

2. 构建系统分析 (analyze_build_zig)

分析现有的构建文件并获取现代化建议:

  • 检测过时的模式
  • 建议使用Zig 0.12+替代方案
  • 识别缺失的最佳实践

3. 依赖管理 (generate_build_zon)

生成用于现代包管理的build.zig.zon文件:

  • 流行的Zig包目录
  • 版本管理指南
  • 最佳实践文档

特性

工具

1. 代码优化 (optimize_code)

增强现代Zig模式和构建模式分析:

  • 调试、安全发布、快速发布、小型发布
  • 现代优化建议
  • Zig 0.12+模式推荐
// 示例用法
{
  "code": "const std = @import(\"std\");\n...",
  "optimizationLevel": "ReleaseFast"
}

2. 计算单元估算 (estimate_compute_units)

估算Zig代码的计算复杂度和资源使用情况:

  • 内存使用分析
  • 时间复杂度估算
  • 分配模式检测
// 示例用法
{
  "code": "const std = @import(\"std\");\n..."
}

3. 代码生成 (generate_code)

根据自然语言描述生成Zig代码,支持:

  • 错误处理
  • 测试
  • 性能优化
  • 文档
// 示例用法
{
  "prompt": "创建一个排序整数数组的函数",
  "context": "应处理空数组并在可能的情况下使用comptime"
}

4. 代码建议 (get_recommendations)

提供代码改进建议和最佳实践:

  • 风格和约定
  • 设计模式
  • 安全考虑
  • 性能洞察
// 示例用法
{
  "code": "const std = @import(\"std\");\n...",
  "prompt": "提高性能和安全性"
}

资源

  1. 语言参考 (zig://docs/language-reference)

    • 官方Zig语言文档
    • 语法和功能指南
    • 最佳实践
  2. 标准库文档 (zig://docs/std-lib)

    • 完整的标准库参考
    • 函数签名和用法
    • 示例和注意事项
  3. 流行仓库 (zig://repos/popular)

    • GitHub上的顶级Zig项目
    • 社区示例和模式
    • 实际应用实现

安装

通过Smithery安装

要通过Smithery自动安装Zig MCP服务器到Claude桌面:

npx -y @smithery/cli install zig-mcp-server --client claude

手动安装

  1. 克隆仓库:
git clone [repository-url]
cd zig-mcp-server
  1. 安装依赖:
npm install
  1. 构建服务器:
npm run build
  1. 配置环境变量:
# 创建GitHub令牌以获得更好的API速率限制
# https://github.com/settings/tokens
# 所需范围:public_repo
GITHUB_TOKEN=your_token_here
  1. 添加到MCP设置:
{
  "mcpServers": {
    "zig": {
      "command": "node",
      "args": ["/path/to/zig-mcp-server/build/index.js"],
      "env": {
        "GITHUB_TOKEN": "your_token_here",
        "NODE_OPTIONS": "--experimental-vm-modules"
      },
      "restart": true
    }
  }
}

使用示例

1. 优化代码

const result = await useMcpTool("zig", "optimize_code", {
  code: `
    pub fn fibonacci(n: u64) u64 {
        if (n <= 1) return n;
        return fibonacci(n - 1) + fibonacci(n - 2);
    }
  `,
  optimizationLevel: "ReleaseFast"
});

2. 估算计算单元

const result = await useMcpTool("zig", "estimate_compute_units", {
  code: `
    pub fn bubbleSort(arr: []i32) void {
        var i: usize =  0;
        while (i < arr.len) : (i += 1) {
            var j: usize = 0;
            while (j < arr.len - 1) : (j += 1) {
                if (arr[j] > arr[j + 1]) {
                    const temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
    }
  `
});

3. 生成代码

const result = await useMcpTool("zig", "generate_code", {
  prompt: "创建一个线程安全的计数器结构",
  context: "应使用原子操作并处理溢出"
});

4. 获取建议

const result = await useMcpTool("zig", "get_recommendations", {
  code: `
    pub fn main() !void {
        var list = std.ArrayList(u8).init(allocator);
        var i: u32 = 0;
        while (true) {
            if (i >= 100) break;
            try list.append(@intCast(u8, i));
            i += 1;
        }
    }
  `,
  prompt: "性能"
});

开发

项目结构

zig-mcp-server/
├── src/
│   └── index.ts    # 主服务器实现
├── build/          # 编译的JavaScript
├── package.json    # 依赖项和脚本
└── tsconfig.json   # TypeScript配置

构建

# 开发构建,带监视模式
npm run watch

# 生产构建
npm run build

测试

npm test

贡献

  1. 分叉仓库
  2. 创建你的功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m '添加一些惊人的功能')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开Pull Request

许可证

MIT许可证 - 查看LICENSE文件了解详情。