返回市场
网页界面-MCPO服务器

网页界面-MCPO服务器

作者:masterno1237 星标更新:2025-05-26

项目介绍

🧠 webui-mcpo: 使用单一配置运行多个MCP工具的开放WebUI

Docker Hub镜像: masterno12/webui-mcpo:latest

此Docker镜像提供了一个现成的MCPO实例,这是一个轻量级、可组合的MCP(模型上下文协议)服务器,旨在通过一个简单的配置文件在统一的API服务器中代理多个MCP工具——使用Claude桌面格式的配置文件。

🔗 什么是MCP?
了解更多,请访问Open WebUI MCP服务器文档
支持的官方MCP服务器:https://github.com/modelcontextprotocol/servers


💡 为什么采用这种方法?

刚开始时,我发现官方的Open WebUI文档经常强调一行启动命令(例如直接使用npxuvx),并提供从Claude配置到一行命令的转换。

然而,我注意到两点:

因此,与其手动将JSON块转换为CLI命令,不如完全接受Claude配置格式。这使得设置更清晰、更容易维护,并且与mcpo完美兼容。


🚀 快速开始(使用Docker Hub)

1. 拉取镜像

docker pull masterno12/webui-mcpo:latest

2. 创建config.json

您必须在一个本地文件夹(例如mcpo/)中提供一个config.json。如果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/memory
  • http://localhost:8000/time

每个路径提供:

  • 单独的OpenAPI模式/docs
  • 专用处理器

示例:

  • http://localhost:8000/memory/docs
  • http://localhost:8000/time/docs

✅ Open WebUI集成

要将此MCP服务器中的工具连接到Open WebUI必须使用每个工具的完整子路径

✅ 有效的工具条目:

http://localhost:8000/memory
http://localhost:8000/time

🚫 无效的:

http://localhost:8000

这确保了Open WebUI能够正确识别并与每个工具服务器通信。


🛠 注意事项

  • 如果容器启动时/opt/mcpo/config.json不存在,会自动复制一个最小默认配置。
  • 容器暴露端口8000
  • 支持npxuvx和自定义MCP工具类型。

n8n支持

由n8n提供的sse在与supergateway一起使用时有效

{
  "mcpServers": {
    "n8n": {
      "command": "npx",
      "args": [
        "-y",
        "supergateway",
        "--sse",
        "<MCP_URL>"
      ]
    }
  }
}

带有授权

{
  "mcpServers": {
    "n8n": {
      "command": "npx",
      "args": [
        "-y",
        "supergateway",
        "--sse",
        "<MCP_URL>",
        "--header",
        "Authorization: Bearer <MCP_BEARER_TOKEN>"
      ]
    }
  }
}

但是,mcpo应该与原生sse兼容(但对我来说不起作用,如果您想尝试,可以保留)

    "n8n-dev": {
      "url": "<MCP_URL>",
      "serverType": "sse"
    }   

带有授权

 "linux_server": {
      "transport": "sse",
      "endpoint": "http://192.168.40.173:8000/sse",
      "bearertoken":"expected-token"
    }

📦 更新日志

v1.2 – 添加通过环境变量支持API密钥(2025-05-24)

  • ✅ 通过MCPO_API_KEY环境变量添加API密钥注入的支持。
  • 🛠️ 更新entrypoint.sh以动态追加--api-key,如果变量存在。
  • 📁 继续使用config.json进行服务器配置。
  • 📄 改进了Docker Compose使用的文档。
  • 🧪 向后兼容v1.1配置文件。

v1.1 – 初始发布

  • 🧠 带有配置文件支持的基本Docker镜像mcpo
  • 🚀 轻量级且随时可用的Open WebUI MCP服务器启动器。

🔗 相关链接