Skip to main content

Connect your client

One server, one URL, every client:

MCP URLhttps://mcp.fleeta.io/
Sign inYour flt_live_… key, or a public flt_test_… sandbox key
Auth modesAuthorization: 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:

  1. Open Settings → Connectors, enable Developer mode, and choose Create connector.
  2. Enter the MCP URL — https://mcp.fleeta.io/.
  3. 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.
  4. 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).
  5. 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 receives 401 with a standard WWW-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