grpcmcp

grpcmcp

site icon
2025.04.10 7
GogRPC 代理服务管理开发效率
grpcmcp 是一个简单的 MCP 服务器,它可以根据提供的描述符文件或使用反射代理到 gRPC 后端。它支持 SSE 和 STDIN 两种传输方式,并提供了多种配置选项来灵活地连接和管理 gRPC 服务。
View on GitHub

Overview

基本能力

产品定位

grpcmcp 是一个用于代理和管理 gRPC 后端服务的 MCP 服务器,支持通过描述符文件或反射机制动态获取 gRPC 服务端点。

核心功能

  • SSE 传输:通过 hostport 参数启用 SSE 传输,服务端点在 http://localhost:3000/sse
  • STDIN 传输:通过配置文件设置 STDIN 传输方式。
  • 描述符文件支持:通过 descriptors 参数指定 protobuf 定义文件。
  • 反射支持:通过 reflect 参数使用 gRPC 反射获取服务端点。
  • 服务过滤:通过 services 参数过滤特定的 gRPC 服务。
  • 认证支持:通过 bearerbearer-env 参数添加 Bearer Token 认证。

适用场景

  • 开发环境中快速代理和测试 gRPC 服务。
  • 在需要动态获取 gRPC 服务端点的场景中使用。
  • 需要灵活配置和管理 gRPC 服务的场景。

使用教程

使用依赖

  1. 确保已安装 Go 环境,并将 Go 的 bin 目录添加到 PATH 中。

安装教程

  1. 安装二进制文件: bash go install .bash go install github.com/adiom-data/grpcmcp

  2. 运行示例 gRPC 服务器: bash go run example/main.go 这将启动一个 gRPC 健康服务,端口为 8090,并启用服务器反射。

  3. SSE 传输:在另一个终端中运行: bash grpcmcp --hostport=localhost:3000 --reflect SSE 端点将在 http://localhost:3000/sse 提供服务。

  4. STDIN 传输:在配置文件中设置: json "grpcmcp": { "command": "grpcmcp", "args": ["--reflect"] }

调试方式

  1. 查看帮助信息: bash grpcmcp --help
  2. 检查 gRPC 服务是否正常运行: bash curl http://localhost:3000/sse 或使用 gRPC 客户端工具测试服务端点。

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。