Crittora Logo
Getting StartedChangelogContact Support

CAAB MCP guide

Audience: MCP users, CAAB administrators, and integration engineers
Transport: OAuth-protected Streamable HTTP
Last updated: August 9, 2026

CAAB makes least-privilege authority available through MCP. It can expose CAAB-managed API operations as tools, administer a tenant through role-aware management tools, and broker selected tools from a registered remote MCP server. In every case, tool visibility is a convenience; the verified policy is checked again at call time.

MCP surfaces

SurfaceWhat it doesAuthority boundary
CAAB-hosted MCPPresents CAAB management tools and policy-approved API or MCP operations on one endpoint.OAuth identity, tenant membership, role, and verified permission boundary.
Registered remote MCPImports a partner-scoped catalog from a downstream Streamable HTTP MCP server and exposes selected tools through CAAB.Signed operation snapshot plus the immutable, current downstream catalog.
Partner-hosted MCPLets a partner-hosted application or MCP use CAAB's binding-scoped broker for governed execution.Binding-scoped workload client, external user assertion, active mapping, and verified v2 policy.

These surfaces are related but distinct. Registering a remote MCP lets CAAB broker a downstream server; configuring a partner-hosted MCP lets a partner own its client experience while calling the CAAB broker.

Connect to CAAB-hosted MCP

1MCP URL: https://<caab-host>/mcp
2OAuth resource: https://<caab-host>/mcp
3Required scope: https://<caab-host>/mcp/tools
4
5CAAB publishes protected-resource and authorization-server metadata under
6/.well-known so compatible Streamable HTTP MCP clients can discover OAuth.
  1. Use the MCP URL supplied by CAAB and let the client complete its OAuth authorization flow.

  2. CAAB validates the access token and resolves canonical membership before responding to tool discovery or a call.

  3. Reconnect after an administrator changes server branding; some MCP clients cache the displayed name and icon.

Role-aware management tools

When MCP management is enabled for an environment, the endpoint derives its management-tool set on every request. Administrative authorization comes from tenant membership and role, not from a runtime permission boundary.

Caller stateAvailable tools
Verified user without a tenantAccess status and tenant onboarding.
Partner administratorTenant, user, API catalog, auth-profile, boundary, revision, and controlled-deletion management; plus personal OAuth tools.
Runtime memberPersonal OAuth connection tools and only the runtime operations allowed by their active boundary.
Suspended user or user without an active boundaryNo imported runtime API tools.

Management mutations require an idempotency key. Updates, activation, suspension, revocation, and other versioned changes also require the current expected version; a stale request fails without modifying the resource. Destructive actions use a short-lived, principal-bound confirmation token and report dependencies before deletion.

Register and govern a remote MCP server

  1. In CAAB Admin, add an MCP Server capability with a public HTTPS Streamable HTTP endpoint. Embedded credentials and query strings are rejected.

  2. CAAB initializes the downstream server and discovers its tools, schemas, annotations, protocol version, and transport contract. It saves an immutable catalog version.

  3. Review the discovered tools and create a permission boundary that selects only needed tool permission IDs and an auth profile.

  4. CAAB compiles the selected tool contracts into the signed, encrypted policy. A tool's permission ID includes a normalized name and hash so name normalization cannot create collisions.

Runtime enforcement for MCP calls

StepCAAB behavior
DiscoverBuilds dynamic tools only from the caller's verified, active policy and role.
AuthorizeChecks the exact permission again when tools/call is received; a cached client tool list grants nothing.
ValidateValidates tool arguments against the signed schema and rejects missing required or disallowed keys.
Verify catalogFor remote MCPs, compares the signed snapshot with the immutable catalog and current capability before forwarding.
ExecuteInitializes the downstream session, verifies protocol negotiation, injects the selected auth profile, and invokes tools/call with bounded time and response size.
Protect outputApplies response redaction, records safe audit data and metering, and never returns stored credential material.

CAAB supports no auth, static headers/bearer/API-key profiles, OAuth client credentials, per-user OAuth, and configured token-exchange patterns where applicable. Downstream MCP authentication in a query string is not supported.

Partner-hosted MCP and managed messaging

A partner-hosted application or MCP calls the broker instead of receiving CAAB's shared user session. It sends its binding-scoped service access token, a partner-issued end-user access token in X-CAAB-User-Assertion, the binding ID, permission ID, validated arguments, and purpose. CAAB derives the subject and the immutable operation snapshot; callers cannot select either.

Activation requires the matching OIDC/JWKS and protected-webhook test to succeed for the same configuration version. Webhook delivery is at-least-once, so receivers must deduplicate by event ID and accept a successful HTTP 2xx response. Restoring legacy behavior returns the profile to CAAB-hosted MCP and Cognito identity while retaining the external mappings and delivery history.

Next: integrate the binding-scoped Partner API

Operations and troubleshooting

SymptomCheck
No tools appearConfirm OAuth authentication, active membership, role, boundary status, policy expiry, and the intended permission IDs.
A remote tool is denied after a server updateTreat it as catalog drift. Review the new server catalog and update/recompile the boundary; do not bypass the verification failure.
OAuth-backed downstream call failsConfirm the auth-profile type, ownership, token settings, and—when per-user OAuth is used—that the caller completed their personal connection.
MCP client shows old name or iconReconnect the client after branding changes so cached server metadata is refreshed.
A management mutation conflictsFetch the current resource version, reconcile the change, then retry with a new idempotency key and current expected version.

Review MCP audit records for permission ID, status, duration, redaction events, and safe request/response representations. Use usage and diagnostics views to distinguish authorization failures, OAuth setup failures, upstream errors, and incomplete deployment.

Crittora CAAB

Govern which operations an AI agent, user, or API client can invoke, with signed policy integrity and runtime enforcement.

Least privilege
Runtime enforced
Auditable
On this page
  • MCP surfaces
  • Connect to CAAB
  • Role-aware management
  • Remote MCP servers
  • Runtime enforcement
  • Partner-hosted MCP
  • Operations and troubleshooting

Powered by AWS • Partner Technology • Patent Pending PQC Technology