Register a new MCP-client server
POST /admin/ai/mcp-clients
Creates a new mcp_server_registration row. The operator-
chosen name is the audit-dashboard identifier + the
router’s slot key; collisions return 409.
Newly-registered servers default to enabled=false; the operator flips the toggle after whitelisting the tools they want to expose.
Requires mcp.client.admin.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”Create payload for POST /admin/ai/mcp-clients.
object
Write-only. The bearer token / header value used to
authenticate to this server. Never returned on any read —
responses carry auth_secret_set instead (#711).
Responses
Section titled “ Responses ”Registered
One registered MCP server. Each registration becomes one
ai.Provider in the router; the operator-chosen name is
the audit-dashboard identifier and the dispatcher slot key.
object
True when an auth secret is currently stored for this
server. The secret itself is NEVER returned — despite the
_ref name on the write side it holds the live bearer
token / header value, and a stored credential has no
read-back workflow, so no capability reads it back
(#711). Set it via POST / PATCH auth_secret_ref.
Malformed request
object
Human-readable error summary
Example
the request could not be completedAuthentication required, missing, or invalid
object
Human-readable error summary
Example
the request could not be completedExample
{ "error": "authentication required: sign in and retry with a valid session or API token"}Authenticated but missing required capabilities
object
Human-readable error summary
Example
the request could not be completedConflict (slug taken, would create cycle, etc.)
object
Human-readable error summary
Example
the request could not be completed