Skip to main content
POST
/
api
/
mcp
/
client
Error
A valid request URL is required to generate request examples
{
  "status": "success",
  "message": "Operation completed successfully"
}

Authorizations

Authorization
string
header
required

Management API authentication for /api/* endpoints. Use the Authorization header with Bearer <API key>. Virtual keys, dashboard/user/session tokens, and x-api-key headers are not supported on management APIs.

Body

application/json

MCP client configuration for creating a new client (tool_pricing not available at creation). The schema varies based on connection_type:

  • HTTP/SSE: connection_string is required
  • STDIO: stdio_config is required
  • InProcess: server instance must be provided programmatically (Go package only)
name
string
required

Display name for the MCP client

connection_type
enum<string>
required

Connection type for MCP client

Available options:
http
connection_string
string
required

HTTP URL (required for HTTP connection type)

client_id
string

Unique identifier for the MCP client (optional, auto-generated if not provided)

is_code_mode_client
boolean
is_ping_available
boolean
default:true

Whether the MCP server supports ping for health checks. If true, uses lightweight ping method for health checks. If false, uses listTools method for health checks instead.

auth_type
enum<string>

Authentication type for the MCP connection

Available options:
none,
headers,
oauth,
per_user_oauth,
per_user_headers
oauth_config_id
string

OAuth config ID for OAuth authentication. Set after OAuth flow is completed. References the oauth_configs table. Only relevant when auth_type is "oauth".

headers
object

Custom headers to include in requests. Only used when auth_type is "headers".

oauth_config
object

OAuth configuration for initiating OAuth flow. Only include this when creating a client with auth_type "oauth". This will trigger the OAuth flow and return an authorization URL.

tools_to_execute
string[]

Include-only list for tools. ["*"] => all tools are included [] => no tools are included ["tool1", "tool2"] => include only the specified tools

tools_to_auto_execute
string[]

List of tools that can be auto-executed without user approval. Must be a subset of tools_to_execute. ["*"] => all executable tools can be auto-executed [] => no tools are auto-executed ["tool1", "tool2"] => only specified tools can be auto-executed

allow_on_all_virtual_keys
boolean
default:false

When true, this MCP client's tools are available to all virtual keys by default, without requiring an explicit virtual key assignment. An explicit virtual key config always overrides this setting for that key.

tls_config
object

TLS configuration for HTTP and SSE connections. Not applicable to stdio or inprocess connection types.

per_user_header_keys
string[]

Required when auth_type is per_user_headers. List of header names each end-user must supply the first time they hit this MCP server. Values are submitted per user via the inline-401 flow — never persisted on the MCP client config.

user_headers
object

Used only at create time when auth_type is per_user_headers. A sample set of header values the admin supplies so Bifrost can run a one-time upstream verify and discover the tool list. Discarded after the create call — not persisted. Mirrors how the admin's temp OAuth token is used for per_user_oauth setup.

Response

MCP client added successfully

Generic success response

status
string
Example:

"success"

message
string
Example:

"Operation completed successfully"