flyctl mcp server

Scotty talking to a computer

Adding fly mcp server to your LLM

fly mcp server --claude

You can also specify --cursor, --neovim, --vscode, --windsurf, or --zed. Or specify a configuration file path directly using --config.

flyctl provides an MCP server that you can use to provision your application. At the present time, most of the following commands and their subcommands are supported:

  • apps - Manage Fly applications. A Fly App is an abstraction for a group of Fly Machines running your code on Fly.io.
  • certs - Manage the certificates associated with a deployed application.
  • logs - View application logs as generated by the application running on the Fly platform.
  • machine - Manage Fly Machines. Fly Machines are super-fast, lightweight VMs that can be created, and then quickly started and stopped as needed with flyctl commands or with the Machines REST fly.
  • orgs - Manage Fly organizations. Organization admins can also invite or remove users from organizations.
  • platform - Information about the Fly platform
  • secrets - Manage secrets. Secrets are provided to applications at runtime as ENV variables.
  • status - Show the application’s current status including application details, tasks, most recent deployment details and in which regions it is currently allocated.
  • volumes - Manage Fly Volumes. Volumes are persistent storage for Fly Machines.

Running with the MCP inspector

You can explore the flyctl mcp server using the MCP inspector:

As the MCP inspector is a Node.js application, you need to Download and install Node.js first. MacOS users can use brew install node.

fly mcp server -i

Navigate to http://127.0.0.1:6274 ; click Connect; then List Tools; then a tool like fly-platform-status, fly-orgs-list, fly-apps-list, or fly-machines-list; then fill out the form (if any) and click Run tool.

Running on a separate machine

Running this server remotely can give others access to run commands on your behalf. Read the following carefully before proceeding.

Both --sse and -stream options are supported.

The default bind address is 127.0.0.1 which will only allow requests from the same machine. to override specify --bind-addr.

Authentication tokens come from (in priority order):

  • bearer-token from the Authentication header on the request
  • --access-token flag on the fly mcp server command
  • FLY_ACCESS_TOKEN environment variable

See Access Tokens for information on how to obtain a token.