- Explore MCP Servers
- mcp-fly-deployer
Mcp Fly Deployer
What is Mcp Fly Deployer
mcp-fly-deployer is a specialized configuration generator designed for deploying Model Context Protocol (MCP) servers on Fly.io. It automates the creation of Dockerfiles, fly.toml configurations, and deployment scripts for stdio-based MCP servers.
Use cases
Use cases for mcp-fly-deployer include deploying real-time applications that require server-client communication via SSE or WebSockets, managing multiple runtime environments, and automating the deployment process for MCP servers.
How to use
To use mcp-fly-deployer, clone the repository, set up a virtual environment, install dependencies, and start the MCP server using the provided Python script. The server will run on port 8000 by default, utilizing Server-Sent Events for communication.
Key features
Key features include automated Fly.io deployment configuration generation, dynamic Dockerfile generation based on runtime, customizable fly.toml configuration, support for multiple runtimes (Python, Node.js, Go, Custom binary), environment variables and secrets management, and configurable regions and deployment options.
Where to use
mcp-fly-deployer is primarily used in cloud deployment scenarios, particularly for developers and organizations looking to deploy MCP servers on Fly.io’s infrastructure.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Mcp Fly Deployer
mcp-fly-deployer is a specialized configuration generator designed for deploying Model Context Protocol (MCP) servers on Fly.io. It automates the creation of Dockerfiles, fly.toml configurations, and deployment scripts for stdio-based MCP servers.
Use cases
Use cases for mcp-fly-deployer include deploying real-time applications that require server-client communication via SSE or WebSockets, managing multiple runtime environments, and automating the deployment process for MCP servers.
How to use
To use mcp-fly-deployer, clone the repository, set up a virtual environment, install dependencies, and start the MCP server using the provided Python script. The server will run on port 8000 by default, utilizing Server-Sent Events for communication.
Key features
Key features include automated Fly.io deployment configuration generation, dynamic Dockerfile generation based on runtime, customizable fly.toml configuration, support for multiple runtimes (Python, Node.js, Go, Custom binary), environment variables and secrets management, and configurable regions and deployment options.
Where to use
mcp-fly-deployer is primarily used in cloud deployment scenarios, particularly for developers and organizations looking to deploy MCP servers on Fly.io’s infrastructure.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
MCP Fly Deployer
A specialized configuration generator for deploying Model Context Protocol (MCP) servers to Fly.io. This tool automates the creation of Dockerfiles, fly.toml configurations, and deployment scripts for stdio-based MCP servers.
This project integrates supergateway to enable MCP stdio servers to communicate over SSE (Server-Sent Events) or WebSockets, facilitating seamless deployment to Fly.io’s infrastructure.
Features
- 🚀 Automated Fly.io deployment configuration generation
- 🐳 Dynamic Dockerfile generation based on runtime
- ⚙️ Customizable
fly.tomlconfiguration - 🔧 Support for multiple runtimes:
- Python
- Node.js
- Go
- Custom binary
- 🔑 Environment variables and secrets management
- 🌐 Configurable regions and deployment options
How It Works
The MCP Fly Deployer uses supergateway to:
- Convert stdio-based MCP servers into SSE or WebSocket services
- Enable remote access and debugging capabilities
- Manage JSON-RPC versioning automatically
- Handle package metadata transmission
For more details about the underlying gateway technology, see the supergateway documentation.
Prerequisites
- Python 3.13 or higher
- pip (Python package manager)
- Fly.io CLI installed and configured
- Node.js and npm (for supergateway functionality)
Installation
- Clone the repository:
git clone https://github.com/yourusername/mcp-fly-deployer.git
cd mcp-fly-deployer
- Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate # On Unix/macOS
# OR
.venv\Scripts\activate # On Windows
- Install dependencies:
uv sync
Usage
- Start the MCP server:
python mcp_server_generator.py
The server will start on port 8000 by default, using SSE (Server-Sent Events) transport.
- Send requests to generate deployment plans with the following parameters:
{
"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
}
Configuration Options
Supported Runtimes
python: Python runtime with version specificationnode: Node.js runtime with version specificationgo: Go runtimebinary: Custom binary deployment
Deployment Regions
Fly.io regions can be specified using the primary_region parameter. Common options:
ord: Chicagoiad: Northern Virginiadfw: Dallaslax: Los Angelesbom: Mumbai
Example
Here’s a simple example of generating a deployment plan for a Node.js MCP server:
{
"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"
}
Development
To contribute to the project:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Support
If you encounter any problems or have questions, please open an issue.
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.










