Connect your client
One server, one URL, every client:
| MCP URL | https://mcp.fleeta.io/ |
| Sign in | Your flt_live_… key, or a public flt_test_… sandbox key |
| Auth modes | Authorization: Bearer flt_… header · OAuth 2.1 (automatic discovery, key entered once) |
Connectors registered against the previous raw AWS Function URL keep working —
including the OAuth tokens issued there — but every new setup should use
https://mcp.fleeta.io/.
ChatGPT — custom connector (OAuth)
ChatGPT custom connectors require OAuth. The Fleeta MCP server supports the full OAuth 2.1 flow with automatic discovery, so setup is just the URL:
- Open Settings → Connectors, enable Developer mode, and choose Create connector.
- Enter the MCP URL —
https://mcp.fleeta.io/. - Select OAuth as the authentication method and save. ChatGPT discovers the authorization server and registers itself automatically (RFC 8414 metadata + RFC 7591 dynamic client registration) — no client ID or secret to copy.
- Click Connect. A Fleeta consent screen opens — paste your
flt_API key once and choose which scopes to grant (write scopes are unchecked by default). - Done. ChatGPT never sees the key itself: it only receives a short-lived (1 hour) access token, refreshed automatically.
Claude — claude.ai and Claude Desktop
Add the MCP URL as a custom connector. Both connection modes work:
- OAuth — register just the remote URL; the same discovery + consent flow as ChatGPT runs, and your key stays out of the client.
- Header — configure the connector with an
Authorization: Bearer flt_…header for a zero-flow direct connection. The key's full permissions apply; there is no consent screen to narrow them.
Claude Code (CLI)
claude mcp add --transport http fleeta https://mcp.fleeta.io/ \
--header "Authorization: Bearer flt_live_..."
Or omit the header and let Claude Code run the OAuth flow the first time a tool is called.
Cursor
Add the server to .cursor/mcp.json with the URL and an Authorization
header:
{
"mcpServers": {
"fleeta": {
"url": "https://mcp.fleeta.io/",
"headers": {
"Authorization": "Bearer flt_live_..."
}
}
}
}
Local stdio (optional)
If you prefer a fully local process, or your client only supports
command-style MCP servers, run the open-source mcp-server from the
repository with Node and pass your key via FLEETA_API_KEY:
{
"mcpServers": {
"fleeta": {
"command": "node",
"args": ["path/to/mcp-server/src/index.js"],
"env": {
"FLEETA_API_KEY": "flt_live_..."
}
}
}
}
The stdio server exposes the same tools and reuses the official
@fleeta/sdk under the hood. For most setups the remote URL is
simpler — prefer it unless you specifically need a local process.
Other MCP clients
Any client that speaks the MCP streamable HTTP transport can connect. You need two things:
- the URL
https://mcp.fleeta.io/, and - either an
Authorization: Bearer flt_…header on every request, or OAuth support. A request without credentials receives401with a standardWWW-Authenticate: Bearer resource_metadata="…"header, which is what triggers a client's OAuth discovery flow.
The server is stateless and answers with plain JSON — it does not require an SSE connection.
Verify the connection
Ask something that needs one read tool:
How many vehicles are offline right now?
The client should show a list_devices tool call and answer with a count
(12 vehicles in the sandbox fleet, 3 of them offline). If the tool call fails
instead, start with Troubleshooting.
Next
- Example prompts — what to ask first
- Authentication & security — Bearer vs OAuth, per-scope consent, rotating the key