使用说明

项目简介

rest-to-mcp 是一个 MCP 服务器实现,它充当 LLM 和 REST API 之间的桥梁。通过此桥接器,LLM 可以利用 MCP 协议,以标准化的方式与任何提供 OpenAPI/Swagger 文档的 REST API 进行交互。这使得 LLM 能够轻松扩展其能力,访问外部数据和服务。

主要功能点

  1. 发现 REST API 端点 (discover-endpoints): 自动探测目标 REST API 的 OpenAPI/Swagger 文档,解析并返回 API 端点信息,使 LLM 能够了解 API 的可用功能。支持常见的 API 文档路径,如 '/openapi.json', '/swagger.json' 等。
  2. 发起 REST 请求 (make-request): 允许 LLM 向指定的 REST API 端点发送 HTTP 请求。支持 GET, POST, PUT, DELETE 等常用方法,处理 JSON 格式的请求和响应,并将响应内容格式化为 JSON 返回给 LLM。

安装步骤

  1. 安装 Deno: 本项目使用 Deno 运行时环境。如果您的系统尚未安装 Deno,请访问 https://deno.land/ 按照官方指南进行安装。
  2. 安装 rest-to-mcp: 在终端中执行以下命令安装 'rest-to-mcp':
    deno install -A -n rest-to-mcp --allow-net --allow-read --allow-env https://raw.githubusercontent.com/viktormarinho/rest-to-mcp/main/index.ts
    • '-A' 或 '--allow-all': 授予所有权限 (网络访问, 读取文件等),请根据实际安全需求调整权限。
    • '-n rest-to-mcp' 或 '--name rest-to-mcp': 将安装后的可执行文件命名为 'rest-to-mcp',方便后续在命令行中直接调用。
    • 'https://raw.githubusercontent.com/viktormarinho/rest-to-mcp/main/index.ts': 指定要安装的远程 'index.ts' 文件 URL。

服务器配置

MCP 客户端需要配置以下 JSON 信息以连接到 'rest-to-mcp' 服务器:

{
  "serverName": "rest-to-mcp",  // MCP 服务器名称,与代码中定义的 server name 一致
  "command": "rest-to-mcp",     // 启动 MCP 服务器的命令,这里假设 rest-to-mcp 已添加到系统 PATH 环境变量
  "args": []                     // 启动命令参数,本项目启动命令不需要额外的参数
}

注意: 如果 'rest-to-mcp' 命令不在系统 PATH 环境变量中,'command' 字段需要配置 'rest-to-mcp' 可执行文件的完整路径。

基本使用方法

  1. 启动 MCP 服务器: 安装成功后,在终端中直接运行 'rest-to-mcp' 命令即可启动服务器。默认情况下,服务器通过 Stdio (标准输入输出) 传输协议与客户端通信。
  2. 客户端调用工具: LLM 客户端连接到 'rest-to-mcp' 服务器后,可以使用以下工具:
    • discover-endpoints: 用于发现 REST API 的端点信息。客户端需要提供 'url' 参数,指向目标 REST API 的根 URL。服务器将尝试探测 API 文档并返回端点信息。
    • make-request: 用于向 REST API 发送请求。客户端需要提供 'url' (完整的请求 URL), 'method' (HTTP 方法,如 "GET", "POST"), 'headers' (可选的请求头), 'reqBody' (可选的请求体,用于 POST, PUT 等方法) 等参数。服务器将发送请求并返回格式化后的 JSON 响应。

示例 (LLM 客户端请求):

发现端点 (discover-endpoints):

{
  "method": "call",
  "params": {
    "tool_call": {
      "tool_name": "discover-endpoints",
      "parameters": {
        "url": "https://petstore.swagger.io/v2"  // 示例 REST API URL
      }
    }
  },
  "id": "discover-endpoints-request-1"
}

发起请求 (make-request):

{
  "method": "call",
  "params": {
    "tool_call": {
      "tool_name": "make-request",
      "parameters": {
        "url": "https://petstore.swagger.io/v2/pet/findByStatus?status=available",
        "method": "GET"
      }
    }
  },
  "id": "make-request-1"
}

请参考 Model Context Protocol (MCP) 协议文档和您的 LLM 客户端的具体使用说明,配置和调用 'rest-to-mcp' 服务器提供的工具,以实现 LLM 与 REST API 的集成。

信息

分类

网页与API