# Fly.io Alternative MCP

> Fly.io Alternative MCP gives your agent full command over edge compute infrastructure. List apps, create machines in any global region, manage persistent storage volumes, and audit SSL certificates using natural conversation.

## Overview
- **Category:** loved-by-devs
- **Price:** Free
- **Tags:** edge-computing, virtual-machines, server-management, deployment, infrastructure-as-code, cloud-hosting

## Description

Managing distributed applications used to mean jumping between dashboards or running complex CLI commands across multiple regions. Now, you can talk to your agent and have it handle the whole process for you. This MCP connects your account directly to the core controls of your edge infrastructure. Need a new machine in Sydney? Want to check if a volume survived a redeployment? Just ask. Your agent handles the complexity—it’s like having an embedded, expert DevOps engineer who lives inside your chat window. It manages everything from provisioning machines with specific CPU and memory limits to ensuring persistent storage volumes are attached correctly. When you connect this MCP via Vinkius, you get instant access to all these controls without ever touching a dashboard again.

## Tools

### create_machine
Builds and deploys a new virtual machine in your app, allowing you to specify the Docker image, region, CPU cores, and memory size.

### create_volume
Sets up persistent storage volume for your app, specifying the name and total size in gigabytes.

### delete_machine
Permanently removes a virtual machine; this action cannot be undone.

### get_app
Retrieves the name, status, and network details for a specific application within your account.

### get_machine
Fetches all configuration details and current state for a specified machine.

### list_apps
Retrieves a comprehensive list of every application you have deployed across your global edge network.

### list_certificates
Lists all TLS/SSL certificates for an app, showing their hostname and current issuance status.

### list_machines
Shows a list of every VM associated with your app, detailing its state, region, and resource configuration.

### list_volumes
Displays all persistent storage volumes for an app, including their size, status, and attached machine.

### restart_machine
Forces a restart of an existing virtual machine to apply changes or recover from issues.

### start_machine
Brings a stopped VM online, allowing it to boot and run its configured image again.

### stop_machine
Shuts down a running machine's compute resources while preserving its configuration and data.

### update_machine
Modifies the settings of an existing virtual machine, including changing the Docker image or resource allocations.

## Prompt Examples

**Prompt:** 
```
Show me all machines running in my web-api app.
```

**Response:** 
```
Your web-api app has 3 machines: 'web-api-1' in iad (started, 1 CPU, 512MB), 'web-api-2' in fra (started, 1 CPU, 512MB) and 'web-api-3' in nrt (stopped). All running image registry.fly.io/web-api:v2.1.0.
```

**Prompt:** 
```
Start the stopped machine in Tokyo and restart the one in Frankfurt.
```

**Response:** 
```
Done! I've started machine 'web-api-3' (nrt) — it's now booting. I've also restarted 'web-api-2' (fra) — it will stop and start again with its current configuration. Both machines should be healthy within a minute.
```

**Prompt:** 
```
Create a new 10GB volume called 'data' for my database app in Virginia.
```

**Response:** 
```
Done! I've created a 10GB persistent volume called 'data' in the iad (Virginia) region for your database app. The volume is ready to be attached to a machine via its mount configuration.
```

## Capabilities

### View Application Overview
List all deployed applications and check their status across the global network.

### Manage Machine Lifecycle
Create, start, stop, restart, update, or delete individual virtual machines (VMs) with fine-grained control over resources and regions.

### Handle Persistent Storage
List and create volumes that keep data safe even if the attached machine is deleted or restarted.

### Audit Security Certificates
Review TLS/SSL certificate status for your app's domains to ensure secure connectivity.

### Deploy Globally
Provision and manage compute resources across multiple worldwide regions (like iad, fra, or syd) for low latency access.

## Use Cases

### The database needs more disk space.
A developer realizes the main app's data volume is filling up. Instead of submitting a ticket, they ask their agent to use `create_volume` and allocate 20GB, then instruct it on how to attach that new storage unit.

### The web service keeps crashing at peak load.
An operations engineer notices erratic CPU usage. They ask the agent to use `list_machines` to identify all running instances, and then issue a command using `update_machine` to increase memory allocation across the board.

### We need to launch a new regional endpoint.
A product manager dictates that the app needs better performance in Brazil. The engineer uses their agent to execute `create_machine`, specifying the desired Brazilian region and required resource limits immediately.

### The service was deployed, but HTTPS fails.
After a deployment, connectivity tests fail. They use the MCP to run `list_certificates` right away, confirming if the certificate is 'pending' or if it needs manual re-issuance.

## Benefits

- You gain immediate control over the entire machine lifecycle. Need to stop a running VM or restart one that's misbehaving? Use `stop_machine` or `restart_machine` instead of logging into the dashboard.
- Managing data persistence becomes simple with tools like `create_volume` and `list_volumes`. You can guarantee your state survives machine restarts without manual setup.
- Global deployment is streamlined. Whether you need compute in Frankfurt or Sydney, you control it all by using `create_machine`, specifying the exact region needed for low latency.
- Security auditing gets faster. Instead of hunting through certificates, simply run `list_certificates` to see if your app's domains are issued and healthy.
- You get a single source of truth. Use `list_apps` first to map out all services, then use `get_machine` on specific apps to drill down into details.

## How It Works

The bottom line is that you stop using CLIs or web dashboards and start giving direct instructions to your AI client.

1. Subscribe to this MCP and provide your Fly.io Personal Access Token.
2. Your agent uses the token to authenticate with your edge compute account.
3. You speak naturally—for example, 'Create a machine in NRT'—and your agent executes the necessary API calls.

## Frequently Asked Questions

**How do I list all my deployed apps using the Fly.io Alternative MCP?**
You use `list_apps`. This command provides a master inventory, giving you the name and current status of every application your company has running on the edge network.

**Can I create a machine in a specific global region with Fly.io Alternative MCP?**
Yes, you can use `create_machine` to specify the desired region (like 'sjc' or 'fra'), ensuring your new compute resource meets low-latency requirements.

**What is the difference between starting and restarting a machine?**
Use `start_machine` if the VM was fully stopped. Use `restart_machine` when you want to apply configuration changes or recover from minor issues while keeping it active.

**Is there a way to check which volumes are attached to a machine?**
You first use `list_volumes` to see all available persistent storage. This list details the volume ID and, critically, the specific machine it is currently attached to.

**Does the Fly.io Alternative MCP help with updating resource size?**
Yes. If your app needs more memory or CPU, you use `update_machine` by providing a JSON body that specifies the new resource limits for the target VM.