Fly: MCP server, CLI and agent surfaces
Sign-in required, tools not seen, not counted. The MCP endpoint listed for Fly at mcp.fly.io answered 401 with OAuth metadata on 4 November 2026. Its tools can be listed only after a person authorizes a client, and this directory never signs in.
Fact sheet
| Company | Fly (registry title: Fly MCP) |
|---|---|
| Domain | fly.io |
| Category | Infrastructure (Ora leaderboard category) |
| MCP server | Sign-in required (OAuth with client registration) |
| Ora score | 96, grade A+; Ora scanned the domain on 4 November 2026 and the cached score was read on 5 November 2026 from Ora's leaderboard (Ora's score page for fly.io, a vendor-published score) |
| Company found through | Ora's public leaderboard |
| Last verified | 4 November 2026 |
MCP server
| Endpoint | https://mcp.fly.io |
|---|---|
| How it was found | listed in Ora's public leaderboard |
| Transport | streamable-http |
| HTTP status | 401 |
| Connected | 4 November 2026, 20:02 UTC |
| Handshake time | 620 ms over 1 attempt |
The endpoint answered the handshake with a sign-in challenge, so the tool list is not visible to this directory. It is not counted as an MCP server: a sign-in challenge is its own state, and the connector listed no tools.
Connector log
2 connections on 4 November 2026, read-only methods only
- 19:57:31Z https://mcp.fly.io sent initialize result auth-required (HTTP 401) 737 ms
- 20:02:58Z https://mcp.fly.io sent initialize result auth-required (HTTP 401) 620 ms
Authentication
| Auth type | OAuth with client registration |
|---|---|
| What the challenge said | Bearer resource_metadata="https://mcp.fly.io/.well-known/oauth-protected-resource", scope="fly:apps:delete fly:certificates:read fly:context:read fly:machines:delete fly:machines:exec fly:machines:read fly:machines:sensitive:read fly:machines:write fly:mpg:read fly:mpg:write fly:network:read fly:organizations:read fly:read fly:secrets:delete fly:secrets:read fly:secrets:write fly:volumes:delete fly:volumes:read fly:volumes:write sprites:read sprites:write" |
| Protected resource metadata | mcp.fly.io |
| Authorization server metadata | fly.io |
| Registration endpoint | https://fly.io/mcp/oauth/register |
The sign-in route, step by step
- Request
https://mcp.fly.iowithout a token. It answers 401 and aWWW-Authenticateheader. - Read the protected resource metadata at
https://mcp.fly.io/.well-known/oauth-protected-resourceto find the authorization server. - Register a client at the registration endpoint
https://fly.io/mcp/oauth/register(dynamic client registration), so no human has to create an app first. - Send a person through the authorization page, then retry the endpoint with the bearer token. The connector stops after step 2 and never authorizes.
See OAuth for MCP: client ID metadata documents and dynamic registration for how each route works.
CLI
No CLI is on record for Fly. The directory checks a package only where a source names one, so this is a floor: a company can ship a command line that no source read for this edition mentions. See shipping a CLI agents can use.
Other agent surfaces
| Surface | Result |
|---|---|
| OpenAPI file | Found: fly.io (JSON, via a direct request). |
| WebMCP in the initial HTML | Not detected on the home page by the shared crawl. |
| MCP discovery file | Not found (the crawl got a non-200 answer). |
| A2A agent card | Not found (the crawl got a non-200 answer). |
| A2A agent card (older path) | Not found (the crawl got a non-200 answer). |
| agents.json | Not found (the crawl got a non-200 answer). |
| OAuth authorization server metadata | Not found (the crawl got a non-200 answer). |
| NLWeb endpoint | Not checked in this edition. |
Registry listings
| Registry | Listed |
|---|---|
| Official MCP Registry | Yes: io.fly/fly-mcp |
| GitHub MCP Registry | No |
| awesome-remote-mcp-servers | No |
| Smithery | Not checked: Smithery's listing pages and search API were unavailable on 4 November 2026. |
| Glama | Not checked: Glama's API needs a key and attribution terms. |