2025-04-10 · fly.io

30 Minutes With MCP and flyctl

protocolsmodels

read at source ↗ fly.io

30 Minutes With MCP and flyctl

Source: fly.io Date: 2025-04-10 URL: https://fly.io/blog/30-minute-mcp/

Summary

Engineering writeup by Kurt Mackey documenting a 30-minute prototype MCP server for flyctl exposing two commands: fly logs and fly status. The implementation is ~90 lines of Go wrapping an existing MCP library. In the demo, Claude uses these tools to independently diagnose memory exhaustion in a struggling app (unpkg) by checking global machine status, identifying regional failures, and retrieving logs — faster than a human would. Mackey attributes some of this to flyctl’s 2020 decision to add JSON output mode to most commands.

Implications

MCP integration / Machines API as agent-runtime substrate. This is the origin story for Fly’s MCP work — a 90-line prototype that outperformed manual debugging. The “json mode in every command” design decision from 2020 is what made this trivial, which is a useful lesson for CLI designers: machine-readable output is infrastructure, not an afterthought. The security concern raised (local MCP servers execute native programs on personal machines) is the same concern that motivates the later fly mcp launch remote execution work. This signal sits at the beginning of a clear product trajectory.

← all signals