Connect an AI assistant

Ten minutes, once. After this you can ask your workspace questions in plain language — what's going out today, who owes us money, what can I rent out next weekend — and, with a read-write key, keep the fleet and price list up to date by saying so.

First, get a key

Open Settings → API & MCP in CarFleet

You need to be an owner or admin of the workspace. The screen is at /settings/api.

Choose what the key may do

Read only lets an assistant answer questions and change nothing. Read and write also lets it add and correct vehicles, add-ons, charge types and invoice settings. Neither kind can issue an invoice, take a payment or message a customer.

Start with read only. You can mint a second key later; the choice cannot be widened.

Copy the key immediately

It is shown once and cannot be recovered afterwards — not by you and not by us. If you lose it, revoke it and make another. It looks like cf_live_sk_…

Treat it like a password

Anyone holding this key can read your workspace. Do not paste it into a chat, an email, a screenshot or a public repository. Give it an expiry date if the integration is temporary, and revoke it the moment you suspect it has travelled somewhere it should not have.

Two facts, then pick your assistant

Every client below is the same two things typed into a different box:

Server address

https://carfleet.ae/api/mcp

Authentication

Authorization: Bearer cf_live_sk_…

The transport is Streamable HTTP. There is no OAuth flow — the key IS the credential, which is why every set of instructions below is about getting that one header sent.

Set it up

Two routes — try the first, fall back to the second

Claude can send a fixed header from its own connector dialog, but that field is still being rolled out and may not be in your account yet. If you cannot find it, the config-file route below works today and does not depend on it.

Route A — the connector dialog

Open Settings → Connectors and choose Add custom connector. Paste the server address. If the dialog offers a Request headers section, add one named Authorization with the value Bearer cf_live_sk_… — including the space after Bearer. Claude stores it and will not show it again.

No such section? Nothing is wrong with your key. Use route B.

Route B — the configuration file

Claude Desktop reads claude_desktop_config.json, reachable from Settings → Developer → Edit config. Add the block below, replacing the key, then quit and reopen Claude completely — a window reload is not enough.

claude_desktop_config.json
{
  "mcpServers": {
    "carfleet": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://carfleet.ae/api/mcp",
        "--header",
        "Authorization: Bearer cf_live_sk_YOUR_KEY_HERE"
      ]
    }
  }
}

This runs mcp-remote, a small bridge that speaks to a remote server and attaches your header. It needs Node.js on the machine; npx fetches it on first use.

Check it took

Start a new conversation and ask “using CarFleet, how many vehicles do we have?”. Claude should ask to use a CarFleet tool and come back with a real count.

If it does not work

Check the key by itself first, outside any assistant:

terminal
curl https://carfleet.ae/api/v1/me \
  -H "Authorization: Bearer cf_live_sk_YOUR_KEY_HERE"

A healthy key answers with your workspace slug and the role it acts with. It reads none of your data, which is what makes it the safe first call. Then work down this list:

  • 401 Unauthorized — the key is mistyped, revoked or expired. Mint a fresh one; keys are cheap.
  • 403 Forbidden on a change — the key is read only. That is the system working. Mint a read-write key if you actually want the assistant changing things.
  • The assistant says it has no CarFleet tools — it did not load the server. Quit the app completely and reopen it; a reload often is not enough. Check for a typo in the config file, which is silent when it is malformed.
  • “npx: command not found” — install Node.js, then reopen the client.

Make the answers better

Install the CarFleet skill alongside the connection. The tools tell an assistant WHAT it can call; the skill tells it what the answers mean — that money is in fils, that a booking’s day count is not the length of the rental, that a receipt header is a container and must never be added to its own rows. Those are the things a tool description cannot carry, and the difference between a right answer and a confident wrong one.

terminal
npx skills add https://carfleet.ae

Next

  • What it can do — every question it answers, everything it can change, and where that stops.
  • Quickstart — if you are writing code against the API rather than connecting an assistant.