关于 protoc-gen-go-mcp
protoc-gen-go-mcp 是一个 Go 语言 protoc 插件,可为 gRPC 服务生成 MCP 服务实现,适合从 Protocol Buffer 定义生成 Go 代码的开发者。
主要功能
- 01从 proto 文件生成 MCP 服务代码
- 02支持 gRPC 服务定义
- 03接入 protoc 代码生成流程
适用场景
- 01为 gRPC 服务生成 MCP 实现
- 02在 Protocol Buffer 代码生成流程中加入 MCP 输出
MCP 相关
该插件为 gRPC 服务生成 MCP 服务实现,使 MCP 客户端能够调用生成的服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
protoc-gen-go-mcp
入门
brew tap juliendoutre/protoc-gen-go-mcp https://github.com/juliendoutre/protoc-gen-go-mcp
brew install protoc-gen-go-mcp
用法
brew install protobuf
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
protoc ./example/api.proto --go_out=./example/ --go-grpc_out=./example/ --go-mcp_out=./example/
运行示例
cd example/cmd/mcp && go install .
cd ../../../example/cmd/server && go run .
打开你喜欢的 IDE,并将 MCP 添加到配置中。例如,在 Cursor 中:
// ~/.cursor/mcp.json
{
"mcpServers": {
"example": {
"command": "mcp",
"args": [],
"env": {}
}
}
}
然后在聊天中提出类似“我叫 Julien,可以帮我获取一条问候语吗?”的问题。大模型应会请求示例 MCP 服务。
开发
检查代码
brew install golangci-lint
golangci-lint run
发布新版本
git tag -a v0.1.0 -m "New release"
git push origin v0.1.0
更新示例生成代码
go install .
protoc ./example/api.proto --go_out=./example/ --go-grpc_out=./example/ --go-mcp_out=./example/
参考资料
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。