mcpo docker use

MCP开发工具

提供方 flyfox666

开发工具 stdio · 本地进程 无需鉴权 社区 / 第三方

An example Docker image for mcpo(with npm,curl,nodejs,uv Pre-Built;Pre-Built MCP:amap;baidumap;server-brave-search; tavily;fetch), a tool that exposes MCP (Model Context Protocol) servers as OpenAPI-compatible HTTP endpoints for OpenWebUI.

一句话选型结论

按资料字段整理

mcpo docker use 属于开发工具类 MCP 服务器,stdio · 本地进程,无需鉴权,没有现成安装命令,需按官方文档接入。接入前先确认权限范围;涉及写入、删除或付款的操作,建议先在测试环境验证。

分类开发工具 传输方式stdio · 本地进程 鉴权无需鉴权 部署方式本地部署
GitHub 星标 50 仓库热度,无公开仓库时显示未标注
工具数 未标注 暴露给模型的工具数量
资源 / 提示词 0 / 0 资源与提示词模板数量
维护方 社区 / 第三方 核验等级 仅资料核对

工具与能力

开发工具
数量来自来源目录的标注,具体工具清单以官方文档为准
工具数量未标注暴露给模型可调用的工具个数
资源数量0可读取的资源条目
提示词数量0内置提示词模板数量

能力标签

适用场景

developer-toolsShell本地部署容器化部署动态依赖安装非root用户执行数据持久化环境隔离

安装与配置

stdio · 本地进程 无需鉴权
客户端在本机拉起子进程,数据不出本机
  1. 1
    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js 等运行时,再按安装命令拉取依赖。

  2. 2
    安装服务

    复制上面的安装命令执行;命令里带占位符的位置,换成自己的密钥或路径。

  3. 3
    写入客户端配置

    在客户端的 MCP 配置里填好启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4
    验证是否可用

    连接成功后随便调一个只读工具,确认能返回结果,再接入正式流程。

典型使用场景

3 类
按分类与标签整理的常见用法,具体以官方文档为准
代码与仓库操作

在对话里直接查代码、提 issue、走 PR,省掉来回切工具。

本地命令与脚本

把构建、测试、格式化这类重复命令交给模型执行。

接口联调与测试

让模型调你的接口、跑一遍用例,快速定位问题。

选择建议

选之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 资料标注无需鉴权,装好就能连。

先想清楚的地方

  • stdio 方式要求本地装好运行时(如 Node.js),换机器要重新装一遍。
  • 没有现成安装命令,需要按官方文档自己填启动命令和参数。
  • 资料没标注工具数量,实际能力要装好后确认。
  • 版本更新与行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地或自有环境跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
MCP 服务器工具数传输方式部署方式安装命令最后核验
mcpo docker use当前 未标注 stdio · 本地进程 本地部署 无 2026-05-18
Git 838e2ec1 12 stdio · 本地进程 本地部署 有 2026-05-17
Markitdown MCP 2c653a5f 1 stdio · 本地进程 本地部署 有 2026-05-17
JavaGuide 未标注 stdio · 本地进程 本地部署 有 2026-04-11
awesome-claude-skills 未标注 stdio · 本地进程 本地部署 有 2026-04-26
Context7 831acf40 未标注 stdio · 本地进程 本地部署 有 2026-05-17

服务器档案

开发工具
字段来自项目仓库与公开索引,中文说明由本站标注
提供方flyfox666上游标注的维护方 flyfox666
分类开发工具本站按上游分类展示
连接方式stdio · 本地进程客户端在本机拉起子进程,数据不出本机
鉴权方式无需鉴权远程服务建议用最小权限凭据
维护方社区 / 第三方核验等级 仅资料核对
包名 / 运行时未标注 · 未标注本地安装时用到的包标识与运行时
部署类型本地部署上游给出的部署形态
最近核验2026-05-18上游最后核验时间

详细介绍

6.6 KB
来自项目仓库与上游目录的原文,未做删改

Docker构建和部署指南(mcpo项目)

