MCPO 部署教程

Reno 于 2025-04-29 发布

介绍

MCPO 是一个基于Python的MCP代理服务,支持以下功能:

本篇教程提供了以下服务

你也可以修改 entrypoint.sh自行添加或替换服务

准备

配置

点击这里 创建空间,Space 名称建议使用随机字符,选择 Docker,然后在 Files 便签页添加或者修改下述文件

变量名 示例值 描述
XAIAPI_KEY xai-1234567890abcdef xai 密钥
XAIAPI_BASE_URL https://api.xai.ai/v1 xai 基础URL
TAVILY_API_KEY tavily-9876543210fedcba tavily 密钥
BAIDU_MAP_API_KEY 9876543210fedcba baidu 开发者 密钥
GITHUB_PERSONAL_ACCESS_TOKEN ghp_9876543210fedcba gitHub 密钥

RUN useradd -ms /bin/bash mcp

WORKDIR /app

RUN apt-get update &&
apt-get install -y curl unzip &&
curl -fsSL https://deb.nodesource.com/setup_18.x | bash - &&
apt-get install -y nodejs &&
apt-get clean && rm -rf /var/lib/apt/lists/*

COPY entrypoint.sh /app/ RUN chmod +x /app/entrypoint.sh

USER mcp RUN curl -fsSL https://bun.sh/install | bash

ENV BUN_INSTALL=”/home/mcp/.bun” ENV PATH=”${BUN_INSTALL}/bin:${PATH}”

USER root RUN pip install –no-cache-dir mcpo uv

RUN mkdir -p /app/.cache/uv && chown -R mcp:mcp /app

ENV XDG_CACHE_HOME=”/app/.cache”

USER mcp

EXPOSE 8000

ENTRYPOINT [“/app/entrypoint.sh”]

- entrypoint.sh

#!/bin/bash

cat «EOF > /app/config.json { “mcpServers”: { “grok2_images”: { “command”: “npx”, “args”: [ “-y”, “grok2-image-mcp-server@0.1.3” ], “env”: { “XAIAPI_KEY”: “${XAIAPI_KEY}”, “XAIAPI_BASE_URL”: “${XAIAPI_BASE_URL}” } }, “tavily-mcp”: { “command”: “npx”, “args”: [ “-y”, “tavily-mcp@0.1.2” ], “env”: { “TAVILY_API_KEY”: “${TAVILY_API_KEY}” } }, “baidu-map”: { “command”: “npx”, “args”: [ “-y”, “@baidumap/mcp-server-baidu-map” ], “env”: { “BAIDU_MAP_API_KEY”: “${BAIDU_MAP_API_KEY}” } }, “github”: { “command”: “npx”, “args”: [ “-y”, “@modelcontextprotocol/server-github” ], “env”: { “GITHUB_PERSONAL_ACCESS_TOKEN”: “${GITHUB_PERSONAL_ACCESS_TOKEN}” } }, “filesystem”: { “command”: “npx”, “args”: [ “-y”, “@modelcontextprotocol/server-filesystem”, “/home/mcp” ] }, “edgeone-pages-mcp-server”: { “command”: “npx”, “args”: [“edgeone-pages-mcp”] }
} } EOF

exec mcpo –config /app/config.json

- README.md

layout: mypost title: mcp emoji: 💻 colorFrom: pink colorTo: indigo sdk: docker pinned: false app_port: 8000 — ```

使用

这里以 Open-WebUI 为例,版本要求 v0.6.0+,建议更行到最新版本

  1. 使用管理员账号登录,左下角点击头像 - 管理员面板 - 设置 - 工具,点击 + 添加一个连接

  2. URI 输入 https://xxx-xxx.hf.space/grok2_images,密匙留空即可,点击保存,类似的,替换 grok2_images 添加其他服务

  3. 全部添加成功后先后点击右下角 保存和左上角 新对话,接着点击输入框的 + 号可以查看并开关已添加的MCP,建议需要时再打开

参考链接