内容
# MCP STDIO to SSE Wrapper
一个将任何模型上下文协议(Model Context Protocol,MCP)服务器与SSE接口封装的Docker容器。
## 特性
- 将任何基于stdio的MCP服务器转换为SSE接口
- 支持Node.js和Python基础的MCP服务器
- 可自定义端口、SSE路径和消息路径
- 可与Kubernetes直接使用
## Docker镜像
可在Docker Hub上获取:[macmee/mcp-stdio-to-sse-wrapper](https://hub.docker.com/r/macmee/mcp-stdio-to-sse-wrapper)
## 使用方法
### 与Brave Search的基本用法
```bash
docker run --rm -it -p 8080:8080 \
-e BRAVE_API_KEY="your-api-key" \
macmee/mcp-stdio-to-sse-wrapper
```
### 与其他MCP服务器一起使用
```bash
# 对于基于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` | `npx @modelcontextprotocol/server-brave-search` | 运行MCP服务器的命令 |
| `PORT` | `8080` | 监听的端口 |
| `SSE_PATH` | `/sse` | SSE连接的路径 |
| `MESSAGE_PATH` | `/message` | 消息处理的路径 |
| `BASE_URL` | `http://localhost:$PORT` | 服务器的基本URL |
## Kubernetes示例
```yaml
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