developer-toolsapi_key

Fly

Fly.io transforms containers into micro-VMs that run on hardware in 30+ regions on six continents.

Verdict

The Fly MCP connects your Switchy workspace to Fly.io's deployment and infrastructure platform. @mention it to check app name availability, manage WireGuard VPN peers, create and trigger health check jobs across global locations, validate token permissions, and query deployment status. DevOps engineers and platform teams get the most value — they can monitor uptime, configure private networking, and troubleshoot deployments without leaving a conversation. You'll need a Fly.io API token with appropriate scopes; some operations require organization-level access, which the MCP can verify before you attempt them.

Common use cases

  • Verify app names before deployment
  • Monitor endpoint health from multiple regions
  • Set up VPN access for private networks
  • Trigger manual health checks during incidents
  • Validate token scopes before infrastructure changes

Integration

Vendor
Fly
Category
developer-tools
Auth
API_KEY
Tools
45
Composio slug
fly

Tools

  • Add WireGuard Peer

    Tool to add a WireGuard peer connection to a Fly.io organization for private network access. Use when setting up VPN access or private networking between your infrastructure and Fly.io.

  • Check App Name Availability

    Tool to validate an app name for Fly.io app creation. Use when you need to check if a proposed app name is available before attempting to create a new app. Returns availability status via GraphQL query.

  • Check Jobs

    Execute GraphQL queries against the Fly.io checkJobs endpoint. Retrieves check jobs with their schedules, URLs, and configuration. Supports pagination via first/last/after/before parameters. Returns both data and errors for flexible error h

  • Check Locations

    Retrieve all available Fly.io health check locations. Returns a comprehensive list of global locations where health checks can be performed, including geographic details and coordinates. Use when you need to determine available monitoring p

  • Check User Only Token

    Check whether the authentication token only allows user access. Returns false if the token allows organization access, true if it only allows user access.

  • Create Check Job Run

    Triggers a run of an existing health check job on Fly.io. Use when you need to manually trigger a health check for monitoring or testing purposes.

  • Create Delegated WireGuard Token

    Tool to create a delegated WireGuard token for peer management in a Fly.io organization. Use when you need to generate a token for managing WireGuard peers with delegated access.

  • Create Health Check Job

    Tool to create a health check job for monitoring application endpoints in Fly.io. Use when you need to set up automated health monitoring for a URL from multiple geographic locations.

  • Create Third-Party Configuration

    Tool to create a third-party service configuration for discharging macaroon caveats. Use when you need to configure external authorization services for Fly.io token validation.

  • Delete Delegated WireGuard Token
    destructive

    Tool to delete a delegated WireGuard token from a Fly.io organization. Use when you need to revoke or remove an existing WireGuard token that was previously created. Either token or name must be provided to identify which token to delete.

  • Delete Organization
    destructive

    Tool to delete a Fly.io organization and all its associated resources using the GraphQL API. Use when you need to permanently remove an organization. This operation is irreversible.

  • Delete Remote Builder
    destructive

    Tool to delete a remote builder configuration for a Fly.io organization. Use when you need to remove the remote builder setup from an organization.

  • Delete Third Party Configuration
    destructive

    Tool to delete a third-party service configuration from Fly.io. Use when you need to remove an existing third-party service integration or configuration that was previously created.

  • Detach Postgres Cluster

    Tool to detach a Postgres cluster from a Fly.io application, revoking access credentials. Use when you need to remove database connectivity from an application.

  • Establish SSH Key

    Tool to establish an SSH key for a Fly.io organization. Use when setting up SSH access for secure connections to Fly.io infrastructure.

  • Fetch Nodes by IDs

    Fetches a list of node objects from Fly.io given a list of IDs using the GraphQL nodes query. Use when you need to retrieve multiple objects by their IDs in a single request. Supports all Node interface types including Organization, App, Ma

  • Get Add-On

    Tool to find a Fly.io add-on by ID, name, or provider. Use when you need to retrieve details about a specific add-on. Returns add-on information including status, organization, region, and access URLs.

  • Get Add-On Provider

    Tool to query information about a specific Fly.io add-on provider (extension) by name. Returns provider details including provisioning settings, terms of service, and configuration options.

  • Get app details

    Tool to retrieve detailed information about a specific Fly.io application. Use when you need to get app details including certificates and configuration.

  • Get Certificate

    Tool to retrieve a certificate by its ID from Fly.io. Use when you need to get details about a specific certificate including hostname, creation date, and configuration status.

  • Get Current Token Info

    Tool to get information about the current authentication token. Use when you need to retrieve details about the token being used for API authentication, including organizations, apps, and whether the token is from a user or machine.

  • Get Latest Image Details

    Tool to retrieve the latest available tag details for a given image repository from Fly.io's registry. Use when you need to get digest, registry, repository, tag, and version information for a container image.

  • Get Latest Image Tag

    Tool to retrieve the latest available image tag for a Fly.io Docker repository. Use when you need to find the most recent version of a Fly.io image.

  • Get Machine

    Tool to get a single machine by ID from Fly.io. Use when you need to retrieve details about a specific machine instance.

  • Get Nearest Region

    Tool to retrieve the nearest Fly.io region to the requesting client based on network location. Use when you need to determine which Fly.io region has the lowest latency from the current location.

  • Get Node by ID

    Tool to fetch an object by its globally unique ID using Fly.io's GraphQL node query. Returns a Node interface object with id and __typename fields. Use when you need to retrieve any Fly.io object by its ID.

  • Get Organization

    Tool to find a Fly.io organization by slug using the GraphQL API. Use when you need to retrieve organization details including ID, name and slug.

  • Get Personal Organization

    Tool to retrieve the user's personal organization details from Fly.io. Use when you need to check credit balance, saved payment methods, certificates, or WireGuard peer information.

  • Get Placements

    Tool to get placement recommendations for Machines in Fly.io regions. Use when you need to determine optimal regions for deploying machines based on resource requirements, volume constraints, and organizational limits.

  • Get Platform Information

    Tool to retrieve Fly.io platform information including available regions, VM sizes, and flyctl version. Use when you need infrastructure-level details about the Fly.io platform.

  • Get Products and Pricing

    Tool to retrieve Fly.io product and price information via GraphQL. Use when you need to fetch product catalog, pricing tiers, or billing information.

  • Get Regions

    Tool to get the list of available Fly.io regions with optional filtering. Use when you need to discover which regions are available for deploying machines, or to filter regions by specific resource requirements like CPU, memory, or GPU.

  • Get Viewer Info

    Tool to retrieve the authenticated user's account information from Fly.io. Use when you need to get the current user's profile details, including avatar, email, creation date, and feature flags.

  • Issue Certificate

    Tool to issue an SSH certificate for accessing Fly.io infrastructure. Returns an SSH certificate in OpenSSH format. Use when you need to authenticate SSH access to Fly.io machines or apps.

  • List Add-On Plans

    Tool to list available add-on service plans from Fly.io. Use when you need to discover pricing, features, and resource limits for Fly.io add-on services. Supports cursor-based pagination.

  • List Add-Ons

    Tool to list add-ons associated with an organization in Fly.io. Use when you need to retrieve add-ons for apps in an organization. Supports querying personal organization or specific organizations by slug. Returns comprehensive add-on detai

  • List Apps

    Tool to list all Fly Apps in an organization. Use when you need to retrieve apps for a specific organization using its slug.

  • List Apps via GraphQL

    List all Fly.io applications with details including volumes, services, and VMs using GraphQL. Use when you need to retrieve a comprehensive overview of all apps in your Fly.io organization.

  • List Machines

    Tool to list Fly.io machines using GraphQL API with pagination support. Use when you need to retrieve information about deployed machines including their state, region, and creation time.

  • List Organization Machines

    Tool to list all Machines across all apps in a Fly organization. Use when you need to retrieve machines for monitoring, management, or inventory purposes. Supports filtering by region, state, and time ranges with pagination for large result

  • Remove WireGuard Peer
    destructive

    Tool to remove a WireGuard peer connection from a Fly.io organization. Use when you need to delete or revoke an existing WireGuard peer from your organization's network.

  • Set Apps V2 Default

    Tool to configure whether new apps in an organization use Apps V2 by default on Fly.io. Use when you need to enable or disable Apps V2 as the default for new applications in a specific organization.

  • Update Third-Party Configuration

    Tool to update an existing third-party service configuration for discharging macaroon caveats. Use when you need to modify settings of external authorization services for Fly.io token validation.

  • Validate Config

    Tool to validate a Fly.io app configuration. Use when you need to check if a fly.toml configuration is valid before deploying or updating an app.

  • Validate WireGuard Peers

    Tool to validate WireGuard peer IP addresses in a Fly.io organization. Use when you need to verify which peer IPs are valid or invalid before establishing VPN connections.

