Model Context Protocol (MCP)
Field-by-field specification for Model Context Protocol (MCP) configurations derived from the backend Pydantic models.
Schema: MCPCreate
Used when creating a new MCP configuration via POST /mcps.
Required Fields
Optional Fields
description
string
Max 1000 chars
Human-readable description
account_id
string
UUID format
Account ID (auto-assigned)
Transport Types
Defined by TransportType enum:
http
Streaming HTTP transport (requires config.url)
sse
Server-Sent Events transport (requires config.url)
Config Object Structure
The config field is a flexible JSON object that contains connection details for the MCP server. The only enforced requirement today is that http and sse transports must include a valid URL.
HTTP config
url
string
HTTPS endpoint that exposes the MCP server
Future Fields
The following fields are planned to be supported in the future:
disabled_tools
array<string>
List of tools to disable access to for agents
enabled_tools
array<string>
List of tools to enable access to for agents
SSE config
SSE transports reuse the same shape as HTTP and still require a url.
Additional fields are allowed and passed through to the MCP connector. Common optional keys include tool allow/deny lists and per-transport tuning parameters.
MCP Metadata Structure
The mcp_metadata field is a flexible JSON object for storing organizational information about the MCP configuration. This metadata is informational only and does not affect runtime behavior.
Authentication Types
The authentication object must include a type field with one of the following values. Responses redact sensitive values unless return_full serialization is requested internally.
no-auth
no-authbearer-token
bearer-tokenProvide a bearer token either directly or via headers.
Header format (mutually exclusive with token):
api-key
api-keySupply the API key name and value, or precomputed headers.
Header format (mutually exclusive with value):
custom-header
custom-headerSchema: MCPPatch
Used for partial updates via PATCH /mcps/{mcp_id}. All fields are optional.
name
string
Max 255 chars
Update the MCP name
description
string
Max 1000 chars
Update description
Schema: MCPResponse
Returned by GET /mcps/{mcp_id} and other read operations. Authentication fields are sanitized in responses (only non-sensitive keys are returned by default).
id
string (UUID)
Unique MCP identifier
name
string
MCP name
description
string
Description
transport
string
Transport type (http or sse)
config
object
Connection configuration
authentication
object
Authentication details (sensitive values redacted)
mcp_metadata
object
Metadata
account_id
string
Associated account ID
created_at
string (datetime)
Creation timestamp
updated_at
string (datetime)
Last update timestamp
deleted_at
string (datetime)
Soft-delete timestamp
Schema: MCPToolDefinition
Represents a tool exposed by an MCP server, returned by GET /mcps/{mcp_id}/tools and POST /mcps/connect/tools.
name
string
Yes
Unique tool name
description
string
Yes
What the tool does
args_schema
object
No
JSON schema for tool input arguments
Validation Rules
Common Validation Errors
400
Invalid input data
Malformed JSON or invalid field types
400
Invalid URL format
config.url missing or fails URL validation
409
MCP with name already exists
Duplicate name in the same account
422
Validation error
Missing required fields or constraint violations
Connection Test Schemas
MCPConnectionTestRequest
Used by POST /mcps/connect and POST /mcps/connect/tools to test configurations without saving. Has the same structure as MCPCreate but does not persist the configuration.
Examples
Related Documentation
REST API: MCPs — Endpoint reference
Python SDK Reference — Method signatures and usage
MCPs Guide — Lifecycle operations