{ "$defs": { "AgentSpec": { "additionalProperties": true, "description": "Canonical, strongly-typed Agent specification used across the system.\n\nThis represents a declarative way to define an Agent without constructing it yet.\nAgentSpec is used to create an Agent instance.\nIt can be defined as a config (loaded from a md, yaml, json, etc.), or\nit can be created programmatically.", "properties": { "name": { "title": "Name", "type": "string" }, "instruction": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Instruction" }, "server_names": { "items": { "type": "string" }, "title": "Server Names", "type": "array" }, "connection_persistence": { "default": true, "title": "Connection Persistence", "type": "boolean" } }, "required": [ "name" ], "title": "AgentSpec", "type": "object" }, "AnthropicSettings": { "additionalProperties": true, "description": "Settings for using Anthropic models in the MCP Agent application.", "properties": { "aws_access_key_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Aws Access Key Id" }, "aws_secret_access_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Aws Secret Access Key" }, "aws_session_token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Aws Session Token" }, "aws_region": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Aws Region" }, "profile": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Profile" }, "project": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Project" }, "location": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Location" }, "api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Api Key" }, "default_model": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Default Model" }, "provider": { "default": "anthropic", "enum": [ "anthropic", "bedrock", "vertexai" ], "title": "Provider", "type": "string" }, "base_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Base Url" } }, "title": "AnthropicSettings", "type": "object" }, "AzureSettings": { "additionalProperties": true, "description": "Settings for using Azure models in the MCP Agent application.", "properties": { "api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Api Key" }, "endpoint": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Endpoint" }, "api_version": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Api Version" }, "azure_deployment": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Azure Deployment" }, "azure_ad_token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Azure Ad Token" }, "azure_ad_token_provider": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Azure Ad Token Provider" }, "credential_scopes": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": [ "https://cognitiveservices.azure.com/.default" ], "title": "Credential Scopes" }, "default_model": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Default Model" } }, "title": "AzureSettings", "type": "object" }, "BedrockSettings": { "additionalProperties": true, "description": "Settings for using Bedrock models in the MCP Agent application.", "properties": { "aws_access_key_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Aws Access Key Id" }, "aws_secret_access_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Aws Secret Access Key" }, "aws_session_token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Aws Session Token" }, "aws_region": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Aws Region" }, "profile": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Profile" } }, "title": "BedrockSettings", "type": "object" }, "CohereSettings": { "additionalProperties": true, "description": "Settings for using Cohere models in the MCP Agent application.", "properties": { "api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Api Key" } }, "title": "CohereSettings", "type": "object" }, "ConsoleExporterSettings": { "additionalProperties": true, "description": "Console exporter uses stdout; no extra settings required.", "properties": {}, "title": "ConsoleExporterSettings", "type": "object" }, "FileExporterSettings": { "additionalProperties": true, "description": "File exporter settings for writing traces to a file.", "properties": { "path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Path" }, "path_settings": { "anyOf": [ { "$ref": "#/$defs/TracePathSettings" }, { "type": "null" } ], "default": null } }, "title": "FileExporterSettings", "type": "object" }, "GoogleSettings": { "additionalProperties": true, "description": "Settings for using Google models in the MCP Agent application.", "properties": { "project": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Project" }, "location": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Location" }, "api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Api Key" }, "vertexai": { "default": false, "title": "Vertexai", "type": "boolean" }, "default_model": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Default Model" } }, "title": "GoogleSettings", "type": "object" }, "LogPathSettings": { "additionalProperties": true, "description": "Settings for configuring log file paths with dynamic elements like timestamps or session IDs.", "properties": { "path_pattern": { "default": "logs/mcp-agent-{unique_id}.jsonl", "title": "Path Pattern", "type": "string" }, "unique_id": { "default": "timestamp", "enum": [ "timestamp", "session_id" ], "title": "Unique Id", "type": "string" }, "timestamp_format": { "default": "%Y%m%d_%H%M%S", "title": "Timestamp Format", "type": "string" } }, "title": "LogPathSettings", "type": "object" }, "LoggerSettings": { "additionalProperties": true, "description": "Logger settings for the MCP Agent application.", "properties": { "type": { "default": "console", "enum": [ "none", "console", "file", "http" ], "title": "Type", "type": "string" }, "transports": { "default": [], "items": { "enum": [ "none", "console", "file", "http" ], "type": "string" }, "title": "Transports", "type": "array", "description": "List of transports to use (can enable multiple simultaneously)" }, "level": { "default": "info", "enum": [ "debug", "info", "warning", "error" ], "title": "Level", "type": "string", "description": "Minimum logging level" }, "progress_display": { "default": false, "title": "Progress Display", "type": "boolean", "description": "Enable or disable the progress display" }, "path": { "default": "mcp-agent.jsonl", "title": "Path", "type": "string", "description": "Path to log file, if logger 'type' is 'file'." }, "path_settings": { "anyOf": [ { "$ref": "#/$defs/LogPathSettings" }, { "type": "null" } ], "default": null }, "batch_size": { "default": 100, "title": "Batch Size", "type": "integer", "description": "Number of events to accumulate before processing" }, "flush_interval": { "default": 2.0, "title": "Flush Interval", "type": "number", "description": "How often to flush events in seconds" }, "max_queue_size": { "default": 2048, "title": "Max Queue Size", "type": "integer", "description": "Maximum queue size for event processing" }, "http_endpoint": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Http Endpoint", "description": "HTTP endpoint for event transport" }, "http_headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Http Headers", "description": "HTTP headers for event transport" }, "http_timeout": { "default": 5.0, "title": "Http Timeout", "type": "number", "description": "HTTP timeout seconds for event transport" } }, "title": "LoggerSettings", "type": "object" }, "MCPAuthorizationServerSettings": { "additionalProperties": true, "description": "Configuration for exposing the MCP Agent server as an OAuth protected resource.", "properties": { "enabled": { "default": false, "title": "Enabled", "type": "boolean", "description": "Whether to expose this MCP app as an OAuth-protected resource server." }, "issuer_url": { "anyOf": [ { "format": "uri", "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Issuer Url", "description": "Issuer URL advertised to clients (must resolve to provider metadata)." }, "resource_server_url": { "anyOf": [ { "format": "uri", "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Resource Server Url", "description": "Base URL of the protected resource (used for discovery and validation)." }, "service_documentation_url": { "anyOf": [ { "format": "uri", "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Service Documentation Url", "description": "Optional URL pointing to resource server documentation for clients." }, "required_scopes": { "items": { "type": "string" }, "title": "Required Scopes", "type": "array", "description": "Scopes that clients must present when accessing this resource." }, "jwks_uri": { "anyOf": [ { "format": "uri", "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Jwks Uri", "description": "Optional JWKS endpoint for validating JWT access tokens." }, "client_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Client Id", "description": "Client id to use when calling the introspection endpoint." }, "client_secret": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Client Secret", "description": "Client secret to use when calling the introspection endpoint." }, "token_cache_ttl_seconds": { "default": 300, "minimum": 0, "title": "Token Cache Ttl Seconds", "type": "integer", "description": "How long (in seconds) to cache positive introspection/JWT validation results." }, "expected_audiences": { "items": { "type": "string" }, "title": "Expected Audiences", "type": "array" } }, "title": "MCPAuthorizationServerSettings", "type": "object" }, "MCPOAuthClientSettings": { "additionalProperties": true, "description": "Configuration for authenticating to downstream OAuth-protected MCP servers.", "properties": { "enabled": { "default": false, "title": "Enabled", "type": "boolean", "description": "Whether OAuth auth is enabled for this downstream server." }, "scopes": { "items": { "type": "string" }, "title": "Scopes", "type": "array", "description": "OAuth scopes to request when authorizing." }, "resource": { "anyOf": [ { "format": "uri", "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Resource", "description": "Protected resource identifier to include in token/authorize requests (RFC 8707)." }, "authorization_server": { "anyOf": [ { "format": "uri", "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Authorization Server", "description": "Authorization server base URL (provider metadata is discovered from this root)." }, "client_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Client Id", "description": "OAuth client identifier registered with the authorization server." }, "client_secret": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Client Secret", "description": "OAuth client secret for confidential clients." }, "access_token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Access Token", "description": "Optional pre-seeded access token that bypasses the interactive flow." }, "refresh_token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Refresh Token", "description": "Optional refresh token stored alongside a pre-seeded access token." }, "expires_at": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Expires At", "description": "Epoch timestamp (seconds) when the pre-seeded token expires." }, "token_type": { "default": "Bearer", "title": "Token Type", "type": "string", "description": "Token type returned by the provider; defaults to Bearer." }, "redirect_uri_options": { "items": { "type": "string" }, "title": "Redirect Uri Options", "type": "array", "description": "Allowed redirect URI values; the flow selects from this list." }, "extra_authorize_params": { "additionalProperties": { "type": "string" }, "title": "Extra Authorize Params", "type": "object", "description": "Additional query parameters to append to the authorize request." }, "extra_token_params": { "additionalProperties": { "type": "string" }, "title": "Extra Token Params", "type": "object", "description": "Additional form parameters to append to the token request." }, "require_pkce": { "default": true, "title": "Require Pkce", "type": "boolean", "description": "Whether to enforce PKCE when initiating the authorization code flow." }, "use_internal_callback": { "default": true, "title": "Use Internal Callback", "type": "boolean", "description": "When true, attempt to use the app's internal callback URL before loopback." }, "include_resource_parameter": { "default": true, "title": "Include Resource Parameter", "type": "boolean", "description": "Whether to include the RFC 8707 `resource` parameter in authorize/token requests." } }, "title": "MCPOAuthClientSettings", "type": "object" }, "MCPRootSettings": { "additionalProperties": true, "description": "Represents a root directory configuration for an MCP server.", "properties": { "uri": { "title": "Uri", "type": "string", "description": "The URI identifying the root. Must start with file://" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name", "description": "Optional name for the root." }, "server_uri_alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Server Uri Alias", "description": "Optional URI alias for presentation to the server" } }, "required": [ "uri" ], "title": "MCPRootSettings", "type": "object" }, "MCPServerAuthSettings": { "additionalProperties": true, "description": "Represents authentication configuration for a server.", "properties": { "api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Api Key" }, "oauth": { "anyOf": [ { "$ref": "#/$defs/MCPOAuthClientSettings" }, { "type": "null" } ], "default": null } }, "title": "MCPServerAuthSettings", "type": "object" }, "MCPServerSettings": { "additionalProperties": true, "description": "Represents the configuration for an individual server.", "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name", "description": "The name of the server." }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description", "description": "The description of the server." }, "transport": { "default": "stdio", "enum": [ "stdio", "sse", "streamable_http", "websocket" ], "title": "Transport", "type": "string", "description": "The transport mechanism." }, "command": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Command", "description": "The command to execute the server (e.g. npx) in stdio mode." }, "args": { "items": { "type": "string" }, "title": "Args", "type": "array", "description": "The arguments for the server command in stdio mode." }, "cwd": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cwd", "description": "The working directory to use when spawning the server process in stdio mode." }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Url", "description": "The URL for the server for SSE, Streamble HTTP or websocket transport." }, "headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Headers", "description": "HTTP headers for SSE or Streamable HTTP requests." }, "http_timeout_seconds": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Http Timeout Seconds" }, "read_timeout_seconds": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Read Timeout Seconds" }, "terminate_on_close": { "default": true, "title": "Terminate On Close", "type": "boolean" }, "auth": { "anyOf": [ { "$ref": "#/$defs/MCPServerAuthSettings" }, { "type": "null" } ], "default": null, "description": "The authentication configuration for the server." }, "roots": { "anyOf": [ { "items": { "$ref": "#/$defs/MCPRootSettings" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Roots", "description": "Root directories this server has access to." }, "env": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Env", "description": "Environment variables to pass to the server process." }, "allowed_tools": { "anyOf": [ { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" } ], "default": null, "title": "Allowed Tools" } }, "title": "MCPServerSettings", "type": "object" }, "MCPSettings": { "additionalProperties": true, "description": "Configuration for all MCP servers.", "properties": { "servers": { "additionalProperties": { "$ref": "#/$defs/MCPServerSettings" }, "title": "Servers", "type": "object" } }, "title": "MCPSettings", "type": "object" }, "OAuthSettings": { "additionalProperties": true, "description": "Global OAuth-related settings for MCP Agent.", "properties": { "token_store": { "$ref": "#/$defs/OAuthTokenStoreSettings" }, "flow_timeout_seconds": { "default": 300, "minimum": 30, "title": "Flow Timeout Seconds", "type": "integer", "description": "Maximum number of seconds to wait for an authorization callback before timing out." }, "callback_base_url": { "anyOf": [ { "format": "uri", "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Callback Base Url", "description": "Base URL for internal callbacks (used when `use_internal_callback` is true)." }, "loopback_ports": { "items": { "type": "integer" }, "title": "Loopback Ports", "type": "array", "description": "Ports to use for local loopback callbacks when internal callbacks are unavailable." } }, "title": "OAuthSettings", "type": "object" }, "OAuthTokenStoreSettings": { "additionalProperties": true, "description": "Settings for OAuth token persistence.", "properties": { "backend": { "default": "memory", "enum": [ "memory", "redis" ], "title": "Backend", "type": "string", "description": "Persistence backend to use for storing tokens." }, "redis_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Redis Url", "description": "Connection URL for Redis when using the redis backend." }, "redis_prefix": { "default": "mcp_agent:oauth_tokens", "title": "Redis Prefix", "type": "string", "description": "Key prefix used when writing tokens to Redis." }, "refresh_leeway_seconds": { "default": 60, "minimum": 0, "title": "Refresh Leeway Seconds", "type": "integer", "description": "Seconds before expiry when tokens should be refreshed." } }, "title": "OAuthTokenStoreSettings", "type": "object" }, "OTLPExporterSettings": { "additionalProperties": true, "properties": { "endpoint": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Endpoint" }, "headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Headers" } }, "title": "OTLPExporterSettings", "type": "object" }, "OpenAISettings": { "additionalProperties": true, "description": "Settings for using OpenAI models in the MCP Agent application.", "properties": { "api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Api Key" }, "reasoning_effort": { "default": "medium", "enum": [ "none", "low", "medium", "high" ], "title": "Reasoning Effort", "type": "string" }, "base_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Base Url" }, "user": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "User" }, "default_headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Default Headers" }, "default_model": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Default Model" } }, "title": "OpenAISettings", "type": "object" }, "OpenTelemetrySettings": { "additionalProperties": true, "description": "OTEL settings for the MCP Agent application.", "properties": { "enabled": { "default": false, "title": "Enabled", "type": "boolean" }, "exporters": { "default": [], "items": { "anyOf": [ { "enum": [ "console", "file", "otlp" ], "type": "string" }, { "additionalProperties": { "anyOf": [ { "$ref": "#/$defs/ConsoleExporterSettings" }, { "additionalProperties": true, "type": "object" } ] }, "propertyNames": { "const": "console" }, "type": "object" }, { "additionalProperties": { "anyOf": [ { "$ref": "#/$defs/FileExporterSettings" }, { "additionalProperties": true, "type": "object" } ] }, "propertyNames": { "const": "file" }, "type": "object" }, { "additionalProperties": { "anyOf": [ { "$ref": "#/$defs/OTLPExporterSettings" }, { "additionalProperties": true, "type": "object" } ] }, "propertyNames": { "const": "otlp" }, "type": "object" }, { "$ref": "#/$defs/ConsoleExporterSettings" }, { "$ref": "#/$defs/FileExporterSettings" }, { "$ref": "#/$defs/OTLPExporterSettings" } ] }, "title": "Exporters", "type": "array" }, "service_name": { "default": "mcp-agent", "title": "Service Name", "type": "string" }, "service_instance_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Service Instance Id" }, "service_version": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Service Version" }, "sample_rate": { "default": 1.0, "title": "Sample Rate", "type": "number", "description": "Sample rate for tracing (1.0 = sample everything)" } }, "title": "OpenTelemetrySettings", "type": "object" }, "SubagentSettings": { "additionalProperties": true, "description": "Settings for discovering and loading project/user subagents (AgentSpec files).\nSupports common formats like Claude Code subagents.", "properties": { "enabled": { "default": true, "title": "Enabled", "type": "boolean", "description": "Enable automatic subagent discovery and loading." }, "search_paths": { "items": { "type": "string" }, "title": "Search Paths", "type": "array" }, "pattern": { "default": "**/*.*", "title": "Pattern", "type": "string", "description": "Glob pattern within each directory to match files (YAML/JSON/Markdown supported)." }, "definitions": { "items": { "$ref": "#/$defs/AgentSpec" }, "title": "Definitions", "type": "array", "description": "Inline AgentSpec definitions directly in config." } }, "title": "SubagentSettings", "type": "object" }, "TemporalSettings": { "additionalProperties": true, "description": "Temporal settings for the MCP Agent application.", "properties": { "host": { "title": "Host", "type": "string" }, "namespace": { "default": "default", "title": "Namespace", "type": "string" }, "api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Api Key" }, "tls": { "default": false, "title": "Tls", "type": "boolean" }, "task_queue": { "title": "Task Queue", "type": "string" }, "max_concurrent_activities": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Max Concurrent Activities" }, "timeout_seconds": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": 60, "title": "Timeout Seconds" }, "rpc_metadata": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Rpc Metadata" }, "id_reuse_policy": { "default": "allow_duplicate", "enum": [ "allow_duplicate", "allow_duplicate_failed_only", "reject_duplicate", "terminate_if_running" ], "title": "Id Reuse Policy", "type": "string" }, "workflow_task_modules": { "items": { "type": "string" }, "title": "Workflow Task Modules", "type": "array", "description": "Additional module paths to import before creating a Temporal worker. Each should be importable." } }, "required": [ "host", "task_queue" ], "title": "TemporalSettings", "type": "object" }, "TracePathSettings": { "additionalProperties": true, "description": "Settings for configuring trace file paths with dynamic elements like timestamps or session IDs.", "properties": { "path_pattern": { "default": "traces/mcp-agent-trace-{unique_id}.jsonl", "title": "Path Pattern", "type": "string" }, "unique_id": { "default": "timestamp", "enum": [ "timestamp", "session_id" ], "title": "Unique Id", "type": "string" }, "timestamp_format": { "default": "%Y%m%d_%H%M%S", "title": "Timestamp Format", "type": "string" } }, "title": "TracePathSettings", "type": "object" }, "UsageTelemetrySettings": { "additionalProperties": true, "description": "Settings for usage telemetry in the MCP Agent application.\nAnonymized usage metrics are sent to a telemetry server to help improve the product.", "properties": { "enabled": { "default": true, "title": "Enabled", "type": "boolean", "description": "Enable usage telemetry in the MCP Agent application." }, "enable_detailed_telemetry": { "default": false, "title": "Enable Detailed Telemetry", "type": "boolean", "description": "If enabled, detailed telemetry data, including prompts and agents, will be sent to the telemetry server." } }, "title": "UsageTelemetrySettings", "type": "object" }, "WorkflowTaskRetryPolicy": { "additionalProperties": false, "description": "Declarative retry policy for workflow tasks / activities (mirrors Temporal RetryPolicy fields).\nDurations can be specified either as seconds (number) or ISO8601 timedelta strings; both are\ncoerced to datetime.timedelta instances.", "properties": { "maximum_attempts": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Maximum Attempts" }, "initial_interval": { "anyOf": [ { "format": "duration", "type": "string" }, { "type": "number" }, { "type": "string" }, { "type": "null" } ], "default": null, "title": "Initial Interval" }, "backoff_coefficient": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Backoff Coefficient" }, "maximum_interval": { "anyOf": [ { "format": "duration", "type": "string" }, { "type": "number" }, { "type": "string" }, { "type": "null" } ], "default": null, "title": "Maximum Interval" }, "non_retryable_error_types": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Non Retryable Error Types" } }, "title": "WorkflowTaskRetryPolicy", "type": "object" } }, "additionalProperties": true, "description": "Configuration schema for MCP Agent applications", "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name", "description": "The name of the MCP application" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description", "description": "The description of the MCP application" }, "mcp": { "anyOf": [ { "$ref": "#/$defs/MCPSettings" }, { "type": "null" } ], "description": "MCP config, such as MCP servers" }, "execution_engine": { "default": "asyncio", "enum": [ "asyncio", "temporal" ], "title": "Execution Engine", "type": "string", "description": "Execution engine for the MCP Agent application" }, "temporal": { "anyOf": [ { "$ref": "#/$defs/TemporalSettings" }, { "type": "null" } ], "default": null, "description": "Settings for Temporal workflow orchestration" }, "anthropic": { "anyOf": [ { "$ref": "#/$defs/AnthropicSettings" }, { "type": "null" } ], "description": "Settings for using Anthropic models in the MCP Agent application" }, "bedrock": { "anyOf": [ { "$ref": "#/$defs/BedrockSettings" }, { "type": "null" } ], "description": "Settings for using Bedrock models in the MCP Agent application" }, "cohere": { "anyOf": [ { "$ref": "#/$defs/CohereSettings" }, { "type": "null" } ], "description": "Settings for using Cohere models in the MCP Agent application" }, "openai": { "anyOf": [ { "$ref": "#/$defs/OpenAISettings" }, { "type": "null" } ], "description": "Settings for using OpenAI models in the MCP Agent application" }, "workflow_task_modules": { "items": { "type": "string" }, "title": "Workflow Task Modules", "type": "array", "description": "Optional list of modules to import at startup so workflow tasks register globally." }, "workflow_task_retry_policies": { "additionalProperties": { "$ref": "#/$defs/WorkflowTaskRetryPolicy" }, "title": "Workflow Task Retry Policies", "type": "object" }, "azure": { "anyOf": [ { "$ref": "#/$defs/AzureSettings" }, { "type": "null" } ], "description": "Settings for using Azure models in the MCP Agent application" }, "google": { "anyOf": [ { "$ref": "#/$defs/GoogleSettings" }, { "type": "null" } ], "description": "Settings for using Google models in the MCP Agent application" }, "otel": { "anyOf": [ { "$ref": "#/$defs/OpenTelemetrySettings" }, { "type": "null" } ], "default": { "enabled": false, "exporters": [], "service_name": "mcp-agent", "service_instance_id": null, "service_version": null, "sample_rate": 1.0 }, "description": "OpenTelemetry logging settings for the MCP Agent application" }, "logger": { "anyOf": [ { "$ref": "#/$defs/LoggerSettings" }, { "type": "null" } ], "default": { "type": "console", "transports": [], "level": "info", "progress_display": false, "path": "mcp-agent.jsonl", "path_settings": null, "batch_size": 100, "flush_interval": 2.0, "max_queue_size": 2048, "http_endpoint": null, "http_headers": null, "http_timeout": 5.0 }, "description": "Logger settings for the MCP Agent application" }, "usage_telemetry": { "anyOf": [ { "$ref": "#/$defs/UsageTelemetrySettings" }, { "type": "null" } ], "default": { "enabled": true, "enable_detailed_telemetry": false }, "description": "Usage tracking settings for the MCP Agent application" }, "agents": { "anyOf": [ { "$ref": "#/$defs/SubagentSettings" }, { "type": "null" } ], "default": { "enabled": true, "search_paths": [ ".claude/agents", "~/.claude/agents", ".mcp-agent/agents", "~/.mcp-agent/agents" ], "pattern": "**/*.*", "definitions": [] }, "description": "Settings for defining and loading subagents for the MCP Agent application" }, "authorization": { "anyOf": [ { "$ref": "#/$defs/MCPAuthorizationServerSettings" }, { "type": "null" } ], "default": null, "description": "Settings for exposing this MCP application as an OAuth protected resource" }, "oauth": { "anyOf": [ { "$ref": "#/$defs/OAuthSettings" }, { "type": "null" } ], "description": "Global OAuth client configuration (token store, delegated auth defaults)" }, "env": { "items": { "anyOf": [ { "type": "string" }, { "additionalProperties": { "type": "string" }, "type": "object" } ] }, "title": "Env", "type": "array", "description": "Environment variables to materialize for deployments." } }, "title": "MCP Agent Configuration Schema", "type": "object", "$schema": "http://json-schema.org/draft-07/schema#" }