MCP标准IO桥接器

一个运行时镜像,用于保持仅标准IO的模型上下文协议(MCP)工具存活并通过HTTP/SSE暴露它们,适用于Kubernetes Pod或本地测试。

  • by icoretech
  • Dockerfile
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 icoretech/mcp-stdio-bridge

使用说明

MCP-STDIO桥接器

一个仅包含标准I/O(stdio)模型上下文协议(MCP)工具的微型运行时镜像 保持活跃并通过HTTP/SSE暴露它们。它的设计是为了能够轻松集成到一个 Kubernetes Pod(例如通过 servers[].stdioBridge (在……中的)街区 mcp-server Helm chart),但它也可以作为一个独立的容器来使用 本地测试。

里面是什么

运行时 备注
Node.js 25及以上版本 npx 基于MCP的节点服务器启动(npx chrome-devtools-mcp等)。
Python 3.12 或更高版本 pip 为需要的工具提供基础的Python运行时环境
uv + uvx 预装的musl构建。该 uvx 包装器转发到
uv tool run "$@",所以像这样的命令 uvx mcp-server-reddit 只需工作
tsx 适用于以TypeScript为主的MCP服务器。
mcp-proxy 0.9.x 保持stdio工具运行并提供SSE的桥接进程。
BusyBox 工具 由初始化脚本使用;无特殊之处。

两者都 amd64 和 arm64 每次发布时都会构建镜像。

快速入门(本地)

# Run a stdio-only MCP server with an SSE endpoint exposed at port 3000
docker run --rm -p 3000:3000 \
  ghcr.io/icoretech/mcp-stdio-bridge:0.3.1 \
  mcp-proxy --port 3000 -- npx chrome-devtools-mcp

容器在首次启动时会下载该工具(使用 npx, uvx等)和 使其保持活力。接下来的任何论点 -- 被传递给stdio服务器。

使用 uvx

因为该镜像附带了 uvx 预配置好的,您可以启动基于Python的(程序/应用) 服务器排成一列:

# Start the Reddit MCP server and bridge it to SSE
docker run --rm ghcr.io/icoretech/mcp-stdio-bridge:0.3.1 \
  uvx mcp-server-reddit

这会下载该软件包(缓存到容器内部)并运行它 mcp-proxy 自动地。替换 mcp-server-reddit 与任何紫外线兼容的(产品/材料) 标准输入输出工具。

Kubernetes / Helm(标准输入输出桥接)

当使用时 mcp-server Helm Chart,为每台服务器启用桥接:

servers:
  - name: reddit
    port: 3000
    stdioBridge:
      enabled: true
      image: ghcr.io/icoretech/mcp-stdio-bridge
      tag: 0.3.1
      passEnvironment: true
      serverCommand: ["uvx", "mcp-server-reddit"]
      serverArgs: []
    register:
      enabled: false

该图表已嵌入 mcp-proxy. 设置 passEnvironment: true 转发 将子进程的Pod环境设置为有用,这适用于API密钥或其他(内容) 配置。

有用的标志/选项

你可以通过任何(测试/考试等,具体根据上下文确定) mcp-proxy 在……之前的旗帜 -- 分隔符:

# Enforce a specific transport and allow all origins
docker run --rm ghcr.io/icoretech/mcp-stdio-bridge:0.3.1 \
  mcp-proxy --transport sse --allow-origin='*' --port 3000 -- \
  npx chrome-devtools-mcp

常见选项:

  • --pass-environment / --no-pass-environment
  • --cwd <path> 更改子进程的工作目录
  • --named-server 从一个容器中暴露多个桥接目标

跑 docker run --rm ghcr.io/icoretech/mcp-stdio-bridge:0.3.1 mcp-proxy --help 以获取完整列表。

发布工作流程

这个仓库使用了Release Please:

  1. 每次提交和拉取请求都会触发 CI构建(持续集成构建) 构建工作流 (不强制进行)并对运行时进行冒烟测试uv, uvx, node, python3, mcp-proxy)。
  2. 合并发布请求(Release Please PR)会创建标签 vX.Y.Z。
  3. 该标签触发发布工作流,将多架构镜像推送到 ghcr.io/icoretech/mcp-stdio-bridge 带有标签 vX.Y.Z, vX.Y,和 latest。

许可证

麻省理工学院(详见仓库中的LICENSE文件)。