关于 MCP Fly Deployer
MCP Fly Deployer 是用于生成 Fly.io 部署配置的 MCP 服务,面向需要部署基于 stdio 的 MCP 服务的开发者。它可生成 Dockerfile、fly.toml 和部署脚本,并通过 supergateway 将 stdio 服务转换为 SSE 或 WebSocket 服务。
主要功能
- 01自动生成 Fly.io 部署配置
- 02按运行时生成 Dockerfile
- 03自定义 fly.toml
- 04支持 Python、Node.js、Go 和自定义二进制文件
- 05配置环境变量、机密和部署区域
适用场景
- 01为 stdio MCP 服务生成部署计划
- 02为不同运行时创建 Dockerfile
- 03配置 Fly.io 区域和应用设置
- 04将 stdio 服务转换为 SSE 或 WebSocket
MCP 相关
该项目本身是 MCP 服务,客户端可向其发送目标服务命令、运行时及部署参数,以生成部署配置。服务默认通过 SSE 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Fly Deployer
专为将 Model Context Protocol(MCP)服务部署到 Fly.io 而设计的配置生成器。此工具可自动创建 Dockerfile、fly.toml 配置和部署脚本,用于基于 stdio 的 MCP 服务。
此项目集成了 supergateway,使 MCP stdio 服务能够通过 SSE(Server-Sent Events)或 WebSockets 通信,从而轻松部署到 Fly.io 的基础设施上。
功能
- 🚀 自动生成 Fly.io 部署配置
- 🐳 根据运行时动态生成 Dockerfile
- ⚙️ 可自定义
fly.toml配置 - 🔧 支持多种运行时:
- Python
- Node.js
- Go
- 自定义二进制文件
- 🔑 环境变量和密钥管理
- 🌐 可配置区域和部署选项
工作原理
MCP Fly Deployer 使用 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 # On Unix/macOS
# OR
.venv\Scripts\activate # On Windows
- 安装依赖:
uv sync
使用方法
- 启动 MCP 服务:
python mcp_server_generator.py
服务默认将在端口 8000 上启动,并使用 SSE(Server-Sent Events)传输。
- 使用以下参数发送请求,以生成部署计划:
{
"server_command": "node", # Command to run the target stdio server
"server_args": ["index.js"], # Arguments for the server command
"runtime": "node", # Runtime ('python', 'node', 'go', 'binary')
"runtime_version": "20", # Specific runtime version
"dependencies": [], # List of dependencies
"requirements_file_content": None, # Content of requirements.txt for Python
"files_to_create": [], # Files to create in the image
"required_env_vars": [], # Required environment variables
"target_port": 8000, # Port the container will listen on (default: 8000)
"app_name": "mcp-server-app", # Suggested Fly.io app name
"primary_region": "ord" # Suggested Fly.io primary region
}
配置选项
支持的运行时
python:可指定版本的 Python 运行时node:可指定版本的 Node.js 运行时go:Go 运行时binary:自定义二进制文件部署
部署区域
可通过 primary_region 参数指定 Fly.io 区域。常见选项:
ord:芝加哥iad:北弗吉尼亚dfw:达拉斯lax:洛杉矶bom:孟买
示例
下面是为 Node.js MCP 服务生成部署计划的简单示例:
{
"server_command": "node",
"server_args": ["index.js"],
"runtime": "node",
"runtime_version": "20",
"dependencies": ["@modelcontextprotocol/server"],
"target_port": 8080,
"app_name": "my-mcp-server",
"primary_region": "ord"
}
开发
参与项目贡献:
- 复刻仓库
- 创建功能分支
- 进行更改
- 提交拉取请求
许可证
此项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
贡献
欢迎贡献!欢迎随时提交拉取请求。
支持
如果遇到任何问题或有疑问,请提交问题。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。