项目简介
'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与计算