项目简介
MCPify 是一个动态代理工具,它能够读取 OpenAPI (Swagger) 规范,并将其中定义的 REST API 接口实时地转换为符合 Model Context Protocol (MCP) 标准的工具(Tools)和资源(Resources)。通过运行 MCPify 服务器,任何支持 MCP 协议的 LLM 客户端或 AI 智能体都可以直接发现并调用这些原有的 REST API,而无需针对每个 API 手动编写 MCP 适配代码。这极大地简化了将现有 API 集成到基于 LLM 的应用中的过程。
主要功能点
- 动态转换: 实时解析 OpenAPI 规范 (JSON 或 YAML 格式),将 API 端点转换为 MCP 工具和资源。
- 自动映射: 根据 HTTP 方法、路径、参数和请求体,自动生成 MCP 工具的输入 Schema 和注解(如只读、可变等提示)。
- 请求代理: 在 MCP 客户端和实际的 REST API 之间转发并转换请求和响应。
- 灵活配置: 支持通过命令行参数或 OpenAPI 扩展字段进行精细配置,包括覆盖默认映射、添加请求头、设置代理超时等。
- 多种传输: 支持通过 HTTP (包含 SSE 通知) 或 Stdio 协议与 MCP 客户端通信。
安装步骤
MCPify 是一个使用 Rust 编写的命令行工具,可以通过 Cargo 包管理器进行安装:
- 确保您已经安装了 Rust 和 Cargo。
- 运行以下命令进行安装:
cargo install mcpify
安装完成后,'mcpify' 命令应该就可以在您的终端中使用。
服务器配置 (面向 MCP 客户端)
MCPify 作为 MCP 服务器运行。支持 MCP 协议的客户端框架(如 MCP SDK)通常需要一个配置对象来启动和连接 MCP 服务器进程。这个配置对象通常包含服务器的名称、要执行的命令以及传递给该命令的参数列表。
对于 MCPify,您需要配置执行的命令是 'mcpify',并且需要提供必要的参数来指定要转换的 OpenAPI 规范、API 的基础 URL 等。以下是 MCPify 命令行工具的主要参数,这些参数需要作为字符串列表传递给客户端框架的 'args' 配置项:
- '--spec <path|url>' (必需): 指定 OpenAPI 规范文件(本地路径或远程 URL)。例如:'--spec api-spec.yaml' 或 '--spec https://api.example.com/openapi.json'
- '--base-url <url>' (可选): 覆盖 OpenAPI 规范中定义的基础 URL。例如:'--base-url https://api.prod.example.com'
- '--port <number>' (可选): 指定 MCP 服务器监听的端口号(仅用于 HTTP 传输)。默认端口是 '8080'。例如:'--port 9000'
- '--header <header>' (可选,可重复): 为所有代理请求添加自定义 HTTP 请求头。格式为 'Name: Value'。例如:'--header "Authorization: Bearer YOUR_TOKEN"' 可以重复使用此参数添加多个头。
- '--log-level <level>' (可选): 设置日志输出级别(trace, debug, info, warn, error, fatal)。默认是 'warn'。例如:'--log-level debug'
- '--transport <type>' (可选): 设置 MCP 通信的传输协议(http 或 stdio)。默认是 'http'。例如:'--transport stdio'
您的 MCP 客户端框架会负责构建包含这些参数的命令并执行 MCPify 进程。
基本使用方法
在终端中运行 'mcpify' 命令,指定您的 OpenAPI 规范文件或 URL:
- 使用本地规范文件(假设文件名为 'api-spec.yaml',API 实际部署在 'https://api.example.com'):
mcpify --spec api-spec.yaml --base-url https://api.example.com - 使用远程规范文件:
mcpify --spec https://api.example.com/openapi.json - 指定不同的端口(例如 '9000'):
mcpify --spec api-spec.yaml --port 9000
成功启动后,MCPify 会显示其监听的地址(如果是 HTTP 传输)。然后,您可以配置您的 MCP 客户端(AI 智能体)连接到该地址或使用 Stdio 管道与 MCPify 进程通信,以便 AI 能够发现并调用由该 OpenAPI 规范转换来的工具和资源。
信息
分类
网页与API