使用说明
项目简介
MCP Link 旨在弥合现有 RESTful API 与新兴 AI Agent 生态系统之间的鸿沟。它通过自动转换 OpenAPI 规范,将任何 API 快速转换为符合 Model Context Protocol (MCP) 标准的服务器,使得 AI Agent 能够以标准化的方式访问和利用这些 API 的功能。这无需修改原有 API 代码,极大地简化了 API 集成到 AI 应用的流程。
主要功能点
- 自动化转换: 基于 OpenAPI Schema 自动生成完整的 MCP 服务器。
- 无缝集成: 使现有的 RESTful API 立即兼容 AI Agent 调用标准。
- 功能完整: 确保所有 API 端点和功能都被正确映射为 MCP 工具。
- 零代码修改: 无需修改原始 API 实现即可获得 MCP 兼容性。
- 开放标准: 遵循 MCP 规范,确保与各种 AI Agent 框架的兼容性。
- 支持 SSE: 通过 Server-Sent Events (SSE) 协议与 MCP 客户端通信,提供实时的交互体验。
- 可配置过滤器: 允许用户通过路径过滤器灵活地选择需要暴露为 MCP 工具的 API 端点。
安装步骤
-
克隆仓库
git clone https://github.com/automation-ai-labs/mcp-link.git cd mcp-link -
安装依赖
go mod download
服务器配置
MCP 服务器需要以下配置信息才能启动。在 MCP 客户端中,您需要配置服务器连接信息,以便客户端能够与 MCP Link 服务器建立连接。以下是一个 MCP 客户端配置示例,您可以根据实际情况进行调整:
{ "mcpServers": { "my-api-server": { "command": "go", "args": [ "run", "main.go", "serve", "--port", "8080", "--host", "0.0.0.0" ], "transports": [ { "type": "sse", "url": "http://localhost:8080/sse", "params": { "s": "[OpenAPI 规范 URL]", "u": "[API 基础 URL]", "h": "[认证 Header 名称]:[Value 前缀] (可选)", "f": "[路径过滤器表达式] (可选)" } } ] } } }
参数注释:
- 'server name': 'my-api-server' - 您为该 MCP 服务器自定义的名称,用于在客户端中引用。
- 'command': 'go' - 启动 MCP Link 服务器的命令,这里使用 'go run' 运行 'main.go' 文件。
- 'args': 启动命令的参数列表。
- '"run"': 'go run' 命令的一部分,用于运行 Go 程序。
- '"main.go"': 指定要运行的 Go 程序文件。
- '"serve"': 指定运行 'main.go' 文件中的 'serve' 命令,启动 MCP Link 服务器。
- '"--port"', '"8080"': 设置服务器监听端口为 '8080'。您可以根据需要修改端口号。
- '"--host"', '"0.0.0.0"': 设置服务器监听地址为 '0.0.0.0',允许来自任何 IP 的连接。您也可以设置为 'localhost' 或特定的 IP 地址。
- 'transports': 定义客户端与服务器通信的传输协议。
- 'type': '"sse"' - 指定使用 Server-Sent Events (SSE) 协议。
- 'url': '"http://localhost:8080/sse"' - MCP Link 服务器的 SSE 端点 URL。请根据您实际运行服务器的地址和端口进行修改。
- 'params': 通过 URL 参数传递给 MCP Link 服务器的配置信息。
- 's': '"[OpenAPI 规范 URL]"' - 必填。目标 API 的 OpenAPI 规范文件的 URL。MCP Link 将根据此规范生成 MCP 服务器。请替换为实际的 OpenAPI 规范 URL,例如 'https://petstore3.swagger.io/api/v3/openapi.json'。
- 'u': '"[API 基础 URL]"' - 必填。目标 API 的基础 URL。MCP Link 将把接收到的 MCP 请求转发到此基础 URL。请替换为实际的 API 基础 URL,例如 'https://petstore3.swagger.io/api/v3'。
- 'h': '"[认证 Header 名称]:[Value 前缀]"' - 可选。用于 API 认证的 Header 信息。如果 API 需要认证,请设置此参数。例如,如果 API 使用 API Key 认证,Header 名称为 'X-API-Key',Value 前缀为空,则设置为 '"X-API-Key:"'。如果使用 Bearer Token 认证,Header 名称为 'Authorization',Value 前缀为 'Bearer ',则设置为 '"Authorization:Bearer "'。
- 'f': '"[路径过滤器表达式]"' - 可选。用于过滤需要暴露的 API 端点的过滤器表达式。例如,'"+/pets/;-/admin/"' 表示包含 '/pets/' 路径下的所有端点,排除 '/admin/' 路径下的所有端点。具体语法请参考仓库 README.md 中的 "Parameter Description - f=" 部分。
启动服务器命令示例:
在 'mcp-link' 仓库根目录下,执行以下命令启动 MCP Link 服务器,并指定 OpenAPI 规范 URL、API 基础 URL 和认证 Header:
go run main.go serve --port 8080 --host 0.0.0.0
您也可以在启动命令中直接通过参数 '-s', '-u', '-h', '-f' 指定配置信息,例如:
go run main.go serve --port 8080 --host 0.0.0.0 -s="https://petstore3.swagger.io/api/v3/openapi.json" -u="https://petstore3.swagger.io/api/v3"
基本使用方法
- 启动 MCP Link 服务器:按照上述服务器配置和启动命令启动 MCP Link 服务器。
- 配置 MCP 客户端:将上述提供的 MCP 客户端配置 JSON 填入您的 MCP 客户端应用中,并根据实际情况修改 'server name', 'url', 'params' 中的参数。
- 在 AI Agent 中使用: 您的 AI Agent 即可通过 MCP 客户端与 MCP Link 服务器建立连接,并调用由 OpenAPI 规范转换而来的 API 工具。具体工具的使用方法和参数,请参考 MCP 客户端的文档和 MCP Link 服务器根据 OpenAPI 规范自动生成的工具描述。
通过 MCP Link,您可以轻松地将任何拥有 OpenAPI 规范的 RESTful API 集成到您的 AI Agent 应用中,享受标准化的上下文服务带来的便利。
信息
分类
开发者工具