项目简介

'gen-mcp' 是一个零代码的Model Context Protocol (MCP) 服务器生成器,旨在简化为大型语言模型(LLM)构建上下文服务后端的复杂性。它允许用户通过简单的YAML配置文件、OpenAPI规范或CLI命令描述来快速创建功能完备的MCP服务器,将现有的REST API、命令行工具和本地数据轻松暴露给AI助手和工作流。

主要功能点

  • 零代码服务器生成: 只需提供简单的YAML配置,即可自动生成并运行MCP服务器。
  • OpenAPI自动转换: 将现有的OpenAPI (Swagger) 规范一键转换为可供LLM调用的MCP工具。
  • 实时工具暴露: 将HTTP接口或命令行程序封装成AI可调用的工具,实现外部功能集成。
  • 内置安全与验证: 提供开箱即用的TLS加密、OAuth/OIDC认证和数据结构校验功能。
  • 灵活的上下文服务: 支持管理数据资源、执行外部工具和渲染Prompt模板,为LLM提供丰富的交互模式。
  • 多种部署方式: 支持直接运行、后台运行,并可构建为多架构容器镜像。

安装步骤

1. 下载预编译二进制文件

访问 GitHub Releases 页面,下载适用于您操作系统的最新版本二进制文件。

# 例如,下载Linux AMD64版本,并添加到PATH
curl -L https://github.com/genmcp/gen-mcp/releases/latest/download/genmcp-linux-amd64 -o genmcp
chmod +x genmcp
sudo mv genmcp /usr/local/bin

# 验证安装
genmcp version

2. 从源代码构建 (需要Go环境)

git clone https://github.com/genmcp/gen-mcp.git
cd gen-mcp
make build-cli
sudo mv genmcp /usr/local/bin

服务器配置(供MCP客户端参考)

MCP客户端需要知道如何连接到'gen-mcp'启动的服务器。典型的配置信息包括服务器名称、连接协议、地址和端口。以下是一个MCP客户端可能使用的JSON配置示例(请注意,这只是一个配置示例,您不需要将其作为代码运行,只需了解其结构):

{
  "name": "gen-mcp-server-instance",
  "protocol": "jsonrpc",
  "transport": {
    "type": "streamablehttp",
    "endpoint": "http://localhost:8020/mcp"
  },
  "capabilities": {
    "tools": true,
    "prompts": true,
    "resources": true
  }
}
  • 'name': 您为MCP服务器定义的名称,例如 'test-server'。
  • 'protocol': 'jsonrpc' (MCP服务器使用的通信协议)。
  • 'transport.type': 'streamablehttp' 或 'stdio' (对应'gen-mcp'服务器配置的'transportProtocol')。
  • 'transport.endpoint': MCP服务器的完整URL,例如 'http://localhost:8020/mcp'。端口和路径应与您的'mcpfile.yaml'中的'port'和'basePath'一致。
  • 'capabilities': 表示服务器支持的功能,如 'tools' (工具)、'prompts' (Prompt模板) 和 'resources' (资源)。

基本使用方法

1. 准备MCP配置文件 ('mcpfile.yaml')

  • 通过现有OpenAPI规范转换:
    # 例如,转换一个远程的OpenAPI规范
    genmcp convert https://petstore.swagger.io/v2/swagger.json -o petstore-mcp.yaml
    # 或者转换本地文件
    genmcp convert ./myapi-openapi.json -o myapi-mcp.yaml
  • 手动编写或通过LLM生成CLI工具配置: 参考 'gen-mcp' 的文档编写 'mcpfile.yaml',或使用实验性的'convert-cli'命令。
    # 示例:通过LLM生成podman images的MCP配置
    # 确保已设置 MODEL_BASE_URL, MODEL_KEY, MODEL_NAME 环境变量
    genmcp convert-cli "podman images" -o podman-mcp.yaml

2. 启动MCP服务器

  • 在前台运行 (用于开发):
    genmcp run -f petstore-mcp.yaml
    # 如果mcpfile.yaml在当前目录,可以省略 -f 参数
    genmcp run
  • 在后台运行:
    genmcp run -f myapi-mcp.yaml -d

3. 停止运行中的服务器

genmcp stop -f myapi-mcp.yaml
# 如果mcpfile.yaml在当前目录,可以省略 -f 参数
genmcp stop

4. 构建容器镜像 (可选)

将您的MCP服务器配置打包成一个多架构的Docker镜像,方便部署。

genmcp build --tag yourregistry/yourserver:latest --file myapi-mcp.yaml --push

信息

分类

AI与计算