Fly.io is a great place to run MCP servers. We also provide an MCP server that you can use to provision your application.
npx, uv, go run, or docker image stdio MCP server into a Fly machine and configuring a MCP client to connect to it is made easy by fly mcp launch. See examples.
Deploying other MCP servers involves making four choices: MCP transport, the interface you use to deploy it with, where you want to deploy it on, and access control. In each case we present your choices, starting with our recommendation.
General considerations that apply across these pages:
- Most guides presume that you have flyctl installed, and have successfully run either
fly auth signuporfly auth login. - As the MCP protocol is both asynchronous and stateful, these examples will be run on a single machine (also known as a non highly available configuration). This enables MCP clients to fetch replies from the same server that they sent the request to.
- As the MCP inspector is a Node.js application, you need to Download and install Node.js before you use it. MacOS users can use
brew install node.