Connect an MCP client
Discover the stateless Streamable HTTP endpoint, authenticate each request, and list permitted tools.
Management MCP is available at POST /agent/mcp on the Management API origin. It uses stateless Streamable HTTP: authenticate every request, send initialize before other MCP methods, and do not rely on a transport session ID. Tool execution still rechecks live effective access on every call.
Discover the service
Use these root discovery documents instead of hard-coding authorization endpoints:
/.well-known/agent-configuration/.well-known/oauth-authorization-server/.well-known/openid-configuration/.well-known/oauth-protected-resource
OAuth and OpenID discovery also support the path-aware form advertised for the issuer.
List tools
Authenticate with an agent key, Agent Auth session, or OAuth access token. OAuth is the normal delegated browser flow: add the installation-wide Management MCP URL to the client, sign in, choose one Organization, and review the requested management intent. The connection is not installed into a Backend; Backend and Environment are selected per call.
The server projects only inspect, propose, execute, and control_operation, filtered by the credential’s OAuth intent, live permissions, and target scope.
curl https://cms.example.com/agent/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-H 'x-api-key: YOUR_AGENT_KEY' \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"example-client","version":"1"}}}'
curl https://cms.example.com/agent/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-H 'x-api-key: YOUR_AGENT_KEY' \
--data '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
After initialization, use tools/list, then inspect. Delegated humans may discover visible Backends with kind: "BACKENDS"; scoped inspection requires the exact Backend and, except for Environment discovery, Environment. Every proposal and control action rechecks pinning, domain permission, and resource or field scope.
Authentication challenge
An unauthenticated request returns 401 with:
WWW-Authenticate: Bearer resource_metadata="https://cms.example.com/.well-known/oauth-protected-resource"
{
"error": "unauthorized",
"error_description": "Authenticate with an agent-scoped x-api-key, an Agent Auth JWT, or an OAuth 2.1 access token."
}
This is the management endpoint, not the Delivery API or documentation MCP. Revocation and permission narrowing affect the next request.