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/mcpMCP Inspector
npx @modelcontextprotocol/inspector \
--transport http \
--url https://flyinpublic.com/mcpYour 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.
| Tool | Description | Inputs |
|---|---|---|
bird_status | Get your bird's current flight state: altitude, status (flying, danger, missed, recovered, grounded), crash deadline, and recent streak. | none |
list_proofs | List your most recent proofs (most recent first). Returns id, url, platform, proofType, message, publishedAt. |
|
add_proof | Publish a new proof for the authenticated user's flight. Platform is inferred from the URL if omitted; proofType defaults to 'Post'. |
|
leaderboard_rank | Get the authenticated user's current leaderboard rank and total entries. | none |
leaderboard_top | Get the top N leaderboard entries. |
|
list_recent_likes | List the most recent likes on the authenticated user's proofs (since the cutoff). |
|
list_recent_comments | List the most recent comments on the authenticated user's proofs (since the cutoff). |
|
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/mcporhttps://flyinpublic.com/api/mcpand POST. - no_project: visit the dashboard once to create your flight.
- Proof calls succeed but proofs do not appear: check that
publishedAtis not in the future and the URL is not already attached.