Setup

Setup guide

  1. 11. In Switchy, open your workspace settings and navigate to the Integrations tab. 2. Click 'Add MCP Integration' and select Fly from the developer tools category. 3. Generate a Fly.io API token by visiting your Fly.io dashboard, navigating to Account Settings, then Tokens, and creating a new token with read and write permissions for apps, machines, and health checks. 4. Paste the token into Switchy's configuration field and click Connect. 5. The MCP will validate your token and confirm whether it grants organization-level access or user-only access. 6. Open any Space and type '@Fly check app name availability' followed by a proposed app name to test the connection. 7. If the MCP responds with availability status, the integration is working and you can invoke any of its 45 tools by @mentioning Fly in your prompts.

What teammates see: by default, memories from Fly are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.

Works well with

Top models

Compatibility data appears once enough Spaces have used this MCP together with a given model.

How Switchy teams use it

Not enough Spaces yet to publish anonymised usage stats (we require ≥ 50 Spaces per week).

Starter prompts

Check Name Availability

@Fly check if the app name 'api-gateway-prod' is available for a new deployment
Open in a Space →

Create Health Check

@Fly create a health check job for https://api.example.com/health that runs every 5 minutes from US, EU, and Asia regions
Open in a Space →

List Check Locations

@Fly show me all available health check locations with their geographic coordinates
Open in a Space →

