article
README
🚀 MCP 飞行部署器
MCP 飞行部署器是一款配置生成工具,专门用于将模型上下文协议(MCP)服务器部署到 Fly.io。它能够自动化创建 Dockerfile、fly.toml 配置和部署脚本,适用于基于标准输入输出(stdio)的 MCP 服务器。该项目集成了 supergateway,可让 MCP stdio 服务器通过 SSE(服务器发送事件)或 WebSocket 进行通信,从而无缝部署到 Fly.io 的基础设施中。
✨ 主要特性
- 🚀 自动化生成 Fly.io 部署配置。
- 🐳 根据运行时动态生成 Dockerfile。
- ⚙️ 可自定义的
fly.toml配置。 - 🔧 支持多种运行时,包括 Python、Node.js、Go 以及自定义二进制文件。
- 🔑 环境变量和机密管理。
- 🌐 可配置的区域和部署选项。
🔧 技术细节
MCP 飞行部署器利用 supergateway 实现以下功能:
- 将基于 stdio 的 MCP 服务器转换为 SSE 或 WebSocket 服务。
- 实现远程访问和调试功能。
- 自动管理 JSON-RPC 版本控制。
- 处理包元数据传输。
有关底层网关技术的详细信息,请参阅 supergateway 文档。
📦 安装指南
先决条件
- Python 3.13 或更高版本。
- pip(Python 包管理器)。
- 已安装并配置好的 Fly.io CLI。
- Node.js 和 npm(用于 supergateway 功能)。
安装步骤
- 克隆仓库:
git clone https://github.com/yourusername/mcp-fly-deployer.git
cd mcp-fly-deployer
- 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate # 在 Unix/macOS 上
# 或者在 Windows 上
.venv\Scripts\activate
- 安装依赖项:
uv sync
💻 使用示例
基础用法
- 启动 MCP 服务器:
python mcp_server_generator.py
该服务器将在默认端口 8000 上运行,使用 SSE(服务器发送事件)传输。
- 发送请求以生成部署计划,参数如下:
{
"server_command": "node", # 运行目标 stdio 服务器的命令
"server_args": ["index.js"], # 服务器命令的参数
"runtime": "node", # 运行时类型('python', 'node', 'go', 'binary')
"runtime_version": "20", # 特定运行时版本
"dependencies": [], # 依赖项列表
"environment_variables": {}, # 环境变量
"region": "us-east-1", # 部署区域
"fly_app_id": "your_fly_app_id" # Fly 应用程序 ID
}
📚 详细文档
支持的运行时
- Python:使用
python运行时。 - Node.js:使用
node运行时,版本指定为16,18等等。 - Go:使用
go运行时,版本指定为1.20等等。 - 自定义二进制文件:部署自定义构建的二进制文件。
区域
支持以下 Fly.io 区域:
us-east-1us-west-2eu-central-1
🤝 开发和贡献
要为项目做出贡献,请参考 CONTRIBUTING.md。
问题报告
遇到问题或有疑问?请在 Issues 中提交问题。
微信扫一扫