使用说明

项目简介

mcpo-docker 是一个 Docker 镜像,用于部署 mcpo。mcpo 作为一个桥梁,可以将符合 Model Context Protocol (MCP) 协议的服务器转换为 OpenAPI 兼容的 HTTP 接口。这使得像 OpenWebUI 这样的应用能够通过标准的 OpenAPI 方式调用和使用 MCP 服务器提供的资源、工具和 Prompt 模板。

主要功能点

  • MCP 服务器 OpenAPI 桥接: 将 MCP 服务器的功能通过 OpenAPI HTTP 接口暴露出来,方便 HTTP 客户端调用。
  • Docker 部署: 使用 Docker 容器化部署 mcpo,简化部署流程,提供环境一致性。
  • 多 MCP 服务器支持: 可以配置和管理多个 MCP 服务器,每个服务器通过独立的 HTTP endpoint 暴露。
  • 易于集成 OpenWebUI: 特别为 OpenWebUI 设计,方便将其作为 OpenAPI 工具服务器集成。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/lkoujiu/mcpo-docker.git
    cd mcpo-docker
  2. 复制并编辑配置文件: 复制示例配置文件并根据需要进行编辑。'config.json' 用于配置要桥接的 MCP 服务器。
    cp config.example.json config.json
    cp docker-compose.example.yml docker-compose.yml
    # 编辑 config.json 和 docker-compose.yml 文件,根据你的 MCP 服务器配置进行修改
  3. 启动 Docker 容器: 使用 Docker Compose 启动容器。这将创建并运行 mcpo 服务。
    docker compose up -d
    等待一段时间,直到所有配置的 MCP 服务器都启动完成。

服务器配置

对于 MCP 客户端(例如 OpenWebUI),你需要配置 OpenAPI 工具服务器连接。mcpo-docker 将每个配置的 MCP 服务器映射到一个独立的 HTTP endpoint。

假设你已经按照上述步骤启动了 mcpo-docker,并且 'config.json' 中配置了名为 "memory" 和 "time" 的 MCP 服务器。那么在 OpenWebUI 中,你需要添加如下 OpenAPI 工具服务器连接:

  • 连接名称: memory (或其他自定义名称)

  • API 地址: 'http://localhost:8000/memory'

  • 连接名称: time (或其他自定义名称)

  • API 地址: 'http://localhost:8000/time'

'config.json' 示例配置 (无需 MCP 客户端配置,仅供参考 mcpo-docker 配置):

{
  "servers": [
    {
      "name": "sequential-thinking",
      "command": "path/to/your/sequential-thinking-server",
      "args": ["--config", "path/to/sequential-thinking-config.json"]
    },
    {
      "name": "memory",
      "command": "path/to/your/memory-server",
      "args": ["--port", "8081"]
    },
    {
      "name": "time",
      "command": "path/to/your/time-server",
      "args": []
    }
  ]
}

注意: 'config.json' 文件是 'mcpo-docker' 内部使用的配置文件,用于指定 mcpo 要桥接哪些 MCP 服务器。 MCP 客户端 (如 OpenWebUI) 不需要直接配置这些信息。MCP 客户端只需要配置 OpenAPI 工具服务器的 API 地址,即 'http://localhost:8000/{服务器名称}'。

基本使用方法

  1. 确保 mcpo-docker 容器已成功启动 ('docker compose up -d')。
  2. 在 OpenWebUI (或其他 OpenAPI 客户端) 中,进入工具设置页面。
  3. 添加新的 OpenAPI 工具服务器连接,使用 'http://localhost:8000/{服务器名称}' 格式的 API 地址,例如 'http://localhost:8000/memory'。
  4. 在聊天页面,检查可用的工具,你应该能看到来自你配置的 MCP 服务器的功能。

信息

分类

开发者工具