Authenticating to the MCP server
Public documentation tools need no credential. Protected Connect MCP tools use OAuth 2.1 authorization code flow with PKCE S256, protected-resource metadata, authorization-server metadata, refresh-token rotation and revocation. The grant is tied to the signed-in Connect identity, workspace, scopes and selected business.
OAuth surface#
| Mechanism | Behavior |
|---|---|
| Protected-resource metadata | Advertises both production business scopes: read and write |
| Authorization code | Delegated user access |
| PKCE | S256 required |
| Client type | Public client; no client secret in marketplace packages |
| Refresh tokens | Rotating |
| Revocation | Supported |
| Issuer binding | Authorization responses include iss |
| Redirect URIs | HTTPS web callbacks; HTTP only for loopback native callbacks |
Least privilege#
Protected-resource metadata advertises every production business scope so clients can discover read and write step-up. Individual tools still request only the minimum scope they need. Business-write is a stronger permission and can read the same bound business. Offline access is requested separately when needed. Production authorization does not advertise or grant owner diagnostic scope.
The consent page names the registered MCP client, signed-in Connect identity and selected business. Private tools then re-check their required scope and live business authority.
Public calls#
Documentation tools remain callable without OAuth because they read the public generated corpus. A bearer token does not widen a public documentation tool.
Registration and redirect rules#
Connect supports dynamic client registration for public MCP clients. A web callback must use HTTPS. A native or command-line client may use plain HTTP only on a loopback host such as 127.0.0.1, ::1 or localhost; a remote HTTP callback is refused. Redirect URIs cannot contain embedded user information or a fragment. The exact registered URI is checked again during authorization and token exchange, so accepting more than one marketplace vendor does not turn the authorization endpoint into an open redirect.
Public clients receive no client secret from registration. The authorization code is protected with PKCE S256 instead. A bad verifier consumes and refuses the code, which prevents a failed exchange from becoming a reusable credential attempt. The resource parameter is also checked against the exact MCP resource, so a code intended for Connect's MCP endpoint is not a general token for another audience.
Questions#
Do I paste an API key into an MCP marketplace package?
No. Portable packages contain no Connect credential; use OAuth.
Can native clients use localhost callbacks?
Yes. Plain HTTP is limited to loopback hosts; remote callbacks require HTTPS.
Can marketplace users request owner diagnostics?
No. Production hides both the diagnostic scope and diagnostic tool registry.