Beta

The Fly MCP

Bring Fly.io to your AI coding agent. Manage your Machines, Sprites, and more right from your editor.

Choose your client

Tools

Account and context

4 tools
Context and organizations 4 tools
get_fly_context
Show this connection's account, authorized resource boundaries and actionable onboarding prerequisites. Never expands access.
list_organizations
List current organization identities and roles under explicitly granted account-directory access. This does not authorize their resources.
get_organization
Read the selected organization's identity, current role and launch eligibility.
get_launch_requirements
Explain launch blockers and return browser handoffs for billing, SSO or provider terms. Does not accept terms or alter payment settings.

Fly apps and resources

48 tools
Apps 3 tools
list_apps
List app identity, organization, status, and counts.
get_app
Read an app's identity, organization, status, and counts.
delete_app
Permanently delete the app. This can disrupt or delete its resources; inspect the app first. Requires explicit fly:apps:delete authorization.
Machines 29 tools
list_machines
List Machine identity and lifecycle summaries for an app. Excludes configuration and secrets.
get_machine
Read a Machine's identity and lifecycle summary. Excludes configuration and secrets.
get_machine_configuration
Read the full Machine configuration under explicit authorization. Configuration can contain sensitive environment, file and metadata values. Requires explicit fly:machines:sensitive:read authorization.
create_machine
Create a billable Machine from explicit configuration. It starts unless skip_launch is set. If the response is lost, inspect existing Machines before retrying; mutations are not automatically retried. Requires explicit fly:machines:write authorization.
update_machine
Replace the Machine configuration and create a new version; this can restart running work. Requires the current_version from an explicit configuration read, preventing stale overwrites. Requires explicit fly:machines:write authorization.
delete_machine
Permanently destroy the Machine and its ephemeral root filesystem. Attached volumes are separate resources. force is never enabled implicitly. Requires explicit fly:machines:delete authorization.
start_machine
Start Machine. Requires explicit fly:machines:write authorization.
stop_machine
Stop running work on the Machine. Existing auto_destroy configuration still applies. Requires explicit fly:machines:write authorization.
restart_machine
Restart the Machine and interrupt its running work. Requires explicit fly:machines:write authorization.
suspend_machine
Suspend running work on the Machine; this interrupts service until resumed. Requires explicit fly:machines:write authorization.
signal_machine
Signal Machine. Requires explicit fly:machines:write authorization.
cordon_machine
Remove this Machine from proxy routing; existing application work can continue. Requires explicit fly:machines:write authorization.
uncordon_machine
Allow proxy routing to this Machine again. Requires explicit fly:machines:write authorization.
list_machine_events
List Events. Requires explicit fly:machines:read authorization.
list_machine_versions
Read historical Machine configurations under explicit authorization. History can contain sensitive environment, file and metadata values. Requires explicit fly:machines:sensitive:read authorization.
list_machine_processes
Read process details, which can include sensitive command arguments, under explicit authorization. Requires explicit fly:machines:sensitive:read authorization.
wait_for_machine_state
Wait for State. Requires explicit fly:machines:read authorization.
get_machine_lease
Read the active lease under an explicit management grant. Lease nonces are sensitive concurrency credentials. Requires explicit fly:machines:write authorization.
get_machine_metadata
Read arbitrary Machine metadata under explicit authorization; values can be sensitive. Requires explicit fly:machines:sensitive:read authorization.
get_machine_metadata_key
Read one arbitrary Machine metadata value under explicit authorization. Requires explicit fly:machines:sensitive:read authorization.
exec_machine_command
Execute an explicit argv array on the Machine, without an implicit shell. Can read or change application data. Command output may contain sensitive values. Requires explicit fly:machines:exec authorization.
create_machine_lease
Acquire a temporary Machine lease, or renew it with the existing lease_nonce. Keep the returned nonce private; use it for subsequent mutations and release. Requires explicit fly:machines:write authorization.
release_machine_lease
Release the Machine lease using its exact lease_nonce. Requires explicit fly:machines:write authorization.
get_machine_memory
Get Machine Memory. Requires explicit fly:machines:write authorization.
set_machine_memory_limit
Set Machine Memory Limit. Requires explicit fly:machines:write authorization.
reclaim_machine_memory
Reclaim Machine Memory. Requires explicit fly:machines:write authorization.
update_machine_metadata
Set or remove metadata keys, without replacing other keys. Null or empty values remove keys. Requires machine_version; stale versions fail without updating. Requires explicit fly:machines:write authorization.
set_machine_metadata_key
Upsert Metadata Key. Requires explicit fly:machines:write authorization.
delete_machine_metadata_key
Delete Metadata. Requires explicit fly:machines:write authorization.
Volumes 8 tools
list_volumes
List Volumes. Requires explicit fly:volumes:read authorization.
create_volume
Create a new billable persistent volume. Restoring or forking another volume is not supported by this tool; those operations require separate source-resource authorization. Requires explicit fly:volumes:write authorization.
get_volume
Get Volume. Requires explicit fly:volumes:read authorization.
update_volume
Update Volume. Requires explicit fly:volumes:write authorization.
delete_volume
Permanently destroy a persistent volume and its data. Detach it from Machines before deletion. Requires explicit fly:volumes:delete authorization.
extend_volume
Increase persistent volume capacity and associated charges; volumes cannot be shrunk. Requires explicit fly:volumes:write authorization.
list_volume_snapshots
List Snapshots. Requires explicit fly:volumes:read authorization.
create_volume_snapshot
Create Snapshot. Requires explicit fly:volumes:write authorization.
App secrets 5 tools
list_app_secrets
List secret names, digests and timestamps. Secret values are never returned. Requires explicit fly:secrets:read authorization.
get_app_secret
Read one secret's name, digest and timestamps. Its value is never returned. Requires explicit fly:secrets:read authorization.
update_app_secrets
Set or remove several secrets. Null values remove secrets and additionally require fly:secrets:delete consent. The upstream bulk API requires create, write and delete action bits even for sets; secret values are never echoed. Requires explicit fly:secrets:write authorization.
set_app_secret
Set a secret value. The result contains metadata only; secret values are not echoed. Requires explicit fly:secrets:write authorization.
delete_app_secret
Delete an app secret. Requires explicit fly:secrets:delete authorization.
IP addresses 1 tool
list_app_ips
List IP assignments for app. Requires explicit fly:network:read authorization.
TLS certificates 2 tools
list_app_certificates
List certificates for app. Requires explicit fly:certificates:read authorization.
get_app_certificate
Get certificate details. Requires explicit fly:certificates:read authorization.

