MCP Fly Deployer

MCP Fly Deployer

MCP server that provides docker files for stdio based MCP server to be deployed on platform like Fly.IO

NakulRajan

Developer Tools
Visit Server

README

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.toml configuration
  • 🔧 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

  1. Clone the repository:
git clone https://github.com/yourusername/mcp-fly-deployer.git
cd mcp-fly-deployer
  1. Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate  # On Unix/macOS
# OR
.venv\Scripts\activate     # On Windows
  1. Install dependencies:
uv sync

Usage

  1. Start the MCP server:
python mcp_server_generator.py

The server will start on port 8000 by default, using SSE (Server-Sent Events) transport.

  1. 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 specification
  • node: Node.js runtime with version specification
  • go: Go runtime
  • binary: Custom binary deployment

Deployment Regions

Fly.io regions can be specified using the primary_region parameter. Common options:

  • ord: Chicago
  • iad: Northern Virginia
  • dfw: Dallas
  • lax: Los Angeles
  • bom: 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:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. 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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python