Add VPN Peer

@Fly add a WireGuard peer to the 'production' organization with the public key wg+abc123def456 for private network access
Open in a Space →

Verify Token Scope

@Fly check if my current token allows organization access or is limited to user-only operations
Open in a Space →

Example outputs

Illustrative - representative of the model's voice and quality, not literal recordings.

Prompt

@Fly list all health check jobs for my production apps and show me which locations they're running from

Output

Based on the Check Jobs query, your Fly.io account has 3 active health check jobs: 'api-prod-health' monitors https://api.example.com/health every 60 seconds from 6 locations (iad, lhr, syd, fra, nrt, gru); 'web-prod-health' checks https://example.com every 30 seconds from 4 locations (iad, lhr, syd, fra); 'staging-api' monitors https://staging-api.example.com/health every 120 seconds from 2 locations (iad, lhr). All jobs are currently active with no recent failures reported.

Notes

This example demonstrates the MCP's read capabilities for monitoring infrastructure. The Check Jobs tool requires an API key with read access to your organization. Response structure varies based on your actual check configuration—this illustrative output assumes a typical multi-region deployment pattern.

Prompt

@Fly create a health check job for https://new-service.example.com/status that runs every 2 minutes from US and EU regions

Output

Health check job created successfully with ID 'hc_abc123def456'. The job 'new-service-health' will monitor https://new-service.example.com/status every 120 seconds from 4 locations: iad (US East), sea (US West), lhr (London), and fra (Frankfurt). The check expects HTTP 200 responses and will alert on 3 consecutive failures. You can view real-time results in your Fly.io dashboard or query status via the Check Jobs tool.

Notes

This write operation showcases the Create Health Check Job tool, which requires API key permissions for job creation. The MCP automatically selects appropriate regional locations based on your 'US and EU' request. Be aware that health check jobs count toward your organization's monitoring quota and may incur costs at scale.

Prompt

@Fly I want to deploy a new app called 'analytics-worker'—check if that name is available and tell me what I should know before creating it

Output

The app name 'analytics-worker' is available in your Fly.io organization. Before creating this app, consider: (1) App names are globally unique within Fly.io and cannot be changed after creation; (2) The name will be used in your default fly.dev hostname (analytics-worker.fly.dev); (3) Based on the name pattern, this appears to be a background worker—you'll want to ensure your Dockerfile or buildpack is configured for long-running processes rather than HTTP services; (4) Worker apps typically don't need public IP addresses, which can reduce costs.

