MCP clients
Compatibility matrix
Which MCP clients use OAuth DCR, a pre-registered confidential client, or a static API key
The Servicebay MCP endpoint is Streamable HTTP only:
https://oauth.servicebay.io/mcpThere is no SSE lane. Clients that only speak legacy HTTP+SSE should go through mcp-remote. Origin policy: any https origin plus localhost.
Three auth paths reach the same tools:
| Path | When to use it |
|---|---|
| OAuth 2.1 + PKCE S256 (DCR or CIMD) | Interactive clients that can open a browser. resource is optional and defaults to the MCP URL. |
| Pre-registered confidential client | Hosted products that require a client_secret (notably Perplexity). Create the client in the developer portal (max 10/org, never expires). |
| Static API key | Authorization: Bearer sk_live_… when the key's allowedUses includes mcp. Defaults to the read bundle, 90-day expiry, REST+MCP. |
Client matrix
| Client | Auth path | Transport | Notes |
|---|---|---|---|
| Claude.ai | DCR or request header | Streamable HTTP | Custom connector; connection originates from Anthropic's cloud. |
| Claude Desktop | Custom connector (cloud) or mcp-remote stdio | Streamable HTTP via connector / stdio bridge | Do not put a url field in claude_desktop_config.json. |
| Claude Code | DCR or --header Bearer | HTTP (type: "http") | claude mcp add --transport http. |
| ChatGPT | OAuth or API key | Streamable HTTP | Developer mode. search + fetch are implemented for Deep Research / company knowledge. |
| OpenAI Responses / Agents SDK | Static Bearer (authorization) | Streamable HTTP | Hosted MCP; send the key on every request. |
| Anthropic Messages API | authorization_token | Streamable HTTP | mcp_servers + mcp_toolset; beta mcp-client-2025-11-20. |
| Cursor | DCR, auth, or headers Bearer | Streamable HTTP | .cursor/mcp.json + install deeplink. |
| VS Code / Copilot | DCR or headers Bearer | type: "http" | .vscode/mcp.json. |
| Gemini CLI | OAuth or headers Bearer | httpUrl (not url) | url is SSE-only and will fail. |
| Google ADK | headers Bearer | StreamableHTTPConnectionParams | Prefer Streamable HTTP over SSE. |
| Windsurf | OAuth or headers Bearer | serverUrl | A copied url field is ignored. |
| Zed | OAuth (no header) or Bearer header | context_servers.url | Headers are not env-expanded. |
| JetBrains AI | mcp-remote + Bearer (or URL if unauthenticated) | Streamable HTTP / stdio bridge | Official docs do not document OAuth or custom headers. |
| Perplexity | Pre-registered confidential client (or API key) | Streamable HTTP | DCR as a public client fails (client_secret required). |
| Microsoft Copilot Studio | Custom connector + connection | Streamable HTTP | Generative orchestration must be on. |
| n8n | Bearer / header / OAuth2 credentials | HTTP Streamable (serverTransport) | Use node v1.2+; v1 is SSE-only. |
Tools the grant can see
Filtered by the grant or key: whoami, get_organisation, list_resources, get_resource, search, fetch, lookup_customer, create_resource, update_organisation, update_resource, delete_resource (confirm: true). Write/delete tools are omitted when the grant lacks the matching entity:write / entity:delete scope.
See Troubleshooting for 401 vs 403, insufficient_scope, invalid_target, PKCE, and Origin errors.