Run the secret-aware user_mcp lifecycle.
The bearer/header token in request.token is vault-put under
user_mcp/<id>/auth BEFORE the row is written; only the vault
key reference lives on adapter_config. A one-shot
tools/list health check runs before returning; on failure the
row lands with status='error' and the caller can use
POST /sources/{id}/user-mcp/test to retry.
Validation failures return 400 with {"error", "detail"}.
Documentation Index
Fetch the complete documentation index at: https://docs.copass.com/llms.txt
Use this file to discover all available pages before exploring further.
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Tenant-supplied MCP server registration payload.
Human-readable source name.
User's MCP server URL (no trailing slash). https only — http rejected except for localhost in dev.
bearer | header_token | none.
Bearer / header secret. Required iff auth_kind != 'none'. Stored in vault, never echoed back.
Required iff auth_kind='header_token'.
Tool-name prefix (≤64 chars). Defaults to data_source_id when absent. Must be unique across the sandbox's active user_mcp sources.
Per-source allowlist on top of the agent-level one.
Tool calls to run on every pull(). Empty = live-tools-only; the source contributes to agent turns but not graph ingestion.
Per-source tool-call rate cap. Default 60, max 600.
Per-source webhook firehose rate cap. Default 600, max 6000.
Successful Response
Outcome shape for the three user_mcp lifecycle endpoints.
Mirrors the dict the service methods return verbatim (status,
optional health_error, etc.) without re-shaping. error is
populated on validation failure; data_source_id is populated
on success.