Claude Code
The most configurable client here on every axis except protocol revision: four transports, its own client metadata document, flags for a client ID and callback port, an override for the discovery chain, and a command hook that generates headers at connection time.
- Client type
- Terminal agent
- Protocol revision
initializeera
Support
Claude Code
- stdio
- Yes
- Streamable HTTP
- Yes
- Legacy SSE
- Partial
- Revision
initializeera- OAuth flow
- Yes
- Registration
- Yes
- Metadata doc
- Yes
- Client ID
- Yes
- resource
- Yes
- iss
- Unknown
- Headers
- Yes
- Protocol revision
- Not published. Claude Code still runs the
initializehandshake.
Caveats and sources
Each one names the column it qualifies and cites the page it comes from, which is often not the page in the row's primary source.
- Legacy HTTP+SSE
- Available as
claude mcp add --transport sse, with a documented note that the transport is deprecated and HTTP servers are the replacement. Claude Code also has a fourth transport nothing else here has: WebSocket, which takes headers only and runs no OAuth flow. Source - Metadata document
- Claude Code publishes its own document at
https://claude.ai/oauth/claude-code-client-metadataand uses it as itsclient_id, so it holds no Anthropic-issued credentials. It also discovers a server's support automatically. Source - Sends resource (RFC 8707)
- An open bug report says Claude Code appends a trailing slash to the
resourcevalue on both the authorization redirect and the token exchange, which makes Microsoft Entra ID answerAADSTS9010010for any server whose metadata uses an unslashed resource URI. Treat this as a bug report rather than documented behavior. Source - Custom headers
- Beyond a static
headersmap,headersHelperruns a command at connection time and merges its output into the headers, which is the path for Kerberos, short-lived tokens, and internal single sign-on. One ordering rule matters: if you configureheaders.Authorizationand the server rejects it, Claude Code fails the connection instead of falling back to OAuth. Source
This row was last verified July 31, 2026 against the 2026-07-28 revision.