Documentation · Claude

Sheet
D-110
Set
Docs
Status
Issued

Connect from Claude

Claude.ai, Claude Desktop and Claude Code: how the connection works, what the consent page shows, five things to try, and what has actually been demonstrated.

D-110DocsIssued

Where this stands

SurfaceStatusWhy
Claude CodeProven liveA real session signed in through the consent page on 27 September 2026 using the loopback callback. No hosted tool is yet recorded as working end to end.
Claude.ai, Claude Desktop, mobile, CoworkUnprovenThese use the hosted callback https://claude.ai/api/mcp/auth_callback, which is not registered with Fleet's identity provider yet, and the endpoint does not yet advertise OAuth discovery. Both are in Fleet's readiness work.

Claude Code

Add Fleet as a remote server over HTTP. Claude Code runs its own OAuth flow on your machine and listens on a loopback port for the callback.

TerminalClaude Code
claude mcp add --transport http fleet https://fleet-api-fleet-api.up.railway.app/mcp
claude mcp list
  1. Start a conversation and call a tool.

    The first call answers 401, which starts sign-in. Your browser opens the Fleet consent page.

  2. Sign in.

    Email and password, or an emailed sign-in link that returns to the same tab.

  3. Read the consent.

    Client: Claude Code. Redirect: a loopback address on your machine, which the page names. Then your email, your organization and the scopes.

  4. Approve.

    Claude Code stores the token for you. Sessions last 8 hours; the next 401 starts the flow again.

Claude.ai and Claude Desktop

Settings, then Connectors, then Add custom connector, paste the endpoint, and choose Connect. Claude reads the server's OAuth metadata, opens the consent page and returns to claude.ai. Until the discovery and callback work above lands, this does not complete. Nothing here is a promise of a date.

Use cases

Five prompts that exercise the read and write tools. Replace the angle-bracketed values with your own. A write tool may ask you to confirm before it runs.

Check a validation before you merge

Promptvalidate_status · read
Check the status of Fleet validation <id> and tell me which lane failed and why.

Validate the exact commit you are about to ship

Promptvalidate_submit, then validate_status · write, then read
Submit commit <sha> of <owner>/<repo> to Fleet for validation, wait for the receipt, and summarise what it binds.

Ask what Fleet has learned about this kind of work

Promptlessons_for · read
Before I start, ask Fleet for lessons about "<task in one sentence>" in <owner>/<repo>.

Publish a receipt as a check on the pull request

Promptpublish_request · write
Request publication of Fleet receipt <id> so it appears as a check on the commit.

Run a bounded job and come back later

Promptjob_submit, then job_status · write, then read
Submit a Fleet job for <owner>/<repo>: "<task>", budget 150 cents. Give me the job id; I will check on it later.

What Fleet refuses, on purpose

  • A call with no token, an expired token, or a token issued to another client id: 401.
  • A job, validation or receipt in another organization: not found, never a hint that it exists.
  • A budget outside 1 to 2,000 cents, or one that would exceed your organization's ceiling: refused as invalid or over_cap, nothing admitted.
  • A commit that changes its own verification policy: policy_changed.
  • A repository that is not connected to your organization: refused; Fleet never fetches on speculation.

Troubleshooting

"Couldn't reach the MCP server" in Claude.ai
Expected today: see Where this stands. Claude found the endpoint but could not find the authorization server from it.
Claude Code loops on sign-in
Check that the browser that opened is the one where you signed in, and that the consent tab was not closed before Approve. Run claude mcp list to see the connection state.
A tool answers validator_unavailable (ref …)
Nothing ran. Quote the ref to support.

The general list is on the documentation page.