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和部署配置
- ⚡ 快速生成 -在几秒钟内处理大型原型项目
运作原理
- 解析 -读取所有.proto文件并导入
- 提取 -查找服务、方法和消息类型
- 生成 -使用每个RPC方法的工具创建MCP服务器
- 部署 -零依赖的单一二进制文件
配置
创建 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+
- 协议编译器
- 项目的原型文件
贡献
- 分叉存储库
- 创建特征分支
- 添加测试
- 提交拉取请求
许可证
MIT许可证-请参阅 许可证
