项目简介

mcpo-docker 是一个 Docker 镜像,旨在简化 mcpo (Model Context Protocol Orchestrator) 服务器的部署和管理。mcpo 能够将 MCP 服务器作为 OpenAPI 兼容的 HTTP 端点暴露出来,方便像 OpenWebUI 这样的 LLM 应用进行集成。本镜像让用户可以通过 Docker 快速启动和运行 mcpo 服务器,无需复杂的配置过程。

注意: mcpo-docker 并非 MCP 服务器的直接实现,而是用于部署和运行 mcpo 服务器的 Docker 镜像。真正的 MCP 服务器实现是由 mcpo 项目提供的。

主要功能点

  • 快速部署 MCP 服务器: 通过 Docker 镜像,一键部署和运行 mcpo 服务器,无需手动安装和配置环境。
  • OpenAPI 兼容 HTTP 端点: 将 MCP 服务器暴露为标准的 OpenAPI 接口,方便 LLM 应用通过 HTTP 协议进行访问和集成。
  • 多服务器支持: 支持配置和管理多个 MCP 服务器实例,每个服务器实例拥有独立的 HTTP 端点。
  • 易于配置: 通过 'config.json' 文件进行 MCP 服务器的配置,支持标准的 MCP 配置项。
  • 集成 OpenWebUI: 特别为 OpenWebUI 等 LLM 应用提供便捷的 MCP 服务器集成方案。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/alephpiece/mcpo-docker.git
    cd mcpo-docker
  2. 复制并编辑配置文件:

    cp config.example.json config.json
    cp docker-compose.example.yml docker-compose.yml

    根据您的需求编辑 'config.json' 和 'docker-compose.yml' 文件。'config.json' 用于配置 MCP 服务器的具体行为,'docker-compose.yml' 用于配置 Docker 容器的运行参数。

  3. 启动 Docker 容器:

    docker compose up -d

    等待一段时间,直到 Docker 容器启动完成。启动时间取决于您配置的 MCP 服务器数量。

服务器配置

'config.json' 文件用于配置 mcpo 服务器。以下是一个配置示例,用户需要根据实际使用的 MCP 服务器进行调整。

{
  "servers": [
    {
      "name": "memory",
      "command": "your_mcpo_server_command",
      "args": ["--server-arg1", "--server-arg2"],
      "description": "Memory server for context retrieval"
    },
    {
      "name": "time",
      "command": "another_mcpo_server_command",
      "args": [],
      "description": "Time server for providing current time"
    }
    // 可以添加更多服务器配置
  ]
}

配置参数说明 (位于 'servers' 数组的每个对象中):

  • name: 服务器的名称,用于在 HTTP 端点中标识服务器。例如,如果 name 为 "memory",则访问端点为 '/memory'。
  • command: [需要用户根据实际MCP服务器填写] MCP 服务器的可执行命令或启动脚本的路径。这通常是您自己实现的 MCP 服务器程序。
  • args: [需要用户根据实际MCP服务器填写] 传递给 MCP 服务器命令的参数列表。根据您的 MCP 服务器实现,可能需要不同的参数。
  • description: 服务器的描述信息,用于文档或管理目的,非必要。

重要提示: 'command' 和 'args' 字段需要用户根据自己实际使用的 MCP 服务器实现进行配置。您需要将 'your_mcpo_server_command' 替换为您自己 MCP 服务器的启动命令,并根据需要配置相应的参数。本仓库提供的 'config.example.json' 仅为示例,您需要根据实际情况修改。

基本使用方法

  1. 访问服务器端点: mcpo-docker 默认将 HTTP 服务暴露在 '8000' 端口。 启动容器后,您可以通过以下 URL 访问配置的 MCP 服务器端点:

    • 'http://localhost:8000/memory' (访问名为 "memory" 的服务器)
    • 'http://localhost:8000/time' (访问名为 "time" 的服务器)
    • 'http://localhost:8000/your-server-name' (访问您配置的其他服务器)
  2. 集成到 OpenWebUI: 在 OpenWebUI 的设置中,选择 "Tools",点击 "Add connection",在 URL 中填写 MCP 服务器的端点地址 (例如 'http://localhost:8000/memory'),即可将 MCP 服务器集成到 OpenWebUI 中,以便在聊天中使用 MCP 服务器提供的工具和资源。

请参考 OpenAPI Tool Servers 文档了解如何在 OpenWebUI 中配置和使用 OpenAPI 工具服务器。

信息

分类

开发者工具