此目录包含通过 Supergateway 桥接扩展 LibreChat 功能的 Model Context Protocol (MCP) 服务器实现。
这些是我正在整合的项目。
mcp/
├── brave-search/ # Brave Search API 集成
│ ├── Dockerfile
│ └── README.md
├── [future-server]/ # 未来 MCP 服务器的模板
│ ├── Dockerfile
│ └── README.md
└── README.md # 此文件
mcp/ 下创建一个新的服务器目录Dockerfile - 服务器构建配置README.md - 服务器特定文档docker-compose.override.yml 以添加服务librechat.yaml 以配置 MCP 服务器每个 MCP 服务器应:
librechat_default 网络本指南提供了逐步说明,用于使用 Supergateway 作为桥梁将任何 MCP 服务器添加到 LibreChat。
Supergateway 允许您通过 SSE(服务器发送事件)运行基于 stdio 的 MCP 服务器,使其非常适合在 Docker 环境中集成 MCP 服务器与 LibreChat。
为您的 MCP 服务器创建一个目录:
mkdir mcp-server-name
创建 mcp-server-name/Dockerfile:
FROM node:18
WORKDIR /app
# 安装 supergateway 和您的 MCP 服务器包
RUN npm install -g supergateway @organization/mcp-server-package
# 命令运行 supergateway 作为您的 stdio MCP 服务器与 SSE 之间的桥梁
# --stdio: 运行您的 MCP 服务器的命令
# --port: supergateway 监听的端口
CMD ["npx", "-y", "supergateway", "--stdio", "npx -y @organization/mcp-server-package", "--port", "8002"]
添加您的 MCP 服务器服务:
services:
mcp-server-name:
build:
context: ./mcp-server-name
ports:
- "8002:8002" # 根据需要调整端口
networks:
- librechat_default
environment:
- API_KEY=${YOUR_API_KEY} # 如果您的服务器需要 API 密钥
volumes:
- ./mcp-server-name:/app # 如果您的服务器需要访问本地文件
添加您的 MCP 服务器配置:
mcpServers:
server-name:
type: sse
url: "http://mcp-server-name:8002/sse"
Stdio 到 SSE 桥
Docker 网络
librechat_default 网络上运行配置流程
librechat.yaml 中读取 mcpServers 配置mcpServers:
basic-server:
type: sse
url: "http://basic-server:8002/sse"
# docker-compose.override.yml
services:
api-server:
environment:
- API_KEY=${API_KEY}
# librechat.yaml
mcpServers:
api-server:
type: sse
url: "http://api-server:8002/sse"
# docker-compose.override.yml
services:
file-server:
volumes:
- ./data:/app/data
# librechat.yaml
mcpServers:
file-server:
type: sse
url: "http://file-server:8002/sse"
连接问题:
docker compose logs mcp-server-name服务器无法启动:
通信问题:
安全
网络
配置
监控
这里是一个完整的示例,用于添加一个新的 MCP 服务器:
librechat/
├── mcp-server/
│ └── Dockerfile
├── docker-compose.override.yml
└── librechat.yaml
FROM node:18
WORKDIR /app
RUN npm install -g supergateway @org/mcp-server
CMD ["npx", "-y", "supergateway", "--stdio", "npx -y @org/mcp-server", "--port", "8002"]
services:
mcp-server:
build:
context: ./mcp-server
ports:
- "8002:8002"
networks:
- librechat_default
environment:
- API_KEY=${MCP_API_KEY}
mcpServers:
mcp-server:
type: sse
url: "http://mcp-server:8002/sse"