感谢@BigUncle的pull请求

本指南系统地概述了Docker容器环境中mcpo项目的构建、部署、故障排除和最佳实践,反映了项目的当前状态。


一、项目概况及架构

该项目使用Docker和Docker Compose进行容器化部署 mcpo (模型上下文协议OpenAPI代理)。核心设计原则包括:

  • 动态依赖安装:在容器启动时 start.sh 脚本读取 config.json 并动态安装所需的Python(uvx)Node.js(npx)基于定义的工具 mcpServers.
  • 非根用户执行:容器最终以非root用户身份运行 appuser 以增强安全性。
  • 依赖性和数据持久性:通过Docker Compose卷挂载、配置、日志、数据和缓存目录 uv 和 npm 被持久化到主机。
  • 灵活的源配置:支持动态配置 pip 通过构建参数获取来源(PIP_SOURCE),默认使用阿里云镜像加速 apt.
  • 环境隔离:In start.sh,每个MCP工具安装都发生在一个子shell中,以避免环境变量冲突。

二、构建和部署过程

1.环境准备

  • Docker&Docker编写:推荐使用Docker 24+和Docker Compose 2.x。

  • .env 文件:创建一个 .env 项目根目录中的文件,用于敏感信息和配置。包含 MCPO_API_KEY。请参阅 .env.example.```dotenv

.env file example

pip source used during Docker build (optional, uses default source if empty)

PIP_SOURCE=https://mirrors.aliyun.com/pypi/simple/

API Key required for mcpo runtime (required)

MCPO_API_KEY=your_mcpo_api_key_here

Other API Keys that may be needed for mcp servers (according to config.json)

AMAP_MAPS_API_KEY=your_amap_key

... other required environment variables


- **`config.json`**:配置MCP服务器以启动。参见 `config.example.json`.

- **网络**:确保访问Debian(阿里云镜像)、NodeSource、PyPI(或指定 `PIP_SOURCE`).

### 2.目录结构和关键文件

- `Dockerfile`:定义图像构建过程。
- 基础图像: `python:3.13-slim`
- 安装: `bash`, `curl`, `jq`, `nodejs` (v22.x), `git`, `uv` (通过pip)
- 用户:创建并运行为 `appuser`.
- 配置:支持 `PIP_SOURCE` 构建论点。
- `start.sh`:容器入口点脚本。
- 集合 `HOME`, `UV_CACHE_DIR`, `NPM_CONFIG_CACHE`.
- 创建持久性目录。
- 倒像 `config.json` 并动态安装MCP工具(使用 `uvx` 或 `npx`).
- 开始 `mcpo` 主要服务。
- `docker-compose.yml`:定义服务、构建参数、卷装载、环境变量。
- 通行证 `PIP_SOURCE` 到Dockerfile。
- 支架 `./config.json`, `./logs`, `./data`, `./node_modules`, `./.npm`, `./.uv_cache`.
- 负载 `.env` 作为运行时环境变量,通过 `env_file`.
- `readme-docker.md`:这份文件。
- `test_mcp_tools.sh`:基本功能测试脚本。

### 3.塑造形象```bash
# Pass PIP_SOURCE (compose will automatically read from .env if defined)
docker-compose build [--no-cache]
  • --no-cache:强制重建所有层以确保最新更改生效。
  • 构建过程使用 PIP_SOURCE 从 .env 要配置的文件(如果有效) pip 来源。

4.启动服务```bash

Start service (run in background)

docker-compose up -d
```

  • docker-compose.yml 从以下位置加载变量 .env 作为容器运行时环境变量。
  • start.sh 执行,动态安装中定义的MCP工具 config.json.
  • mcpo 主服务启动。

III、 常见问题及解决方法

1. npx: command not found / git: command not found

  • 原因: npx (已安装 nodejs)或 git 未安装或其路径不在 appusers PATH 环境变量。
  • 解决方案:
  • 确认 Dockerfiles apt-get install 包含 nodejs 和 git.
  • 确认 ENV PATH 指令包括 /usr/bin (其中 apt-已安装 nodejs 和 git 通常居住)。Dockerfile已经包含 /app/.local/bin:/usr/bin:/usr/local/bin:$PATH.
  • 使用 docker-compose build --no-cache 重建。

