Skip to content

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.

Create payload for POST /admin/ai/mcp-clients.

object
name
required
string
>= 1 characters <= 128 characters
url
required
string
>= 1 characters
transport
string
default: http
Allowed values: http stdio
auth_kind
string
default: none
Allowed values: none bearer header mtls
auth_secret_ref
string
auth_header_name
string
privacy_class
string
default: cloud
Allowed values: local cloud
enabled
boolean
rate_limit_per_second
integer
default: 2 >= 1
rate_limit_per_minute
integer
default: 60 >= 1
health_check_interval_s
integer
default: 60 >= 1

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
id
required
string format: uuid
name
required
string
>= 1 characters <= 128 characters
url
required
string
>= 1 characters
transport
required
string
Allowed values: http stdio
auth_kind
required
string
Allowed values: none bearer header mtls
auth_secret_ref
string
nullable
auth_header_name
string
nullable
privacy_class
required
string
Allowed values: local cloud
enabled
required
boolean
rate_limit_per_second
required
integer
>= 1
rate_limit_per_minute
required
integer
>= 1
health_check_interval_s
required
integer
>= 1
last_health_check_at
string format: date-time
nullable
last_health_status
string
nullable
Allowed values: healthy degraded unreachable
last_health_error
string
nullable
created_at
required
string format: date-time
updated_at
required
string format: date-time

Malformed request

object
error
required

Human-readable error summary

string
Example
the request could not be completed

Authentication required, missing, or invalid

object
error
required

Human-readable error summary

string
Example
the request could not be completed
Example
{
"error": "authentication required: sign in and retry with a valid session or API token"
}

Authenticated but missing required capabilities

object
error
required

Human-readable error summary

string
Example
the request could not be completed

Conflict (slug taken, would create cycle, etc.)

object
error
required

Human-readable error summary

string
Example
the request could not be completed