Connect Fodda
Streamable HTTP endpoints for Claude, ChatGPT, Google, Copilot, Grok, and IDEs. Paste the URL, authenticate, and get back to work.
Get your connection token or API key at app.fodda.ai/connections →
Three Ways to Authenticate
- Sign-in (OAuth) (Recommended Default): For any client supporting modern OAuth / Dynamic Client Registration (Claude, ChatGPT, Perplexity). Leave client ID/secret blank; sign in with your Fodda account when your client prompts you.
- Connection Token (Tokenized URL): For clients that do not support OAuth or custom headers (Notion, legacy tools). The opaque token in the URL is your credential. Keep this URL secret.
- API Key (Developers & Headers): For developer tools, REST API callers, scripts, and clients accepting custom headers (Cursor, Claude Code, Vertex AI, Python/Node). Use Authorization: Bearer sk_live_... or X-API-Key.
Supported Clients & Environments
| Client | Endpoint to Paste | Auth Method | Guide |
|---|---|---|---|
| Claude | https://mcp.fodda.ai/mcp |
OAuth | Setup Guide → |
| ChatGPT | Install in ChatGPT | OAuth | Setup Guide → |
https://mcp.fodda.ai/mcp |
Bearer API Key | Setup Guide → | |
| Microsoft Copilot | https://mcp.fodda.ai/copilot |
OAuth or API Key | Setup Guide → |
| Grok | Use a Fodda bot template |
OAuth | Setup Guide → |
| Meta Muse | https://mcp.fodda.ai/mcp |
Bearer API Key | Setup Guide → |
| Developer Tools | https://mcp.fodda.ai/mcp |
OAuth or API Key | Setup Guide → |
| Perplexity | https://mcp.fodda.ai/mcp |
OAuth | Docs → |
| Notion | https://mcp.fodda.ai/c/<CONNECTION_TOKEN> |
Connection Token | Docs → |
Automated HTTP 402 Tollbooth & Micropayments
Query verified graphs with zero human onboarding. Autonomous agents can catch the $0.50 HTTP 402 challenge and settle in-flight.
Python Example (Requests)
import requests
def query_fodda(endpoint_url, payload, get_spt_token_fn=None, api_key=None):
headers = {"Content-Type": "application/json"}
if api_key:
headers["Authorization"] = f"Bearer {api_key}"
response = requests.post(endpoint_url, json=payload, headers=headers)
if response.status_code == 402 and get_spt_token_fn:
spt_token = get_spt_token_fn()
headers["Authorization"] = f"Bearer {spt_token}"
retry_response = requests.post(endpoint_url, json=payload, headers=headers)
return retry_response.json()
response.raise_for_status()
return response.json()
Node.js / TypeScript Example (Fetch API)
async function queryFodda(endpointUrl, payload, getSptTokenFn, apiKey) {
const headers = { 'Content-Type': 'application/json' };
if (apiKey) headers['Authorization'] = `Bearer ${apiKey}`;
let response = await fetch(endpointUrl, {
method: 'POST',
headers,
body: JSON.stringify(payload)
});
if (response.status === 402 && getSptTokenFn) {
const sptToken = await getSptTokenFn();
headers['Authorization'] = `Bearer ${sptToken}`;
const retryResponse = await fetch(endpointUrl, {
method: 'POST',
headers,
body: JSON.stringify(payload)
});
return await retryResponse.json();
}
if (!response.ok) {
throw new Error(`Fodda API Error: ${response.status} ${response.statusText}`);
}
return await response.json();
}
Payment Rails Supported
- Stripe Shared Payment Tokens (SPT): Pass
Authorization: Bearer spt_...orX-SPT-Token. - x402 Micro-settlement: Pass
X-402-Payment: {"tx_hash": "...", "network": "base"}(USDC on Base/Polygon). - Standard API Keys: Pass
Authorization: Bearer <api_key>.
Machine discovery definitions: api.fodda.ai/.well-known/agent.json and api.fodda.ai/llms.txt.
Universal Fallback
Any other MCP client: paste https://mcp.fodda.ai/mcp and sign in. Can't do OAuth? Use your connection-token URL. For programmatic access, see our REST API documentation at /api.