Docs menuMCP server

Developer docs

MCP server

Connect Claude, Cursor, or any MCP client so your AI can check flight status, list proofs, post new proofs, and inspect proof interactions.

Endpoint: https://flyinpublic.com/mcp. Transport: HTTP / Streamable HTTP. Auth: Fly in Public OAuth sign-in.

Recommended: install the skill

Start with the Fly in Public skill. It tells compatible agents to use hosted OAuth MCP, read the lightweight docs, and avoid API-token setup unless the client cannot support OAuth.

Hosted OAuth client config

Use this against the deployed Worker once OAuth storage is configured. In production, that is https://flyinpublic.com/mcp.

{
  "mcpServers": {
    "flyinpublic": {
      "type": "http",
      "url": "https://flyinpublic.com/mcp"
    }
  }
}

Claude Code CLI

claude mcp add --transport http flyinpublic https://flyinpublic.com/mcp

MCP Inspector

npx @modelcontextprotocol/inspector \
  --transport http \
  --url https://flyinpublic.com/mcp

Your client should open a Fly in Public sign-in flow. Sign in and approve the connection.

Tools reference

All tools operate on the connected user. No tool accepts a user-id argument.

ToolDescriptionInputs
bird_statusGet your bird's current flight state: altitude, status (flying, danger, missed, recovered, grounded), crash deadline, and recent streak.none
list_proofsList your most recent proofs (most recent first). Returns id, url, platform, proofType, message, publishedAt.
  • limit (integer default 10): How many proofs to return (1 to 50).
add_proofPublish a new proof for the authenticated user's flight. Platform is inferred from the URL if omitted; proofType defaults to 'Post'.
  • url (string required): Public URL of the proof.
  • message (string): Short description of the proof.
  • proofType (string (one of: Post, Demo, Landing Page, Video, Changelog, Offer, Blog, Other)): Type of proof.
  • publishedAt (string): ISO-8601 publish timestamp. Defaults to now.
leaderboard_rankGet the authenticated user's current leaderboard rank and total entries.none
leaderboard_topGet the top N leaderboard entries.
  • limit (integer default 5): How many entries to return (1 to 25).
list_recent_likesList the most recent likes on the authenticated user's proofs (since the cutoff).
  • sinceHours (integer default 168): Lookback window in hours (default 168 = 7 days).
  • limit (integer default 20): Max number of results.
list_recent_commentsList the most recent comments on the authenticated user's proofs (since the cutoff).
  • sinceHours (integer default 168): Lookback window in hours (default 168 = 7 days).
  • limit (integer default 20): Max number of results.

Example prompts

  • "What's my flight status?"
  • "When is my bird going to crash, and how much time do I have left?"
  • "Add this URL as a proof: https://example.com/post"
  • "Show me my last 5 proofs and which one performed best."
  • "Who liked my proofs this week?"

Advanced bearer-token fallback

If your client cannot use hosted OAuth MCP, create an API token from profile settings and use https://flyinpublic.com/api/mcp.

curl -X POST https://flyinpublic.com/api/mcp \
  -H "Authorization: Bearer $FIP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'

Call a tool

curl -X POST https://flyinpublic.com/api/mcp \
  -H "Authorization: Bearer $FIP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc":"2.0",
    "id":3,
    "method":"tools/call",
    "params":{
      "name":"add_proof",
      "arguments":{
        "url":"https://example.com/post",
        "message":"Shipped today!"
      }
    }
  }'

Troubleshooting

  • OAuth does not open: confirm your client supports remote HTTP MCP with OAuth.
  • 401 Unauthorized on advanced MCP: token missing or revoked.
  • 404 Not Found: use exactly https://flyinpublic.com/mcp or https://flyinpublic.com/api/mcp and POST.
  • no_project: visit the dashboard once to create your flight.
  • Proof calls succeed but proofs do not appear: check that publishedAt is not in the future and the URL is not already attached.

See also