Zuplo

Gemini CLI

The strictest resource behavior after Zed: Gemini CLI derives the value from the server URL rather than from protected resource metadata, so it sends it even when your server publishes none. It also rewrites tool names aggressively, forcing an mcp_ prefix and truncating at 64 characters.

Client type
Terminal agent
Protocol revision
2025-06-18

Support

Gemini CLI

stdio
Yes
Streamable HTTP
Yes
Legacy SSE
Yes
Revision
2025-06-18
OAuth flow
Yes
Registration
Yes
Metadata doc
No
Client ID
Yes
resource
Yes
iss
No
Headers
Yes
Protocol revision
2025-06-18, and it's the furthest behind in this matrix — one revision behind every other client here and two behind the specification. Gemini CLI pins the MCP TypeScript SDK at exactly 1.23.0, whose latest revision is 2025-06-18.

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.

Sends resource (RFC 8707)
Unconditional, and the opposite of VS Code: the value comes from the server URL, not from protected resource metadata. When metadata is present, Gemini CLI validates it and raises a resource mismatch if the two disagree. Its provider also offers Google credentials and service-account impersonation as authorization types. Source
Validates iss (RFC 9207)
Source-verified absence: the pinned SDK line has no issuer validation on the authorization response, and neither does Gemini CLI's own provider. Source
Tool names
Names are capped at 64 characters, forced to an mcp_ prefix, rewritten to a restricted character set, and truncated with a warning that the tool may then require user approval. A server whose tool names collide after truncation is the failure to watch for. Source
Primary source

This row was last verified July 31, 2026 against the 2026-07-28 revision.