使用说明
项目简介
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 工具服务器集成。
安装步骤
- 克隆仓库:
git clone https://github.com/lkoujiu/mcpo-docker.git cd mcpo-docker - 复制并编辑配置文件:
复制示例配置文件并根据需要进行编辑。'config.json' 用于配置要桥接的 MCP 服务器。
cp config.example.json config.json cp docker-compose.example.yml docker-compose.yml # 编辑 config.json 和 docker-compose.yml 文件,根据你的 MCP 服务器配置进行修改 - 启动 Docker 容器:
使用 Docker Compose 启动容器。这将创建并运行 mcpo 服务。
等待一段时间,直到所有配置的 MCP 服务器都启动完成。docker compose up -d
服务器配置
对于 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/{服务器名称}'。
基本使用方法
- 确保 mcpo-docker 容器已成功启动 ('docker compose up -d')。
- 在 OpenWebUI (或其他 OpenAPI 客户端) 中,进入工具设置页面。
- 添加新的 OpenAPI 工具服务器连接,使用 'http://localhost:8000/{服务器名称}' 格式的 API 地址,例如 'http://localhost:8000/memory'。
- 在聊天页面,检查可用的工具,你应该能看到来自你配置的 MCP 服务器的功能。
信息
分类
开发者工具