MCP服务器模板集合

一套用于构建MCP(Model Context Protocol)服务器的生产就绪模板,支持多种编程语言,适用于开发与Claude等MCP兼容客户端集成的工具。

  • by meshula
  • Zig
  • 本地部署
  • 更新于
在 GitHub 查看 meshula/LabMCP

使用说明

LabMCP-MCP服务器模板集合

一组用于构建不同语言的MCP(模型上下文协议)服务器的最小生产就绪模板。

概述

此存储库包含MCP服务器的参考实现,展示了构建与Claude和其他MCP兼容客户端集成的工具的最佳实践。每个模板都实现了一个骰子滚动工具作为工作示例。

可用模板

🦎 zig-mcp模板

语言: Zig 0.15.1 依赖关系: 无(仅使用Zig标准库) 构建系统: zig建筑

现代Zig中的最小MCP服务器实现,展示了内存安全系统编程。

  • ✅ 零外部依赖
  • ✅ 快速编译
  • ✅ 类型安全的JSON处理
  • ✅ 全面的测试套件

查看文档→

🔧 cpp20 mcp模板

语言: C++20 依赖关系: RapidJSON(仅标题) 构建系统: 制造

使用现代C++20特性的干净、面向对象的MCP服务器实现。

  • ✅ 现代C++特性(指定初始化器,std::可选)
  • ✅ RapidJSON用于快速JSON解析
  • ✅ RAII和智能指针
  • ✅ 简单的Makefile构建

查看文档→

快速开始

Zig模板

cd zig-mcp-template
zig build
./zig-out/bin/zig-mcp-template

C++模板

cd cpp20-mcp-template
make
./build/cpp20-mcp-template

测试

这两个模板都包含测试脚本:

# Zig
cd zig-mcp-template && ./test_server.sh

# C++
cd cpp20-mcp-template && ./test_server.sh

与Claude Desktop一起使用

添加到您的Claude Desktop配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "zig-dice": {
      "command": "/path/to/LabMCP/zig-mcp-template/zig-out/bin/zig-mcp-template"
    },
    "cpp-dice": {
      "command": "/path/to/LabMCP/cpp20-mcp-template/build/cpp20-mcp-template"
    }
  }
}

特性

所有模板都实现:

  • MCP协议:完整的JSON-RPC 2.0实现
  • 工具注册表模式:基于回调的调度的集中工具注册
  • 摇骰子:接受符号如“3d8”的示例工具
  • 错误处理:正确的错误代码和消息
  • stdio运输:标准输入/输出通信
  • 测试:包括集成测试脚本
  • 易于扩展:在不修改核心调度逻辑的情况下添加新工具

项目结构

LabMCP/
├── README.md                    # This file
├── zig-mcp-template/
│   ├── README.md
│   ├── PLAN.md
│   ├── STATUS.md
│   ├── build.zig
│   ├── src/
│   └── test_server.sh
└── cpp20-mcp-template/
    ├── README.md
    ├── PLAN.md
    ├── STATUS.md
    ├── Makefile
    ├── src/
    ├── third-party/
    └── test_server.sh

创建自己的工具

这两个模板都使用工具注册表模式以便于扩展:

Zig模板

  1. 在中创建新文件 src/tools/ (例如。, mytool.zig)
  2. 定义常量: NAME, DESCRIPTION, SCHEMA
  3. 实施 execute() 函数匹配 ToolExecuteFn 签名
  4. 向添加一个条目 TOOLS 数组in src/tools/registry.zig
  5. 构建和测试-无需更改调度逻辑!

C++模板

  1. 在中创建新文件 src/tools/ (例如。, MyTool.cpp)
  2. 执行工具逻辑
  3. 将其注册到工具向量中 main.cpp
  4. 构建和测试

这两种方法都消除了硬编码的工具处理,并使用了集中注册。

资源

语言比较

特性 Zig C++20
构建速度 ⚡ 非常快 🚀 快速
依赖关系 无 仅RapidJSON
内存安全 ✅ 内置 手动(RAII)
学习曲线 中等 中等偏高
成熟 新兴 成熟
性能 优秀 优秀

贡献

每个模板都是自包含的,可以独立使用。请随意:

  • 根据您的需求进行分叉和修改
  • 添加新的工具实现
  • 提交改进
  • 用其他语言创建模板

许可证

MIT许可证-有关详细信息,请参阅各个模板目录。

支持

如有疑问或问题:

  • 检查单个模板README文件
  • 查看PLAN.md文件以了解架构详细信息
  • 检查STATUS.md文件的当前状态

内置: Zig 0.15.1 | C++20 | RapidJSON 协议: MCP 2024-11-05 状态: ✅ 生产就绪