Sprites

27 tools
Discovery and lifecycle 6 tools
list_sprites
List sprites for the authenticated organization.
create_sprite
Create a new sprite in the authenticated organization.
destroy_sprite
Destroy a sprite in the authenticated organization.
search_sprite_mentions
Find up to 20 authorized Sprites by name prefix for composer mentions.
open_sprite_inspector
Open a read-only Sprite Inspector showing environments, services, checkpoints and recent service logs. Opening only lists metadata; runtime reads are explicit and may wake a Sprite.
get_sprite_info
Read authorized Sprite metadata without waking it. Pass sprite_id from a mention or Inspector selection to reject deleted and recreated environments.
Commands and sessions 3 tools
exec_list
List active exec sessions.
exec
Execute a command via simple HTTP POST (non-TTY only). Simpler alternative for exec for environments that can't handle websockets.
exec_kill
Kill an exec session by session ID. Returns streaming NDJSON with kill progress.
Files and directories 6 tools
file_read
Read file contents from the sprite filesystem. Returns raw file bytes.
file_write
Write up to 16 MiB of file contents to the sprite filesystem. Request body contains raw file bytes.
file_list
List directory contents.
file_delete
Delete a file or directory.
file_rename
Rename or move a file or directory.
file_copy
Copy a file or directory.
Services and logs 6 tools
service_list
List all configured services and their current state.
service_get
Get details of a specific service.
service_create
Create or update a service definition.
service_start
Start a service. Returns streaming NDJSON with stdout/stderr.
service_stop
Stop a running service. Returns streaming NDJSON with service stop progress.
service_logs
Stream logs for a service.
Checkpoints 4 tools
checkpoint_create
Create a new checkpoint of the current sprite state. Returns streaming NDJSON progress.
checkpoint_list
List all checkpoints.
checkpoint_get
Get details of a specific checkpoint.
checkpoint_restore
Restore to a specific checkpoint. Returns streaming NDJSON progress.
Network policies 2 tools
policy_network_get
Get the current network policy configuration.
policy_network_update
Update the network policy configuration.

FAQ

What can Fly MCP do?

Work with your existing Fly apps, Machines, volumes, and app secrets, and with Sprites. IP addresses and certificates are read-only. Deployments, app creation, product provisioning, and organization administration are not included.

Do I need an API token?

No. Your client signs in through fly.io in the browser with OAuth, so there is nothing to paste.

What can my agent access?

Only the organizations, apps, and Sprites permissions you approve on the consent screen. New tools do not expand an existing grant, and your client's tool approvals still apply.

Which clients work with Fly MCP?

Any client that supports remote HTTP MCP servers with OAuth. Pick yours above for its setup command, or choose Other clients and use the server URL.

Will my agent wake a sleeping Sprite?

Reading Sprite metadata does not. Reading runtime state, services, logs, or files may wake it.

How do I revoke access?

Disconnect the client and revoke its backing Sprites token. Revocation stops further use of that token, including OAuth refresh.

A call failed. What should I do?

Retry reads once the service recovers. If a write timed out, check whether it completed before repeating it. If sign-in fails or access was revoked, reconnect through the consent screen.