Mcp Fly Deployer

Mcp Fly Deployer

🚀 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 功能)。

安装步骤

  1. 克隆仓库:
git clone https://github.com/yourusername/mcp-fly-deployer.git
cd mcp-fly-deployer
  1. 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate  # 在 Unix/macOS 上
# 或者在 Windows 上
.venv\Scripts\activate
  1. 安装依赖项:
uv sync

💻 使用示例

基础用法

  1. 启动 MCP 服务器:
python mcp_server_generator.py

该服务器将在默认端口 8000 上运行,使用 SSE(服务器发送事件)传输。

  1. 发送请求以生成部署计划,参数如下:
{
"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-1
  • us-west-2
  • eu-central-1

🤝 开发和贡献

要为项目做出贡献,请参考 CONTRIBUTING.md

问题报告

遇到问题或有疑问?请在 Issues 中提交问题。

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-10-05 14:24

相似服务问题

相关AI产品