gRPC协议生成器

从gRPC协议文件自动生成MCP服务器,无需手动编写代码,支持API密钥认证和Docker部署。

  • by lucasnoah
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 lucasnoah/mcp-proto-generator

使用说明

mcp 原始生成器

使用零手动代码从gRPC原型文件生成MCP(模型上下文协议)服务器。

快速开始

# Install
go install github.com/lucasnoah/mcp-proto-generator/cmd/mcp-proto-gen@latest

# Generate MCP server from your protos
mcp-proto-gen generate --proto-dir ./proto

# Run the generated server
cd mcp-server && go run .

特性

  • 🚀 零手动代码 -100%源自原型定义
  • 🔑 API密钥认证 -使用环境配置进行内置身份验证
  • 🛠️ 智能会议 -自动服务发现和命名
  • 📝 类型安全 - 完整的原型类型映射到JSON Schema
  • 🐳 Docker就绪 -生成的Dockerfile和部署配置
  • ⚡ 快速生成 -在几秒钟内处理大型原型项目

运作原理

  1. 解析 -读取所有.proto文件并导入
  2. 提取 -查找服务、方法和消息类型
  3. 生成 -使用每个RPC方法的工具创建MCP服务器
  4. 部署 -零依赖的单一二进制文件

配置

创建 mcp-gen.yaml 在您的项目中:

proto:
  dirs: ["./proto"]
  
generate:
  output_dir: "./mcp-server"
  module: "github.com/yourorg/mcp-server"
  
auth:
  enabled: true
  env_var: "MCP_API_KEYS"
  
server:
  port: 3333

例子

基本用法

# Generate from current directory
mcp-proto-gen generate

# Specify proto directory
mcp-proto-gen generate --proto-dir ./api/proto

# Custom config
mcp-proto-gen generate --config mcp-gen.yaml

集成示例

# .github/workflows/mcp.yml
- name: Generate MCP Server
  run: |
    mcp-proto-gen generate
    cd mcp-server && go test ./...

MCP映射

您的原型服务将成为MCP工具:

service UserService {
  rpc GetUser(GetUserRequest) returns (User);
  rpc DeleteUser(DeleteUserRequest) returns (Empty);
}

生成MCP工具:

  • user_service_get_user -获取用户信息
  • user_service_delete_user -删除用户(危险)

需求

  • 转到1.21+
  • 协议编译器
  • 项目的原型文件

贡献

  1. 分叉存储库
  2. 创建特征分支
  3. 添加测试
  4. 提交拉取请求

许可证

MIT许可证-请参阅 许可证