MCP网关部署包
基于Docker的完整部署包,用于模型上下文协议(MCP)网关,配备基于Web的管理界面。
🚀 功能特性
- MCP网关 - Docker 官方的 MCP 服务器编排器
- 网络管理仪表盘 - 管理服务器和配置的精美用户界面
- RESTful管理API - 对您的MCP(可能指某种云服务或平台,如Microsoft Cloud Platform等,具体需根据上下文确定)部署进行程序化控制
- 环境管理 - 安全存储凭证和机密信息
- Docker 集成 - 从仪表盘直接管理容器
- 生产就绪 - 包括监控、健康检查和自动重启
- 一键部署 - Linode自动化设置脚本(可适配其他主机)
📋 先决条件
- Ubuntu 24.04 LTS(或类似的Linux发行版)
- Root或sudo访问权限
- 最低2GB内存(建议4GB)
- 20GB磁盘空间
- 端口3000、8080、8811可用
🎯 快速入门
选项1:自动化部署(Linode)
# Clone this repository
git clone https://github.com/YOUR_USERNAME/mcp-gateway-deployment.git
cd mcp-gateway-deployment
# Make deployment script executable
chmod +x deploy-linode.sh
# Run deployment (as root)
sudo ./deploy-linode.sh该脚本将:
- 安装 Docker 和 Docker Compose
- 设置MCP网关和管理器
- 配置防火墙规则
- 生成安全的管理员密码
- 创建systemd服务以实现自动启动
- 显示访问凭据
选项2:手动部署
# Clone repository
git clone https://github.com/YOUR_USERNAME/mcp-gateway-deployment.git
cd mcp-gateway-deployment
# Create required directories
mkdir -p gateway-config secrets
# Generate admin password
openssl rand -base64 32 | bcrypt -c 10 > secrets/admin.password
# Create environment file
cat > .env secrets/admin.password
# Restart manager
docker-compose restart mcp-manager📝 配置
添加MCP服务器
通过仪表板:
- 登录管理仪表板
- 导航至“服务器配置”
- 填写服务器详细信息
- 点击“部署服务器”
通过配置文件设置:
# gateway-config/gateway.yaml
servers:
- name: filesystem
image: mcp/filesystem
config:
path: /data
- name: web-search
image: mcp/web-search
env:
API_KEY: ${SEARCH_API_KEY}环境变量
存储机密信息于 /secrets/ 目录:
echo "sk-1234567890abcdef" > secrets/OPENAI_API_KEY.env
echo "ghp_abcdefg12345" > secrets/GITHUB_TOKEN.env在 gateway.yaml 中的引用:
servers:
- name: ai-assistant
image: mcp/openai
env:
OPENAI_API_KEY: ${OPENAI_API_KEY}🛠️ 维护
查看日志
docker-compose logs -f # All services
docker-compose logs -f mcp-gateway # Gateway only
docker-compose logs -f mcp-manager # Manager only重启服务
docker-compose restart # Restart all
docker-compose restart mcp-gateway # Restart gateway
docker-compose restart mcp-manager # Restart manager更新服务
docker-compose pull
docker-compose up -d备份配置
tar -czf mcp-backup-$(date +%Y%m%d).tar.gz \
gateway-config/ \
secrets/ \
.env监控资源
docker stats # Real-time resource usage
docker-compose ps # Service status🔧 故障排除
服务无法启动
# Check logs
docker-compose logs
# Verify Docker is running
systemctl status docker
# Check port availability
netstat -tlnp | grep -E '3000|8080|8811'无法访问仪表板
# Check firewall
sudo ufw status
# Verify manager is running
docker-compose ps mcp-manager
# Check manager logs
docker-compose logs mcp-manager忘记管理员密码
# Generate new password
NEW_PASS=$(openssl rand -base64 32)
echo "$NEW_PASS"
echo "$NEW_PASS" | bcrypt -c 10 > secrets/admin.password
# Restart manager
docker-compose restart mcp-manager🌐 连接客户
Claude Desktop(可译为“Claude桌面版”)
{
"mcpServers": {
"remote-gateway": {
"url": "http://YOUR_SERVER_IP:8080",
"transport": "http"
}
}
}带有MCP扩展的VS Code
{
"mcp.servers": [
{
"name": "Remote Gateway",
"url": "http://YOUR_SERVER_IP:8080"
}
]
}📊 系统要求
最小值
- 2GB 内存
- 2个CPU核心
- 20GB磁盘空间
- 10兆比特每秒网络
推荐
- 4GB 运行内存
- 4个CPU核心
- 50GB磁盘空间
- 100 Mbps网络
🤝 贡献(或“参与贡献”)
欢迎贡献!请随时提交拉取请求。
📄 许可证
MIT 许可证 - 详情请参见 LICENSE 文件
🆘 支持
- GitHub Issues:\[报告错误或请求功能\]
- 文档:\[完整的MCP网关文档\]
- 社区:\[加入MCP Discord服务器\]
🙏 致谢
- Docker MCP网关团队
- 模型上下文协议社区
- 所有贡献者
