Back to Tools
Developer Tools API Key BYOC
flyio logo

Fly.io MCP Tools for AI Agents

Let an agent deploy app images, inspect logs, restart or scale Machines, manage volumes, and configure secrets on Fly.io.

Available Tools

30 tools available in this integration

Flyio.AddCertificate

Add a TLS certificate for a hostname and return the DNS records to set.

Flyio.AllocateIpAddress

Allocate a new IP address for an app.

Flyio.CheckCertificate

Check a certificate's validation status and any pending DNS records.

Flyio.CreateMachine

Create a new Machine for an app from a container image.

Flyio.CreateVolume

Create a new persistent volume for an app.

Flyio.DeployApp

Roll a new container image out to all of an app's Machines.

Flyio.DestroyMachine

Permanently destroy a Machine.

Flyio.DestroyVolume

Permanently destroy a volume and the data it holds.

Flyio.ExtendVolume

Grow a volume to a larger size.

Flyio.GetApp

Get the current status of a single Fly.io app.

Flyio.GetLogs

Read recent historical log entries for an app, optionally filtered.

Flyio.GetMachine

Get the configuration, state, and health of a single Machine.

Flyio.ListApps

List Fly.io apps, optionally scoped to a single organization.

Flyio.ListCertificates

List the custom-domain TLS certificates configured on an app.

Flyio.ListIpAddresses

List the IP addresses assigned to an app, including the shared IPv4.

Flyio.ListMachines

List the Machines that belong to an app.

Flyio.ListOrganizations

List the Fly.io organizations the configured token can access.

Flyio.ListRegions

List the Fly.io regions available for deploying apps and volumes.

Flyio.ListReleases

List an app's release history, newest first.

Flyio.ListSecrets

List an app's secret names.

Flyio.ListVolumes

List the persistent volumes that belong to an app.

Flyio.ReleaseIpAddress

Release a dedicated IP address so it is no longer assigned to the app.

Flyio.RemoveCertificate

Remove a custom-domain TLS certificate from an app.

Flyio.RestartMachine

Restart a Machine and report its settled state.

Flyio.ScaleMachineCount

Scale an app to a target Machine count by adding or removing Machines.

Flyio.ScaleVmSize

Change the VM size or memory of an app's Machines.

Flyio.SetSecrets

Set one or more app secrets, optionally rolling them out immediately.

Flyio.StartMachine

Start a stopped Machine and report its settled state.

Flyio.StopMachine

Stop a started Machine and report its settled state.

Flyio.UnsetSecrets

Remove one or more app secrets, optionally rolling the change out immediately.

Why agent-optimized tools matter

Built for intent, not API schemas

Ask the agent to "find the unhealthy app, inspect its latest logs, and explain what changed." Arcade helps it use the right Fly.io tools without guessing app, Machine, release, or volume identifiers.

Up to 100x fewer tokens

Fly.io reads return focused metadata for apps, Machines, releases, volumes, certificates, and IPs, with logs or configuration fetched when needed. The agent can diagnose infrastructure without loading every resource into context.

Complete the workflow end to end

Inspect app health, review logs, deploy an image, verify the resulting release, and check Machine state through one toolkit designed around the complete Fly.io operations task.

Make actions predictable and controlled

Arcade tools return structured results and useful errors across users and runs. Teams can apply scope restrictions, redaction, and approval policies so agents follow the same controls every time.

Securing Fly.io

The more capabilities agents get, the more useful they are. However, more capabilities bring more risks of undesired effects such as data loss and exfiltration.

This is why Arcade provides you with contextual rules that dictate how and when a tool is allowed to run. Arcade’s contextual access lets you govern tool visibility and behavior at every stage of execution and control who can see a tool, what inputs are allowed, and what comes back.

Learn about Contextual Access Policies

For Fly.io, you can implement some of these policies:

Access when tools are listed for a user
  • Hide Flyio.DestroyVolume from agents unless the roles your IDP marks as infrastructure owners are active, so an agent cannot permanently erase application data.
  • Restrict Flyio.ReleaseIpAddress to agents operating under your network-administrator role, so routine automation cannot disconnect an app from its dedicated address.
  • Deny Flyio.SetSecrets to read-only and deployment-only agents, so an agent cannot replace credentials or configuration secrets.
Pre-execution before each tool call
  • Require human approval before Flyio.DestroyMachine runs, so an agent cannot permanently remove a running workload without review.
  • Block Flyio.DeployApp when the target app is tagged production unless a release manager approves the call, so an agent cannot roll unreviewed images into production.
  • Require human approval before Flyio.ScaleMachineCount reduces a production app's machine count, so cost or capacity automation cannot take instances offline unexpectedly.
Post-execution after the tool returns
  • Redact credentials, access tokens, connection strings, and customer data from Flyio.GetLogs results before they reach the model.
  • Strip secret names that match credentials, payment systems, or customer-data patterns from Flyio.ListSecrets results, so the model cannot infer sensitive configuration from the inventory.
  • Redact organization identifiers and names from Flyio.ListOrganizations results for agents that do not need cross-organization visibility.

How to use Fly.io with your agent

Pick your MCP client below and follow the setup to give an agent authenticated access to your Fly.io apps. The walkthrough shows how to configure the shared credential and call these actions from your client.

Your questions, answered

A Fly.io MCP server exposes Fly.io operations as structured tools an AI agent can call through the Model Context Protocol. Agents can inspect apps, Machines, releases, logs, volumes, certificates, IPs, and organizations, then perform permitted infrastructure changes.

Arcade's Fly.io server is built by Arcade rather than Fly.io. Arcade adds the runtime around the integration, including shared-key credential brokering, approval policies, response redaction, and access from MCP-compatible clients.

Agents can list and inspect apps, Machines, releases, logs, volumes, certificates, IP addresses, regions, organizations, and secret names. They can also deploy images, create or resize infrastructure, start or stop and restart Machines, scale Machine counts, manage secrets, configure certificates and IPs, and destroy Machines or volumes.

Arcade uses the shared Fly.io API key or secret configured for the integration. That credential determines which Fly.io organizations, apps, and infrastructure the agent can reach; grant it only the access required for the workflow.

No. This integration uses one shared API key or secret configured once, rather than having each user connect an individual Fly.io account. Arcade brokers the credential, and the model never receives it.

Yes. Contextual Access policies can require human approval before consequential Fly.io actions such as deploying, changing secrets, scaling, stopping, or destroying infrastructure. The call proceeds only after the policy's conditions are satisfied.

Arcade proxies Fly.io API calls and does not persist your content as part of normal tool execution. The shared credential is brokered and stored encrypted at rest, and the model never receives it.

Any framework or client that can connect to Arcade's MCP gateway or tool APIs works, including LangChain, OpenAI Agents, CrewAI, Claude Desktop, Claude Code, Cursor, Visual Studio Code, Microsoft Copilot Studio, and GitHub Copilot.

Arcade refreshes access while the shared authorization remains valid. If the Fly.io key or secret is revoked, rotated, or can no longer be used, calls stop until the credential is reconnected.

Calls remain subject to Fly.io's API rate limits and any organization or account limits. Arcade does not remove those provider-side quotas, and no separate Fly.io limits are specified for these actions.

Ready to actually ship your agent?

Connect your agent to Fly.io with a shared API key, agent-optimized tools and approval controls for consequential actions.