A Fly Machine

Fly Machines are fast-launching VMs; they can be started and stopped at subsecond speeds. We give you control of your Machine count and each Machine’s lifecycle, resources, and region placement with a simple REST API or flyctl commands.

This guide presumes that you have flyctl installed, and have successfully run either fly auth signup or fly auth login.

The first step is intended to be run in an empty directory.

Create your app

Create a Dockerfile with the following contents:

FROM flyio/mcp
VOLUME /data
CMD [ "npx", "-f", "@modelcontextprotocol/server-filesystem", "/data/" ]

Now use the fly launch command:

fly launch

Review and accept the defaults.

The Dockerfile will be build, and the resulting image will be pushed and deployed. In the process, a volume will be allocated and both a shared ipv4 and a dedicated ipv6 address will be allocated.

Accessing the MCP via an 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.

You are test out your MCP server using the MCP inspector:

fly mcp proxy -i

Navigate to http://127.0.0.1:6274 ; click Connect; then List Tools; select any tool; fill out the form (if any) and click Run tool.

Configure your LLM

Here’s an example claude_desktop_config.json:

{
  "mcpServers": {
    "filesystem": {
      "command": "/Users/rubys/.fly/bin/flyctl",
      "args": [
         "mcp",
         "proxy",
         "--url=https://mcp.fly.dev/"
       ]
    }
  }
}

Adjust the flyctl path and the value of the –url, restart your LLM (in this case, Claude) and try out the tools.