使用说明

项目简介

本项目提供了一个代理服务器,用于桥接 MCP (Model Context Protocol) 服务器和 OpenAPI 客户端。它允许您通过标准的 OpenAPI REST API 使用 MCP 服务器提供的工具和功能。

主要功能点

  • 将现有 MCP 服务器的工具公开为 OpenAPI 接口。
  • 基于 MCP 服务器的工具模式动态生成 OpenAPI 接口。
  • 使 OpenAPI 兼容的客户端能够与基于 MCP 的工具进行交互。
  • 简化 MCP 功能集成到 OpenAPI 系统中的过程。

安装步骤

  1. 克隆代码仓库:
    git clone https://github.com/open-webui/openapi-servers
  2. 进入代理服务器目录:
    cd openapi-servers/servers/mcp-proxy
  3. 安装依赖:
    pip install -r requirements.txt

服务器配置

要运行代理服务器,您需要提供启动现有 MCP 服务器的命令。代理服务器将连接到该 MCP 服务器。以下是 MCP 客户端需要配置的服务器信息示例(JSON 格式),假设您要运行代理服务器在 'http://localhost:8000',并连接到一个名为 'mcp-server-time' 的 MCP 服务器:

{
  "server name": "MCP-OpenAPI Proxy",
  "command": "python main.py",
  "args": [
    "--host", "0.0.0.0",
    "--port", "8000",
    "--",  // 分隔符,之后是 MCP 服务器的命令
    "uvx", "mcp-server-time", "--local-timezone=America/New_York" // 示例 MCP 服务器启动命令,请替换为您实际的 MCP 服务器命令
  ],
  "description": "MCP-OpenAPI 代理服务器,用于通过 OpenAPI 访问 MCP 服务器工具",
  "base URL": "http://localhost:8000"
}

配置说明:

  • '"command"': 启动代理服务器脚本的命令。假设您位于 'servers/mcp-proxy' 目录中,通常为 'python main.py'。
  • '"args"': 代理服务器脚本的参数列表。
    • '--host 0.0.0.0 --port 8000': 指定 OpenAPI 代理服务器监听的主机和端口。
    • '--': 重要的分隔符。'--' 之后的参数将被视为启动底层 MCP 服务器的命令和参数。
    • '"uvx", "mcp-server-time", "--local-timezone=America/New_York"': 这是一个启动 MCP 服务器的示例命令 (例如, 'mcp-server-time')。您需要将其替换为您实际要连接的 MCP 服务器的启动命令。

基本使用方法

  1. 使用命令行启动 MCP-OpenAPI 代理服务器,并在 '--' 后提供启动 MCP 服务器的命令作为参数。例如:
    python main.py --host 0.0.0.0 --port 8000 -- uvx mcp-server-time --local-timezone=America/New_York
  2. 代理服务器启动后,您可以通过 'http://localhost:8000/docs' (或您配置的主机和端口)访问 OpenAPI 文档。
  3. 您可以使用任何 OpenAPI 客户端(如 Swagger UI, Postman 或代码)与通过代理服务器公开的 MCP 工具进行交互。MCP 服务器中的每个工具都将作为代理服务器根 URL 下的 POST 接口提供,例如 'http://localhost:8000/{tool_name}'。每个接口的请求体应符合 MCP 工具定义的输入模式。

信息

分类

网页与API