🧠 webui-mcpo:在打开的webui上使用单个配置运行多个MCP工具
Docker Hub镜像: masterno12/webui-mcpo:latest
此Docker镜像提供了一个即用型实例 MCPO,一个轻量级、可组合的MCP(模型上下文协议)服务器,设计用于在一个统一的API服务器中代理多个MCP工具,使用 克劳德桌面格式.
🔗 什么是MCP?\ 更多信息请访问 打开WebUI MCP服务器文档\ 支持的官方MCP服务器:https://github.com/modelcontextprotocol/servers
______________________________________________________________________
💡 为什么采用这种方法?
刚开始的时候,我发现官方的OpenWebUI文档经常强调 单线发射命令 (例如使用 npx 或 uvx 直接)并提供翻译 克劳德configs 到一个衬垫。
然而,我注意到两件事:
- 这 MCP服务器注册表 (https://github.com/modelcontextprotocol/servers)几乎总是给 Claude风格的JSON配置, *不* 单行线。
- MCPO当充当集线器时, 期待克劳德·康明斯 直接地——手动将它们转换为单行程序没有任何好处。
因此,我完全接受了Claude配置格式,而不是手动将JSON块转换为CLI命令。这使得设置更清晰、更易于维护,并且与 mcpo.
______________________________________________________________________
🚀 快速入门(使用Docker Hub)
1.拉取图像
docker pull masterno12/webui-mcpo:latest2.创建一个 config.json
您必须提供 config.json 在本地文件夹中(例如。, mcpo/).如果 mcpo/config.json 如果不存在,容器将自动生成一个最小的默认值。 本地文件夹 mcpo/ 必须与docker-compose.yml位于同一目录中。
📄 示例 config.json:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
},
"time": {
"command": "uvx",
"args": ["mcp-server-time", "--local-timezone=America/New_York"]
},
"mcp_sse": {
"type": "sse",
"url": "http://127.0.0.1:8001/sse"
},
"mcp_streamable_http": {
"type": "streamable_http",
"url": "http://127.0.0.1:8002/mcp"
}
}
}______________________________________________________________________
🐳 使用Docker Compose运行
services:
mcpo:
image: masterno12/webui-mcpo:latest
container_name: webui-mcpo
ports:
- "8000:8000"
volumes:
- ./mcpo:/opt/mcpo
restart: unless-stopped启动服务器:
docker-compose up -d______________________________________________________________________
🔨 从Dockerfile构建映像
克隆仓库:
git clone https://github.com/masterno12/webui-mcpo.git
cd webui-mcpo在本地构建映像:
docker build -t webui-mcpo:latest .然后直接运行它:
docker run -d -p 8000:8000 -v "$PWD/mcpo:/opt/mcpo" webui-mcpo:latest或者使用提供的Docker Compose设置:
docker-compose up -d --build______________________________________________________________________
🌐 访问工具
每个工具都暴露在其下面 自有子路径例如:
http://localhost:8000/memoryhttp://localhost:8000/time
每条路径都服务于:
- 个人 OpenAPI模式 (
/docs) - 专门的处理人员
例子:
http://localhost:8000/memory/docshttp://localhost:8000/time/docs
______________________________________________________________________
✅ 打开WebUI集成
要在中连接此MCP服务器中的工具 打开WebUI, 您必须使用完整的子路径 对于每个工具:
✅ 有效工具条目:
http://localhost:8000/memory
http://localhost:8000/time🚫 无效:
http://localhost:8000这可确保Open WebUI正确识别每个工具服务器并与之通信。
______________________________________________________________________
🛠 备注
- 如果
/opt/mcpo/config.json容器启动时不存在,将自动复制最小默认值。 - 集装箱暴露端口
8000. - 支持
npx,uvx,以及自定义MCP工具类型。
n8n支持
n8n提供的sse在使用时工作 超级通道
{
"mcpServers": {
"n8n": {
"command": "npx",
"args": [
"-y",
"supergateway",
"--sse",
""
]
}
}
}有授权
{
"mcpServers": {
"n8n": {
"command": "npx",
"args": [
"-y",
"supergateway",
"--sse",
"",
"--header",
"Authorization: Bearer "
]
}
}
}但是,mcpo应该与本地sse合作(但不适合我,如果你想尝试的话,我就让它在这里)
"n8n-dev": {
"url": "",
"serverType": "sse"
} 有授权
"linux_server": {
"transport": "sse",
"endpoint": "http://192.168.40.173:8000/sse",
"bearertoken":"expected-token"
}______________________________________________________________________
📦 更新日志
v1.2–通过ENV增加了API关键支持(2025-05-24)
- ✅ 通过添加对API密钥注入的支持
MCPO_API_KEY环境变量。 - 🛠️ 更新
entrypoint.sh动态追加--api-key如果变量存在。 - 📁 继续使用
config.json用于服务器配置。 - 📄 改进了Docker Compose使用的文档。
- 🧪 向后兼容
v1.1配置文件。
v1.1–初始版本
- 🧠 基本Docker镜像
mcpo支持配置文件。 - 🚀 轻量级、即用型Open WebUI MCP服务器启动器。
______________________________________________________________________