2. mkdir: cannot create directory '/root': Permission denied

  • 原因:容器以非root用户身份运行 appuser,但脚本或依赖项试图写入 /root 目录(例如默认缓存路径)。
  • 解决方案:
  • 所有缓存目录(uv, npm)重定向到 /app 通过 ENV 指令(UV_CACHE_DIR, NPM_CONFIG_CACHE, HOME).
  • mkdir -p 在……里面 start.sh 仅在以下目录上操作 /app.
  • 中的相应卷装载路径 docker-compose.yml 已更新至 /app/....

3. pip 不使用自定义源(PIP_SOURCE)

  • 原因: PIP_SOURCE 在构建过程中未正确传递到Dockerfile。
  • 解决方案:
  • 确保 .env 文件包含 PIP_SOURCE=https://....
  • 确保 docker-compose.ymls build.args 本节包括 - PIP_SOURCE=${PIP_SOURCE:-}.
  • Dockerfile接收 ARG PIP_SOURCE 并使用via export PIP_INDEX_URL 在……里面 RUN 层。

4.网络和依赖安装缓慢/失败

  • 原因:网络连接不良,访问官方资源缓慢或超时。
  • 解决方案:
  • Dockerfile配置为使用阿里云镜像加速 apt.
  • pip 可以通过以下方式配置家用镜子 PIP_SOURCE 在……里面 .env.
  • Node.js(NodeSource)和uv(PyPI/Mirror)仍然依赖于网络;在极端情况下考虑其他解决方案。

IV、 关键考虑因素和最佳实践

  • 非root用户:始终按以下方式运行容器 appuser.
  • 持久性:明确安装 config.json, logs, data, node_modules, .npm, .uv_cache 以保留状态和依赖关系。
  • 秘密:使用管理API密钥和敏感信息 .env 文件,通过注入 env_file, 从不 COPY .env 输入图像或硬编码密钥。 .env 文件应该在 .gitignore.
  • 动态安装: start.sh的动态安装机制提供了灵活性,但意味着首次启动或之后的启动时间更长 config.json 变化。
  • 版本固定:为了再现性,建议固定 uv 版本在 Dockerfile (pip install --user uv==X.Y.Z)以及 npx 包版本在 config.json (@amap/amap-maps-mcp-server@X.Y.Z).
  • 资源限制:在生产环境中,考虑为中的服务设置内存和CPU限制 docker-compose.yml.
  • 日志:日志输出到已挂载 ./logs 目录,便于查看和管理。
  • 测试:使用 test_mcp_tools.sh 用于基本功能验证的脚本。

V.快速参考命令

  • 构建图像: docker-compose build [--no-cache]
  • 启动服务(后台): docker-compose up -d

常见问题

7 问
答案由本站依据条目字段整理,不引用上游原文
mcpo docker use 怎么安装?

资料没有给出安装命令,请到官方仓库或文档按说明接入;这类条目多数是生态应用,或尚未发布可安装包。

mcpo docker use 怎么在客户端里配置?

它的传输方式未标注,在客户端 MCP 配置里按官方文档填写启动命令和参数,保存后重启客户端生效。

mcpo docker use 收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

mcpo docker use 需要 API Key 吗?

资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

mcpo docker use 能提供哪些能力?

资料显示能力标签包括 Shell、容器化部署、开发工具。具体工具清单以官方文档为准。

mcpo docker use 需要什么运行环境?

属于本地进程,需要在本机装好运行环境。

mcpo docker use 是本地还是远程?

它是本地进程(stdio),由客户端在本机拉起。传输方式为stdio · 本地进程。

热门专题

按标签挑服务器
全部专题 →

服务器信息以作者仓库与官方文档为准;分类、传输方式与鉴权方式的中文说明为中文整理,最近核验 2026-05-18。