Notes

This example combines the Check App Name Availability tool with AI reasoning to provide deployment guidance. The availability check is a simple GraphQL query, but the AI adds context about naming implications and architectural considerations. This demonstrates how the MCP enables the AI to blend infrastructure queries with domain knowledge about Fly.io deployment patterns.

Use-case deep-dives

Multi-region deployment health checks

When Fly MCP wins for distributed uptime monitoring

A 6-person SaaS team running services in 8 Fly regions needs to catch regional outages before customers do. The Fly MCP is the right call here because it exposes the native check job tooling—create a health check job, trigger runs on demand, and query results across all check locations in one conversation. Your AI can set up monitoring for a new endpoint without leaving Slack or switching to the dashboard. The threshold: if you're only deploying to 1-2 regions or your monitoring needs are complex (custom metrics, alerting workflows), a dedicated observability stack is still the better play. But for straightforward HTTP checks across Fly's global footprint, this MCP removes the context-switch tax. Add it to your Switchy workspace if uptime triage happens in chat.

Onboarding dev environment setup

When this MCP speeds up new-hire provisioning

A 3-person startup onboards a contractor who needs VPN access to staging databases and internal services running on Fly. The Fly MCP handles the WireGuard peer setup and token generation in a single AI prompt—no need to walk the contractor through the CLI or dashboard. The AI checks the org's peer list, adds the new peer, and returns the config file. This works because Fly's private networking is the actual access layer, not a bolt-on feature. The trade-off: if your team uses a different VPN provider or your infra spans multiple clouds, the MCP only covers the Fly slice. It's a win when Fly is your primary runtime and you onboard people more than once a quarter. Otherwise, document the manual steps and skip the integration.

App name collision during prototyping

When this MCP prevents deployment friction at sprint start

A 5-person product team spins up 4-6 throwaway apps per sprint for feature branches and customer demos. App name collisions slow down the deploy loop—someone picks a name, the CLI fails, they try again. The Fly MCP's name-check tool lets the AI validate availability before the deploy command runs, cutting the retry cycle. It's a small win, but it compounds when you're deploying multiple times a day. The boundary: if your team uses a strict naming convention (ticket-number prefixes, UUID suffixes) that rarely collides, the MCP adds no value. But if names are ad-hoc or human-readable, checking availability in the same chat where you're planning the deploy keeps momentum. Add it if your team deploys to Fly daily and naming is a recurring speed bump.

Frequently asked

What can the Fly MCP do in Switchy?

The Fly MCP lets your team manage Fly.io infrastructure directly from Switchy's AI workspace. You can deploy apps, check name availability, configure WireGuard VPN peers, create health check jobs across global locations, and query deployment status. It exposes 45 tools covering the full Fly.io GraphQL API, so you're not limited to basic read operations.

Do I need admin access to connect Fly to Switchy?

You need a Fly.io API token with the appropriate scope for the operations you want. Some tools like adding WireGuard peers or creating apps require organization-level tokens. Others work with user-only tokens. Use the Check User Only Token tool to verify your token's scope before attempting org-level operations. Generate tokens at fly.io/user/personal_access_tokens.

Can the Fly MCP deploy apps or just read status?

It can deploy and modify infrastructure, not just read. You can create health check jobs, add WireGuard peers for private networking, trigger check runs, and validate app names before creation. The MCP wraps Fly's GraphQL API, so if the API supports write operations for a resource, the MCP exposes a corresponding tool.

Why use this instead of the Fly CLI or API directly?

The MCP lets your team ask natural language questions about Fly infrastructure without memorising CLI syntax or GraphQL schemas. Instead of switching to a terminal to check app status or trigger a health check, you describe what you need in Switchy and the AI calls the right tool. Useful for teams where not everyone knows flyctl commands.

Who on the team should connect the Fly integration?

Whoever owns your Fly.io account and can generate API tokens with the necessary scopes. Typically a DevOps engineer or backend lead. Once connected, any Switchy workspace member can use the MCP to query or modify Fly resources, subject to the token's permissions. One connection serves the whole workspace.

Data last verified 608 hours ago.Sources aggregated hourly to weekly. See docs/architecture/model-directory.md.