Skip to main content
PUT
/
api
/
mcp
/
client
/
{id}
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.

Path Parameters

id
string
required

MCP client ID

Body

application/json

MCP client configuration for updating an existing client (includes tool_pricing)

client_id
string

Unique identifier for the MCP client

name
string

Display name for the MCP client

is_code_mode_client
boolean

Whether this client is available in code mode

connection_type
enum<string>

Connection type for MCP client

Available options:
http,
stdio,
sse,
inprocess
connection_string
string

HTTP or SSE URL (required for HTTP or SSE connections)

stdio_config
object

STDIO configuration for MCP client

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. 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".

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

tool_pricing
object

Per-tool cost in USD for execution. Key is the tool name, value is the cost per execution. Example: {"read_file": 0.001, "write_file": 0.002} Note: Only available when updating an existing client after tools have been fetched.

allow_on_all_virtual_keys
boolean
default:false

When true, this MCP client's tools are accessible to all virtual keys without requiring explicit per-key assignment. All tools are allowed by default. If a virtual key has an explicit MCP config for this client, that config takes precedence and overrides this behaviour.

per_user_header_keys
string[]

For per_user_headers clients only. Updating this list flips every existing active per-user credential row to needs_update; callers will be sent back to the submission form on their next tool call to satisfy the new schema.

disabled
boolean
default:false

When true, the client's connection, health monitor, and tool syncer are shut down. The client entry is preserved so it can be re-enabled later by sending disabled: false. Disabled clients do not expose tools to inference requests.

tls_config
object

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

vk_configs
object[]

When provided, replaces all virtual key assignments for this MCP client. Each entry specifies a virtual key and the tools it is allowed to call. To remove all VK access, provide an empty array []. Omit this field to leave existing VK assignments unchanged.

Response

MCP client updated successfully

Generic success response

status
string
Example:

"success"

message
string
Example:

"Operation completed successfully"