Back to MCP directory
publicPublicdnsLocal runtime

mcp-stdio-to-sse-wrapper

一个Docker容器,用于将任何基于标准输入输出的MCP服务器转换为SSE接口,支持Node.js和Python服务器,可自定义端口和路径,适用于Kubernetes部署。

article

README

🚀 MCP 标准输入到 SSE 包装器

本项目是一个 Docker 容器,可将任何模型上下文协议 (MCP) 服务器包装成带有 Server-Sent Events (SSE) 接口的形式,为使用 MCP 服务器提供了更便捷的交互方式。

🚀 快速开始

本项目提供了一个 Docker 容器,可将任何基于标准输入的 MCP 服务器转换为 SSE 接口。你可以直接从 Docker Hub 拉取镜像使用。

✨ 主要特性

  • 接口转换:将任何基于标准输入的 MCP 服务器转换为 SSE 接口。
  • 多语言支持:支持 Node.js 和 Python 基础的 MCP 服务器。
  • 自定义配置:可自定义端口、SSE 路径和消息路径。
  • Kubernetes 适配:可直接用于 Kubernetes 环境。

📦 安装指南

本项目的 Docker 镜像可在 Docker Hub 上获取:macmee/mcp-stdio-to-sse-wrapper

💻 使用示例

基础用法(以 Brave 搜索为例)

docker run --rm -it -p 8080:8080 \
  -e BRAVE_API_KEY="your-api-key" \
  macmee/mcp-stdio-to-sse-wrapper

高级用法(其他 MCP 服务器)

Node.js 基础的 MCP 服务器

docker run --rm -it -p 8080:8080 \
  -e MCP_SERVER_TO_WRAP="npx @modelcontextprotocol/server-some-other-mcp" \
  macmee/mcp-stdio-to-sse-wrapper

Python 基础的 MCP 服务器

docker run --rm -it -p 8080:8080 \
  -e MCP_SERVER_TO_WRAP="uv run mcp-server-name" \
  macmee/mcp-stdio-to-sse-wrapper

📚 详细文档

环境变量说明

| 属性 | 详情 | |------|------| | MCP_SERVER_TO_WRAP | 运行 MCP 服务器的命令,默认值为 npx @modelcontextprotocol/server-brave-search | | PORT | 监听的端口,默认值为 8080 | | SSE_PATH | SSE 连接的路径,默认值为 /sse | | MESSAGE_PATH | 消息处理的路径,默认值为 /message | | BASE_URL | 服务器的基础 URL,默认值为 http://localhost:$PORT |

Kubernetes 部署示例

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mcp-server
  labels:
    app: mcp-server
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mcp-server
  template:
    metadata:
      labels:
        app: mcp-server
    spec:
      containers:
      - name: mcp-server
        image: macmee/mcp-stdio-to-sse-wrapper:latest
        ports:
        - containerPort: 8080
        env:
        - name: MCP_SERVER_TO_WRAP
          value: "npx @modelcontextprotocol/server-brave-search"
        - name: BRAVE_API_KEY
          valueFrom:
            secretKeyRef:
              name: mcp-secrets
              key: brave-api-key
---
apiVersion: v1
kind: Service
metadata:
  name: mcp-server
spec:
  selector:
    app: mcp-server
  ports:
  - port: 80
    targetPort: 8080
  type: ClusterIP

📄 许可证

本项目采用 MIT 许可证。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client