| { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "$id": "https://modelcontextprotocol.io/ext-apps/schema.json", | |
| "title": "MCP Apps Protocol", | |
| "description": "JSON Schema for MCP Apps UI protocol messages", | |
| "$defs": { | |
| "McpUiAppCapabilities": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "experimental": { | |
| "description": "Experimental features (structure TBD).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "tools": { | |
| "description": "App exposes MCP-style tools that the host can call.", | |
| "type": "object", | |
| "properties": { | |
| "listChanged": { | |
| "description": "App supports tools/list_changed notifications.", | |
| "type": "boolean" | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "McpUiDisplayMode": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "inline" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "fullscreen" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "pip" | |
| } | |
| ], | |
| "description": "Display mode for UI presentation." | |
| }, | |
| "McpUiHostCapabilities": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "experimental": { | |
| "description": "Experimental features (structure TBD).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "openLinks": { | |
| "description": "Host supports opening external URLs.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "serverTools": { | |
| "description": "Host can proxy tool calls to the MCP server.", | |
| "type": "object", | |
| "properties": { | |
| "listChanged": { | |
| "description": "Host supports tools/list_changed notifications.", | |
| "type": "boolean" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "serverResources": { | |
| "description": "Host can proxy resource reads to the MCP server.", | |
| "type": "object", | |
| "properties": { | |
| "listChanged": { | |
| "description": "Host supports resources/list_changed notifications.", | |
| "type": "boolean" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "logging": { | |
| "description": "Host accepts log messages.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "sandbox": { | |
| "description": "Sandbox configuration applied by the host.", | |
| "type": "object", | |
| "properties": { | |
| "permissions": { | |
| "description": "Permissions granted by the host (camera, microphone, geolocation).", | |
| "type": "object", | |
| "properties": { | |
| "camera": { | |
| "description": "Request camera access (Permission Policy `camera` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "microphone": { | |
| "description": "Request microphone access (Permission Policy `microphone` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "geolocation": { | |
| "description": "Request geolocation access (Permission Policy `geolocation` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "clipboardWrite": { | |
| "description": "Request clipboard write access (Permission Policy `clipboard-write` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "csp": { | |
| "description": "CSP domains approved by the host.", | |
| "type": "object", | |
| "properties": { | |
| "connectDomains": { | |
| "description": "Origins for network requests (fetch/XHR/WebSocket).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "resourceDomains": { | |
| "description": "Origins for static resources (scripts, images, styles, fonts).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "frameDomains": { | |
| "description": "Origins for nested iframes (frame-src directive).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "baseUriDomains": { | |
| "description": "Allowed base URIs for the document (base-uri directive).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "updateModelContext": { | |
| "description": "Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns.", | |
| "type": "object", | |
| "properties": { | |
| "text": { | |
| "description": "Host supports text content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "image": { | |
| "description": "Host supports image content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "audio": { | |
| "description": "Host supports audio content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "resource": { | |
| "description": "Host supports resource content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "resourceLink": { | |
| "description": "Host supports resource link content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "structuredContent": { | |
| "description": "Host supports structured content.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "message": { | |
| "description": "Host supports receiving content messages (ui/message) from the Guest UI.", | |
| "type": "object", | |
| "properties": { | |
| "text": { | |
| "description": "Host supports text content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "image": { | |
| "description": "Host supports image content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "audio": { | |
| "description": "Host supports audio content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "resource": { | |
| "description": "Host supports resource content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "resourceLink": { | |
| "description": "Host supports resource link content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "structuredContent": { | |
| "description": "Host supports structured content.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "McpUiHostContextChangedNotification": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "method": { | |
| "type": "string", | |
| "const": "ui/notifications/host-context-changed" | |
| }, | |
| "params": { | |
| "type": "object", | |
| "properties": { | |
| "toolInfo": { | |
| "description": "Metadata of the tool call that instantiated this App.", | |
| "type": "object", | |
| "properties": { | |
| "id": { | |
| "description": "JSON-RPC id of the tools/call request.", | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| { | |
| "type": "integer", | |
| "minimum": -9007199254740991, | |
| "maximum": 9007199254740991 | |
| } | |
| ] | |
| }, | |
| "tool": { | |
| "type": "object", | |
| "properties": { | |
| "name": { | |
| "type": "string" | |
| }, | |
| "title": { | |
| "type": "string" | |
| }, | |
| "icons": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "src": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "sizes": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "theme": { | |
| "type": "string", | |
| "enum": ["light", "dark"] | |
| } | |
| }, | |
| "required": ["src"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "description": { | |
| "type": "string" | |
| }, | |
| "inputSchema": { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "object" | |
| }, | |
| "properties": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "required": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "required": ["type"], | |
| "additionalProperties": {} | |
| }, | |
| "outputSchema": { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "object" | |
| }, | |
| "properties": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "required": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "required": ["type"], | |
| "additionalProperties": {} | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "title": { | |
| "type": "string" | |
| }, | |
| "readOnlyHint": { | |
| "type": "boolean" | |
| }, | |
| "destructiveHint": { | |
| "type": "boolean" | |
| }, | |
| "idempotentHint": { | |
| "type": "boolean" | |
| }, | |
| "openWorldHint": { | |
| "type": "boolean" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "execution": { | |
| "type": "object", | |
| "properties": { | |
| "taskSupport": { | |
| "type": "string", | |
| "enum": ["required", "optional", "forbidden"] | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| } | |
| }, | |
| "required": ["name", "inputSchema"], | |
| "additionalProperties": false, | |
| "description": "Tool definition including name, inputSchema, etc." | |
| } | |
| }, | |
| "required": ["tool"], | |
| "additionalProperties": false | |
| }, | |
| "theme": { | |
| "description": "Current color theme preference.", | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "light" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "dark" | |
| } | |
| ] | |
| }, | |
| "styles": { | |
| "description": "Style configuration for theming the app.", | |
| "type": "object", | |
| "properties": { | |
| "variables": { | |
| "description": "CSS variables for theming the app.", | |
| "type": "object", | |
| "propertyNames": { | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "--color-background-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-sans" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-mono" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-normal" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-medium" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-semibold" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-bold" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-xs-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-sm-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-md-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-lg-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xs-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-sm-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-md-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-lg-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-2xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-3xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-xs-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-sm-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-md-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-lg-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xs-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-sm-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-md-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-lg-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-2xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-3xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-xs" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-sm" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-md" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-lg" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-xl" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-full" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-width-regular" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-hairline" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-sm" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-md" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-lg" | |
| } | |
| ], | |
| "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record<K, string | undefined>` rather than `Partial<Record<K, string>>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." | |
| }, | |
| "additionalProperties": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| {} | |
| ], | |
| "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record<K, string | undefined>` rather than `Partial<Record<K, string>>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." | |
| }, | |
| "required": [ | |
| "--color-background-primary", | |
| "--color-background-secondary", | |
| "--color-background-tertiary", | |
| "--color-background-inverse", | |
| "--color-background-ghost", | |
| "--color-background-info", | |
| "--color-background-danger", | |
| "--color-background-success", | |
| "--color-background-warning", | |
| "--color-background-disabled", | |
| "--color-text-primary", | |
| "--color-text-secondary", | |
| "--color-text-tertiary", | |
| "--color-text-inverse", | |
| "--color-text-ghost", | |
| "--color-text-info", | |
| "--color-text-danger", | |
| "--color-text-success", | |
| "--color-text-warning", | |
| "--color-text-disabled", | |
| "--color-border-primary", | |
| "--color-border-secondary", | |
| "--color-border-tertiary", | |
| "--color-border-inverse", | |
| "--color-border-ghost", | |
| "--color-border-info", | |
| "--color-border-danger", | |
| "--color-border-success", | |
| "--color-border-warning", | |
| "--color-border-disabled", | |
| "--color-ring-primary", | |
| "--color-ring-secondary", | |
| "--color-ring-inverse", | |
| "--color-ring-info", | |
| "--color-ring-danger", | |
| "--color-ring-success", | |
| "--color-ring-warning", | |
| "--font-sans", | |
| "--font-mono", | |
| "--font-weight-normal", | |
| "--font-weight-medium", | |
| "--font-weight-semibold", | |
| "--font-weight-bold", | |
| "--font-text-xs-size", | |
| "--font-text-sm-size", | |
| "--font-text-md-size", | |
| "--font-text-lg-size", | |
| "--font-heading-xs-size", | |
| "--font-heading-sm-size", | |
| "--font-heading-md-size", | |
| "--font-heading-lg-size", | |
| "--font-heading-xl-size", | |
| "--font-heading-2xl-size", | |
| "--font-heading-3xl-size", | |
| "--font-text-xs-line-height", | |
| "--font-text-sm-line-height", | |
| "--font-text-md-line-height", | |
| "--font-text-lg-line-height", | |
| "--font-heading-xs-line-height", | |
| "--font-heading-sm-line-height", | |
| "--font-heading-md-line-height", | |
| "--font-heading-lg-line-height", | |
| "--font-heading-xl-line-height", | |
| "--font-heading-2xl-line-height", | |
| "--font-heading-3xl-line-height", | |
| "--border-radius-xs", | |
| "--border-radius-sm", | |
| "--border-radius-md", | |
| "--border-radius-lg", | |
| "--border-radius-xl", | |
| "--border-radius-full", | |
| "--border-width-regular", | |
| "--shadow-hairline", | |
| "--shadow-sm", | |
| "--shadow-md", | |
| "--shadow-lg" | |
| ] | |
| }, | |
| "css": { | |
| "description": "CSS blocks that apps can inject.", | |
| "type": "object", | |
| "properties": { | |
| "fonts": { | |
| "type": "string" | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "displayMode": { | |
| "description": "How the UI is currently displayed.", | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "inline" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "fullscreen" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "pip" | |
| } | |
| ] | |
| }, | |
| "availableDisplayModes": { | |
| "description": "Display modes the host supports.", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "containerDimensions": { | |
| "description": "Container dimensions. Represents the dimensions of the iframe or other\ncontainer holding the app. Specify either width or maxWidth, and either height or maxHeight.", | |
| "allOf": [ | |
| { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "height": { | |
| "type": "number", | |
| "description": "Fixed container height in pixels." | |
| } | |
| }, | |
| "required": ["height"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "maxHeight": { | |
| "description": "Maximum container height in pixels.", | |
| "anyOf": [ | |
| { | |
| "type": "number" | |
| }, | |
| {} | |
| ] | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| ] | |
| }, | |
| { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "width": { | |
| "type": "number", | |
| "description": "Fixed container width in pixels." | |
| } | |
| }, | |
| "required": ["width"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "maxWidth": { | |
| "description": "Maximum container width in pixels.", | |
| "anyOf": [ | |
| { | |
| "type": "number" | |
| }, | |
| {} | |
| ] | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "locale": { | |
| "description": "User's language and region preference in BCP 47 format.", | |
| "type": "string" | |
| }, | |
| "timeZone": { | |
| "description": "User's timezone in IANA format.", | |
| "type": "string" | |
| }, | |
| "userAgent": { | |
| "description": "Host application identifier.", | |
| "type": "string" | |
| }, | |
| "platform": { | |
| "description": "Platform type for responsive design decisions.", | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "web" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "desktop" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "mobile" | |
| } | |
| ] | |
| }, | |
| "deviceCapabilities": { | |
| "description": "Device input capabilities.", | |
| "type": "object", | |
| "properties": { | |
| "touch": { | |
| "description": "Whether the device supports touch input.", | |
| "type": "boolean" | |
| }, | |
| "hover": { | |
| "description": "Whether the device supports hover interactions.", | |
| "type": "boolean" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "safeAreaInsets": { | |
| "description": "Mobile safe area boundaries in pixels.", | |
| "type": "object", | |
| "properties": { | |
| "top": { | |
| "type": "number", | |
| "description": "Top safe area inset in pixels." | |
| }, | |
| "right": { | |
| "type": "number", | |
| "description": "Right safe area inset in pixels." | |
| }, | |
| "bottom": { | |
| "type": "number", | |
| "description": "Bottom safe area inset in pixels." | |
| }, | |
| "left": { | |
| "type": "number", | |
| "description": "Left safe area inset in pixels." | |
| } | |
| }, | |
| "required": ["top", "right", "bottom", "left"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": {}, | |
| "description": "Partial context update containing only changed fields." | |
| } | |
| }, | |
| "required": ["method", "params"], | |
| "additionalProperties": false | |
| }, | |
| "McpUiHostContext": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "toolInfo": { | |
| "description": "Metadata of the tool call that instantiated this App.", | |
| "type": "object", | |
| "properties": { | |
| "id": { | |
| "description": "JSON-RPC id of the tools/call request.", | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| { | |
| "type": "integer", | |
| "minimum": -9007199254740991, | |
| "maximum": 9007199254740991 | |
| } | |
| ] | |
| }, | |
| "tool": { | |
| "type": "object", | |
| "properties": { | |
| "name": { | |
| "type": "string" | |
| }, | |
| "title": { | |
| "type": "string" | |
| }, | |
| "icons": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "src": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "sizes": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "theme": { | |
| "type": "string", | |
| "enum": ["light", "dark"] | |
| } | |
| }, | |
| "required": ["src"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "description": { | |
| "type": "string" | |
| }, | |
| "inputSchema": { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "object" | |
| }, | |
| "properties": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "required": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "required": ["type"], | |
| "additionalProperties": {} | |
| }, | |
| "outputSchema": { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "object" | |
| }, | |
| "properties": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "required": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "required": ["type"], | |
| "additionalProperties": {} | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "title": { | |
| "type": "string" | |
| }, | |
| "readOnlyHint": { | |
| "type": "boolean" | |
| }, | |
| "destructiveHint": { | |
| "type": "boolean" | |
| }, | |
| "idempotentHint": { | |
| "type": "boolean" | |
| }, | |
| "openWorldHint": { | |
| "type": "boolean" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "execution": { | |
| "type": "object", | |
| "properties": { | |
| "taskSupport": { | |
| "type": "string", | |
| "enum": ["required", "optional", "forbidden"] | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| } | |
| }, | |
| "required": ["name", "inputSchema"], | |
| "additionalProperties": false, | |
| "description": "Tool definition including name, inputSchema, etc." | |
| } | |
| }, | |
| "required": ["tool"], | |
| "additionalProperties": false | |
| }, | |
| "theme": { | |
| "description": "Current color theme preference.", | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "light" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "dark" | |
| } | |
| ] | |
| }, | |
| "styles": { | |
| "description": "Style configuration for theming the app.", | |
| "type": "object", | |
| "properties": { | |
| "variables": { | |
| "description": "CSS variables for theming the app.", | |
| "type": "object", | |
| "propertyNames": { | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "--color-background-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-sans" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-mono" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-normal" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-medium" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-semibold" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-bold" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-xs-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-sm-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-md-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-lg-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xs-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-sm-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-md-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-lg-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-2xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-3xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-xs-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-sm-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-md-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-lg-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xs-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-sm-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-md-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-lg-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-2xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-3xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-xs" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-sm" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-md" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-lg" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-xl" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-full" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-width-regular" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-hairline" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-sm" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-md" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-lg" | |
| } | |
| ], | |
| "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record<K, string | undefined>` rather than `Partial<Record<K, string>>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." | |
| }, | |
| "additionalProperties": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| {} | |
| ], | |
| "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record<K, string | undefined>` rather than `Partial<Record<K, string>>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." | |
| }, | |
| "required": [ | |
| "--color-background-primary", | |
| "--color-background-secondary", | |
| "--color-background-tertiary", | |
| "--color-background-inverse", | |
| "--color-background-ghost", | |
| "--color-background-info", | |
| "--color-background-danger", | |
| "--color-background-success", | |
| "--color-background-warning", | |
| "--color-background-disabled", | |
| "--color-text-primary", | |
| "--color-text-secondary", | |
| "--color-text-tertiary", | |
| "--color-text-inverse", | |
| "--color-text-ghost", | |
| "--color-text-info", | |
| "--color-text-danger", | |
| "--color-text-success", | |
| "--color-text-warning", | |
| "--color-text-disabled", | |
| "--color-border-primary", | |
| "--color-border-secondary", | |
| "--color-border-tertiary", | |
| "--color-border-inverse", | |
| "--color-border-ghost", | |
| "--color-border-info", | |
| "--color-border-danger", | |
| "--color-border-success", | |
| "--color-border-warning", | |
| "--color-border-disabled", | |
| "--color-ring-primary", | |
| "--color-ring-secondary", | |
| "--color-ring-inverse", | |
| "--color-ring-info", | |
| "--color-ring-danger", | |
| "--color-ring-success", | |
| "--color-ring-warning", | |
| "--font-sans", | |
| "--font-mono", | |
| "--font-weight-normal", | |
| "--font-weight-medium", | |
| "--font-weight-semibold", | |
| "--font-weight-bold", | |
| "--font-text-xs-size", | |
| "--font-text-sm-size", | |
| "--font-text-md-size", | |
| "--font-text-lg-size", | |
| "--font-heading-xs-size", | |
| "--font-heading-sm-size", | |
| "--font-heading-md-size", | |
| "--font-heading-lg-size", | |
| "--font-heading-xl-size", | |
| "--font-heading-2xl-size", | |
| "--font-heading-3xl-size", | |
| "--font-text-xs-line-height", | |
| "--font-text-sm-line-height", | |
| "--font-text-md-line-height", | |
| "--font-text-lg-line-height", | |
| "--font-heading-xs-line-height", | |
| "--font-heading-sm-line-height", | |
| "--font-heading-md-line-height", | |
| "--font-heading-lg-line-height", | |
| "--font-heading-xl-line-height", | |
| "--font-heading-2xl-line-height", | |
| "--font-heading-3xl-line-height", | |
| "--border-radius-xs", | |
| "--border-radius-sm", | |
| "--border-radius-md", | |
| "--border-radius-lg", | |
| "--border-radius-xl", | |
| "--border-radius-full", | |
| "--border-width-regular", | |
| "--shadow-hairline", | |
| "--shadow-sm", | |
| "--shadow-md", | |
| "--shadow-lg" | |
| ] | |
| }, | |
| "css": { | |
| "description": "CSS blocks that apps can inject.", | |
| "type": "object", | |
| "properties": { | |
| "fonts": { | |
| "type": "string" | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "displayMode": { | |
| "description": "How the UI is currently displayed.", | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "inline" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "fullscreen" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "pip" | |
| } | |
| ] | |
| }, | |
| "availableDisplayModes": { | |
| "description": "Display modes the host supports.", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "containerDimensions": { | |
| "description": "Container dimensions. Represents the dimensions of the iframe or other\ncontainer holding the app. Specify either width or maxWidth, and either height or maxHeight.", | |
| "allOf": [ | |
| { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "height": { | |
| "type": "number", | |
| "description": "Fixed container height in pixels." | |
| } | |
| }, | |
| "required": ["height"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "maxHeight": { | |
| "description": "Maximum container height in pixels.", | |
| "anyOf": [ | |
| { | |
| "type": "number" | |
| }, | |
| {} | |
| ] | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| ] | |
| }, | |
| { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "width": { | |
| "type": "number", | |
| "description": "Fixed container width in pixels." | |
| } | |
| }, | |
| "required": ["width"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "maxWidth": { | |
| "description": "Maximum container width in pixels.", | |
| "anyOf": [ | |
| { | |
| "type": "number" | |
| }, | |
| {} | |
| ] | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "locale": { | |
| "description": "User's language and region preference in BCP 47 format.", | |
| "type": "string" | |
| }, | |
| "timeZone": { | |
| "description": "User's timezone in IANA format.", | |
| "type": "string" | |
| }, | |
| "userAgent": { | |
| "description": "Host application identifier.", | |
| "type": "string" | |
| }, | |
| "platform": { | |
| "description": "Platform type for responsive design decisions.", | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "web" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "desktop" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "mobile" | |
| } | |
| ] | |
| }, | |
| "deviceCapabilities": { | |
| "description": "Device input capabilities.", | |
| "type": "object", | |
| "properties": { | |
| "touch": { | |
| "description": "Whether the device supports touch input.", | |
| "type": "boolean" | |
| }, | |
| "hover": { | |
| "description": "Whether the device supports hover interactions.", | |
| "type": "boolean" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "safeAreaInsets": { | |
| "description": "Mobile safe area boundaries in pixels.", | |
| "type": "object", | |
| "properties": { | |
| "top": { | |
| "type": "number", | |
| "description": "Top safe area inset in pixels." | |
| }, | |
| "right": { | |
| "type": "number", | |
| "description": "Right safe area inset in pixels." | |
| }, | |
| "bottom": { | |
| "type": "number", | |
| "description": "Bottom safe area inset in pixels." | |
| }, | |
| "left": { | |
| "type": "number", | |
| "description": "Left safe area inset in pixels." | |
| } | |
| }, | |
| "required": ["top", "right", "bottom", "left"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "McpUiHostCss": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "fonts": { | |
| "type": "string" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "McpUiHostStyles": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "variables": { | |
| "description": "CSS variables for theming the app.", | |
| "type": "object", | |
| "propertyNames": { | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "--color-background-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-sans" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-mono" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-normal" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-medium" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-semibold" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-bold" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-xs-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-sm-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-md-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-lg-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xs-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-sm-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-md-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-lg-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-2xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-3xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-xs-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-sm-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-md-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-lg-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xs-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-sm-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-md-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-lg-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-2xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-3xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-xs" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-sm" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-md" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-lg" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-xl" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-full" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-width-regular" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-hairline" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-sm" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-md" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-lg" | |
| } | |
| ], | |
| "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record<K, string | undefined>` rather than `Partial<Record<K, string>>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." | |
| }, | |
| "additionalProperties": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| {} | |
| ], | |
| "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record<K, string | undefined>` rather than `Partial<Record<K, string>>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." | |
| }, | |
| "required": [ | |
| "--color-background-primary", | |
| "--color-background-secondary", | |
| "--color-background-tertiary", | |
| "--color-background-inverse", | |
| "--color-background-ghost", | |
| "--color-background-info", | |
| "--color-background-danger", | |
| "--color-background-success", | |
| "--color-background-warning", | |
| "--color-background-disabled", | |
| "--color-text-primary", | |
| "--color-text-secondary", | |
| "--color-text-tertiary", | |
| "--color-text-inverse", | |
| "--color-text-ghost", | |
| "--color-text-info", | |
| "--color-text-danger", | |
| "--color-text-success", | |
| "--color-text-warning", | |
| "--color-text-disabled", | |
| "--color-border-primary", | |
| "--color-border-secondary", | |
| "--color-border-tertiary", | |
| "--color-border-inverse", | |
| "--color-border-ghost", | |
| "--color-border-info", | |
| "--color-border-danger", | |
| "--color-border-success", | |
| "--color-border-warning", | |
| "--color-border-disabled", | |
| "--color-ring-primary", | |
| "--color-ring-secondary", | |
| "--color-ring-inverse", | |
| "--color-ring-info", | |
| "--color-ring-danger", | |
| "--color-ring-success", | |
| "--color-ring-warning", | |
| "--font-sans", | |
| "--font-mono", | |
| "--font-weight-normal", | |
| "--font-weight-medium", | |
| "--font-weight-semibold", | |
| "--font-weight-bold", | |
| "--font-text-xs-size", | |
| "--font-text-sm-size", | |
| "--font-text-md-size", | |
| "--font-text-lg-size", | |
| "--font-heading-xs-size", | |
| "--font-heading-sm-size", | |
| "--font-heading-md-size", | |
| "--font-heading-lg-size", | |
| "--font-heading-xl-size", | |
| "--font-heading-2xl-size", | |
| "--font-heading-3xl-size", | |
| "--font-text-xs-line-height", | |
| "--font-text-sm-line-height", | |
| "--font-text-md-line-height", | |
| "--font-text-lg-line-height", | |
| "--font-heading-xs-line-height", | |
| "--font-heading-sm-line-height", | |
| "--font-heading-md-line-height", | |
| "--font-heading-lg-line-height", | |
| "--font-heading-xl-line-height", | |
| "--font-heading-2xl-line-height", | |
| "--font-heading-3xl-line-height", | |
| "--border-radius-xs", | |
| "--border-radius-sm", | |
| "--border-radius-md", | |
| "--border-radius-lg", | |
| "--border-radius-xl", | |
| "--border-radius-full", | |
| "--border-width-regular", | |
| "--shadow-hairline", | |
| "--shadow-sm", | |
| "--shadow-md", | |
| "--shadow-lg" | |
| ] | |
| }, | |
| "css": { | |
| "description": "CSS blocks that apps can inject.", | |
| "type": "object", | |
| "properties": { | |
| "fonts": { | |
| "type": "string" | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "McpUiInitializeRequest": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "method": { | |
| "type": "string", | |
| "const": "ui/initialize" | |
| }, | |
| "params": { | |
| "type": "object", | |
| "properties": { | |
| "appInfo": { | |
| "type": "object", | |
| "properties": { | |
| "name": { | |
| "type": "string" | |
| }, | |
| "title": { | |
| "type": "string" | |
| }, | |
| "icons": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "src": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "sizes": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "theme": { | |
| "type": "string", | |
| "enum": ["light", "dark"] | |
| } | |
| }, | |
| "required": ["src"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "version": { | |
| "type": "string" | |
| }, | |
| "websiteUrl": { | |
| "type": "string" | |
| }, | |
| "description": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": ["name", "version"], | |
| "additionalProperties": false, | |
| "description": "App identification (name and version)." | |
| }, | |
| "appCapabilities": { | |
| "type": "object", | |
| "properties": { | |
| "experimental": { | |
| "description": "Experimental features (structure TBD).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "tools": { | |
| "description": "App exposes MCP-style tools that the host can call.", | |
| "type": "object", | |
| "properties": { | |
| "listChanged": { | |
| "description": "App supports tools/list_changed notifications.", | |
| "type": "boolean" | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false, | |
| "description": "Features and capabilities this app provides." | |
| }, | |
| "protocolVersion": { | |
| "type": "string", | |
| "description": "Protocol version this app supports." | |
| } | |
| }, | |
| "required": ["appInfo", "appCapabilities", "protocolVersion"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": ["method", "params"], | |
| "additionalProperties": false | |
| }, | |
| "McpUiInitializeResult": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "protocolVersion": { | |
| "type": "string", | |
| "description": "Negotiated protocol version string (e.g., \"2025-11-21\")." | |
| }, | |
| "hostInfo": { | |
| "type": "object", | |
| "properties": { | |
| "name": { | |
| "type": "string" | |
| }, | |
| "title": { | |
| "type": "string" | |
| }, | |
| "icons": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "src": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "sizes": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "theme": { | |
| "type": "string", | |
| "enum": ["light", "dark"] | |
| } | |
| }, | |
| "required": ["src"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "version": { | |
| "type": "string" | |
| }, | |
| "websiteUrl": { | |
| "type": "string" | |
| }, | |
| "description": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": ["name", "version"], | |
| "additionalProperties": false, | |
| "description": "Host application identification and version." | |
| }, | |
| "hostCapabilities": { | |
| "type": "object", | |
| "properties": { | |
| "experimental": { | |
| "description": "Experimental features (structure TBD).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "openLinks": { | |
| "description": "Host supports opening external URLs.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "serverTools": { | |
| "description": "Host can proxy tool calls to the MCP server.", | |
| "type": "object", | |
| "properties": { | |
| "listChanged": { | |
| "description": "Host supports tools/list_changed notifications.", | |
| "type": "boolean" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "serverResources": { | |
| "description": "Host can proxy resource reads to the MCP server.", | |
| "type": "object", | |
| "properties": { | |
| "listChanged": { | |
| "description": "Host supports resources/list_changed notifications.", | |
| "type": "boolean" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "logging": { | |
| "description": "Host accepts log messages.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "sandbox": { | |
| "description": "Sandbox configuration applied by the host.", | |
| "type": "object", | |
| "properties": { | |
| "permissions": { | |
| "description": "Permissions granted by the host (camera, microphone, geolocation).", | |
| "type": "object", | |
| "properties": { | |
| "camera": { | |
| "description": "Request camera access (Permission Policy `camera` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "microphone": { | |
| "description": "Request microphone access (Permission Policy `microphone` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "geolocation": { | |
| "description": "Request geolocation access (Permission Policy `geolocation` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "clipboardWrite": { | |
| "description": "Request clipboard write access (Permission Policy `clipboard-write` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "csp": { | |
| "description": "CSP domains approved by the host.", | |
| "type": "object", | |
| "properties": { | |
| "connectDomains": { | |
| "description": "Origins for network requests (fetch/XHR/WebSocket).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "resourceDomains": { | |
| "description": "Origins for static resources (scripts, images, styles, fonts).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "frameDomains": { | |
| "description": "Origins for nested iframes (frame-src directive).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "baseUriDomains": { | |
| "description": "Allowed base URIs for the document (base-uri directive).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "updateModelContext": { | |
| "description": "Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns.", | |
| "type": "object", | |
| "properties": { | |
| "text": { | |
| "description": "Host supports text content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "image": { | |
| "description": "Host supports image content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "audio": { | |
| "description": "Host supports audio content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "resource": { | |
| "description": "Host supports resource content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "resourceLink": { | |
| "description": "Host supports resource link content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "structuredContent": { | |
| "description": "Host supports structured content.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "message": { | |
| "description": "Host supports receiving content messages (ui/message) from the Guest UI.", | |
| "type": "object", | |
| "properties": { | |
| "text": { | |
| "description": "Host supports text content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "image": { | |
| "description": "Host supports image content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "audio": { | |
| "description": "Host supports audio content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "resource": { | |
| "description": "Host supports resource content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "resourceLink": { | |
| "description": "Host supports resource link content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "structuredContent": { | |
| "description": "Host supports structured content.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false, | |
| "description": "Features and capabilities provided by the host." | |
| }, | |
| "hostContext": { | |
| "type": "object", | |
| "properties": { | |
| "toolInfo": { | |
| "description": "Metadata of the tool call that instantiated this App.", | |
| "type": "object", | |
| "properties": { | |
| "id": { | |
| "description": "JSON-RPC id of the tools/call request.", | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| { | |
| "type": "integer", | |
| "minimum": -9007199254740991, | |
| "maximum": 9007199254740991 | |
| } | |
| ] | |
| }, | |
| "tool": { | |
| "type": "object", | |
| "properties": { | |
| "name": { | |
| "type": "string" | |
| }, | |
| "title": { | |
| "type": "string" | |
| }, | |
| "icons": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "src": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "sizes": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "theme": { | |
| "type": "string", | |
| "enum": ["light", "dark"] | |
| } | |
| }, | |
| "required": ["src"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "description": { | |
| "type": "string" | |
| }, | |
| "inputSchema": { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "object" | |
| }, | |
| "properties": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "required": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "required": ["type"], | |
| "additionalProperties": {} | |
| }, | |
| "outputSchema": { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "object" | |
| }, | |
| "properties": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "required": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "required": ["type"], | |
| "additionalProperties": {} | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "title": { | |
| "type": "string" | |
| }, | |
| "readOnlyHint": { | |
| "type": "boolean" | |
| }, | |
| "destructiveHint": { | |
| "type": "boolean" | |
| }, | |
| "idempotentHint": { | |
| "type": "boolean" | |
| }, | |
| "openWorldHint": { | |
| "type": "boolean" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "execution": { | |
| "type": "object", | |
| "properties": { | |
| "taskSupport": { | |
| "type": "string", | |
| "enum": ["required", "optional", "forbidden"] | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| } | |
| }, | |
| "required": ["name", "inputSchema"], | |
| "additionalProperties": false, | |
| "description": "Tool definition including name, inputSchema, etc." | |
| } | |
| }, | |
| "required": ["tool"], | |
| "additionalProperties": false | |
| }, | |
| "theme": { | |
| "description": "Current color theme preference.", | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "light" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "dark" | |
| } | |
| ] | |
| }, | |
| "styles": { | |
| "description": "Style configuration for theming the app.", | |
| "type": "object", | |
| "properties": { | |
| "variables": { | |
| "description": "CSS variables for theming the app.", | |
| "type": "object", | |
| "propertyNames": { | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "--color-background-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-sans" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-mono" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-normal" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-medium" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-semibold" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-bold" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-xs-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-sm-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-md-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-lg-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xs-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-sm-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-md-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-lg-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-2xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-3xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-xs-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-sm-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-md-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-lg-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xs-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-sm-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-md-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-lg-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-2xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-3xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-xs" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-sm" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-md" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-lg" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-xl" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-full" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-width-regular" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-hairline" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-sm" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-md" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-lg" | |
| } | |
| ], | |
| "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record<K, string | undefined>` rather than `Partial<Record<K, string>>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." | |
| }, | |
| "additionalProperties": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| {} | |
| ], | |
| "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record<K, string | undefined>` rather than `Partial<Record<K, string>>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." | |
| }, | |
| "required": [ | |
| "--color-background-primary", | |
| "--color-background-secondary", | |
| "--color-background-tertiary", | |
| "--color-background-inverse", | |
| "--color-background-ghost", | |
| "--color-background-info", | |
| "--color-background-danger", | |
| "--color-background-success", | |
| "--color-background-warning", | |
| "--color-background-disabled", | |
| "--color-text-primary", | |
| "--color-text-secondary", | |
| "--color-text-tertiary", | |
| "--color-text-inverse", | |
| "--color-text-ghost", | |
| "--color-text-info", | |
| "--color-text-danger", | |
| "--color-text-success", | |
| "--color-text-warning", | |
| "--color-text-disabled", | |
| "--color-border-primary", | |
| "--color-border-secondary", | |
| "--color-border-tertiary", | |
| "--color-border-inverse", | |
| "--color-border-ghost", | |
| "--color-border-info", | |
| "--color-border-danger", | |
| "--color-border-success", | |
| "--color-border-warning", | |
| "--color-border-disabled", | |
| "--color-ring-primary", | |
| "--color-ring-secondary", | |
| "--color-ring-inverse", | |
| "--color-ring-info", | |
| "--color-ring-danger", | |
| "--color-ring-success", | |
| "--color-ring-warning", | |
| "--font-sans", | |
| "--font-mono", | |
| "--font-weight-normal", | |
| "--font-weight-medium", | |
| "--font-weight-semibold", | |
| "--font-weight-bold", | |
| "--font-text-xs-size", | |
| "--font-text-sm-size", | |
| "--font-text-md-size", | |
| "--font-text-lg-size", | |
| "--font-heading-xs-size", | |
| "--font-heading-sm-size", | |
| "--font-heading-md-size", | |
| "--font-heading-lg-size", | |
| "--font-heading-xl-size", | |
| "--font-heading-2xl-size", | |
| "--font-heading-3xl-size", | |
| "--font-text-xs-line-height", | |
| "--font-text-sm-line-height", | |
| "--font-text-md-line-height", | |
| "--font-text-lg-line-height", | |
| "--font-heading-xs-line-height", | |
| "--font-heading-sm-line-height", | |
| "--font-heading-md-line-height", | |
| "--font-heading-lg-line-height", | |
| "--font-heading-xl-line-height", | |
| "--font-heading-2xl-line-height", | |
| "--font-heading-3xl-line-height", | |
| "--border-radius-xs", | |
| "--border-radius-sm", | |
| "--border-radius-md", | |
| "--border-radius-lg", | |
| "--border-radius-xl", | |
| "--border-radius-full", | |
| "--border-width-regular", | |
| "--shadow-hairline", | |
| "--shadow-sm", | |
| "--shadow-md", | |
| "--shadow-lg" | |
| ] | |
| }, | |
| "css": { | |
| "description": "CSS blocks that apps can inject.", | |
| "type": "object", | |
| "properties": { | |
| "fonts": { | |
| "type": "string" | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "displayMode": { | |
| "description": "How the UI is currently displayed.", | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "inline" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "fullscreen" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "pip" | |
| } | |
| ] | |
| }, | |
| "availableDisplayModes": { | |
| "description": "Display modes the host supports.", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "containerDimensions": { | |
| "description": "Container dimensions. Represents the dimensions of the iframe or other\ncontainer holding the app. Specify either width or maxWidth, and either height or maxHeight.", | |
| "allOf": [ | |
| { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "height": { | |
| "type": "number", | |
| "description": "Fixed container height in pixels." | |
| } | |
| }, | |
| "required": ["height"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "maxHeight": { | |
| "description": "Maximum container height in pixels.", | |
| "anyOf": [ | |
| { | |
| "type": "number" | |
| }, | |
| {} | |
| ] | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| ] | |
| }, | |
| { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "width": { | |
| "type": "number", | |
| "description": "Fixed container width in pixels." | |
| } | |
| }, | |
| "required": ["width"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "maxWidth": { | |
| "description": "Maximum container width in pixels.", | |
| "anyOf": [ | |
| { | |
| "type": "number" | |
| }, | |
| {} | |
| ] | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "locale": { | |
| "description": "User's language and region preference in BCP 47 format.", | |
| "type": "string" | |
| }, | |
| "timeZone": { | |
| "description": "User's timezone in IANA format.", | |
| "type": "string" | |
| }, | |
| "userAgent": { | |
| "description": "Host application identifier.", | |
| "type": "string" | |
| }, | |
| "platform": { | |
| "description": "Platform type for responsive design decisions.", | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "web" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "desktop" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "mobile" | |
| } | |
| ] | |
| }, | |
| "deviceCapabilities": { | |
| "description": "Device input capabilities.", | |
| "type": "object", | |
| "properties": { | |
| "touch": { | |
| "description": "Whether the device supports touch input.", | |
| "type": "boolean" | |
| }, | |
| "hover": { | |
| "description": "Whether the device supports hover interactions.", | |
| "type": "boolean" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "safeAreaInsets": { | |
| "description": "Mobile safe area boundaries in pixels.", | |
| "type": "object", | |
| "properties": { | |
| "top": { | |
| "type": "number", | |
| "description": "Top safe area inset in pixels." | |
| }, | |
| "right": { | |
| "type": "number", | |
| "description": "Right safe area inset in pixels." | |
| }, | |
| "bottom": { | |
| "type": "number", | |
| "description": "Bottom safe area inset in pixels." | |
| }, | |
| "left": { | |
| "type": "number", | |
| "description": "Left safe area inset in pixels." | |
| } | |
| }, | |
| "required": ["top", "right", "bottom", "left"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": {}, | |
| "description": "Rich context about the host environment." | |
| } | |
| }, | |
| "required": [ | |
| "protocolVersion", | |
| "hostInfo", | |
| "hostCapabilities", | |
| "hostContext" | |
| ], | |
| "additionalProperties": {} | |
| }, | |
| "McpUiInitializedNotification": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "method": { | |
| "type": "string", | |
| "const": "ui/notifications/initialized" | |
| }, | |
| "params": { | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": ["method"], | |
| "additionalProperties": false | |
| }, | |
| "McpUiMessageRequest": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "method": { | |
| "type": "string", | |
| "const": "ui/message" | |
| }, | |
| "params": { | |
| "type": "object", | |
| "properties": { | |
| "role": { | |
| "type": "string", | |
| "const": "user", | |
| "description": "Message role, currently only \"user\" is supported." | |
| }, | |
| "content": { | |
| "type": "array", | |
| "items": { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "text" | |
| }, | |
| "text": { | |
| "type": "string" | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "audience": { | |
| "type": "array", | |
| "items": { | |
| "type": "string", | |
| "enum": ["user", "assistant"] | |
| } | |
| }, | |
| "priority": { | |
| "type": "number", | |
| "minimum": 0, | |
| "maximum": 1 | |
| }, | |
| "lastModified": { | |
| "type": "string", | |
| "format": "date-time", | |
| "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| } | |
| }, | |
| "required": ["type", "text"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "image" | |
| }, | |
| "data": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "audience": { | |
| "type": "array", | |
| "items": { | |
| "type": "string", | |
| "enum": ["user", "assistant"] | |
| } | |
| }, | |
| "priority": { | |
| "type": "number", | |
| "minimum": 0, | |
| "maximum": 1 | |
| }, | |
| "lastModified": { | |
| "type": "string", | |
| "format": "date-time", | |
| "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| } | |
| }, | |
| "required": ["type", "data", "mimeType"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "audio" | |
| }, | |
| "data": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "audience": { | |
| "type": "array", | |
| "items": { | |
| "type": "string", | |
| "enum": ["user", "assistant"] | |
| } | |
| }, | |
| "priority": { | |
| "type": "number", | |
| "minimum": 0, | |
| "maximum": 1 | |
| }, | |
| "lastModified": { | |
| "type": "string", | |
| "format": "date-time", | |
| "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| } | |
| }, | |
| "required": ["type", "data", "mimeType"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "name": { | |
| "type": "string" | |
| }, | |
| "title": { | |
| "type": "string" | |
| }, | |
| "icons": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "src": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "sizes": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "theme": { | |
| "type": "string", | |
| "enum": ["light", "dark"] | |
| } | |
| }, | |
| "required": ["src"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "uri": { | |
| "type": "string" | |
| }, | |
| "description": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "audience": { | |
| "type": "array", | |
| "items": { | |
| "type": "string", | |
| "enum": ["user", "assistant"] | |
| } | |
| }, | |
| "priority": { | |
| "type": "number", | |
| "minimum": 0, | |
| "maximum": 1 | |
| }, | |
| "lastModified": { | |
| "type": "string", | |
| "format": "date-time", | |
| "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": {} | |
| }, | |
| "type": { | |
| "type": "string", | |
| "const": "resource_link" | |
| } | |
| }, | |
| "required": ["name", "uri", "type"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "resource" | |
| }, | |
| "resource": { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "uri": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "text": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": ["uri", "text"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "uri": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "blob": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": ["uri", "blob"], | |
| "additionalProperties": false | |
| } | |
| ] | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "audience": { | |
| "type": "array", | |
| "items": { | |
| "type": "string", | |
| "enum": ["user", "assistant"] | |
| } | |
| }, | |
| "priority": { | |
| "type": "number", | |
| "minimum": 0, | |
| "maximum": 1 | |
| }, | |
| "lastModified": { | |
| "type": "string", | |
| "format": "date-time", | |
| "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| } | |
| }, | |
| "required": ["type", "resource"], | |
| "additionalProperties": false | |
| } | |
| ] | |
| }, | |
| "description": "Message content blocks (text, image, etc.)." | |
| } | |
| }, | |
| "required": ["role", "content"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": ["method", "params"], | |
| "additionalProperties": false | |
| }, | |
| "McpUiMessageResult": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "isError": { | |
| "description": "True if the host rejected or failed to deliver the message.", | |
| "type": "boolean" | |
| } | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "McpUiOpenLinkRequest": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "method": { | |
| "type": "string", | |
| "const": "ui/open-link" | |
| }, | |
| "params": { | |
| "type": "object", | |
| "properties": { | |
| "url": { | |
| "type": "string", | |
| "description": "URL to open in the host's browser" | |
| } | |
| }, | |
| "required": ["url"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": ["method", "params"], | |
| "additionalProperties": false | |
| }, | |
| "McpUiOpenLinkResult": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "isError": { | |
| "description": "True if the host failed to open the URL (e.g., due to security policy).", | |
| "type": "boolean" | |
| } | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "McpUiRequestDisplayModeRequest": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "method": { | |
| "type": "string", | |
| "const": "ui/request-display-mode" | |
| }, | |
| "params": { | |
| "type": "object", | |
| "properties": { | |
| "mode": { | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "inline" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "fullscreen" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "pip" | |
| } | |
| ], | |
| "description": "The display mode being requested." | |
| } | |
| }, | |
| "required": ["mode"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": ["method", "params"], | |
| "additionalProperties": false | |
| }, | |
| "McpUiRequestDisplayModeResult": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "mode": { | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "inline" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "fullscreen" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "pip" | |
| } | |
| ], | |
| "description": "The display mode that was actually set. May differ from requested if not supported." | |
| } | |
| }, | |
| "required": ["mode"], | |
| "additionalProperties": {} | |
| }, | |
| "McpUiResourceCsp": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "connectDomains": { | |
| "description": "Origins for network requests (fetch/XHR/WebSocket).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "resourceDomains": { | |
| "description": "Origins for static resources (scripts, images, styles, fonts).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "frameDomains": { | |
| "description": "Origins for nested iframes (frame-src directive).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "baseUriDomains": { | |
| "description": "Allowed base URIs for the document (base-uri directive).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "McpUiResourceMeta": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "csp": { | |
| "description": "Content Security Policy configuration.", | |
| "type": "object", | |
| "properties": { | |
| "connectDomains": { | |
| "description": "Origins for network requests (fetch/XHR/WebSocket).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "resourceDomains": { | |
| "description": "Origins for static resources (scripts, images, styles, fonts).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "frameDomains": { | |
| "description": "Origins for nested iframes (frame-src directive).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "baseUriDomains": { | |
| "description": "Allowed base URIs for the document (base-uri directive).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "permissions": { | |
| "description": "Sandbox permissions requested by the UI.", | |
| "type": "object", | |
| "properties": { | |
| "camera": { | |
| "description": "Request camera access (Permission Policy `camera` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "microphone": { | |
| "description": "Request microphone access (Permission Policy `microphone` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "geolocation": { | |
| "description": "Request geolocation access (Permission Policy `geolocation` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "clipboardWrite": { | |
| "description": "Request clipboard write access (Permission Policy `clipboard-write` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "domain": { | |
| "description": "Dedicated origin for widget sandbox.", | |
| "type": "string" | |
| }, | |
| "prefersBorder": { | |
| "description": "Visual boundary preference - true if UI prefers a visible border.", | |
| "type": "boolean" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "McpUiResourcePermissions": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "camera": { | |
| "description": "Request camera access (Permission Policy `camera` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "microphone": { | |
| "description": "Request microphone access (Permission Policy `microphone` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "geolocation": { | |
| "description": "Request geolocation access (Permission Policy `geolocation` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "clipboardWrite": { | |
| "description": "Request clipboard write access (Permission Policy `clipboard-write` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "McpUiResourceTeardownRequest": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "method": { | |
| "type": "string", | |
| "const": "ui/resource-teardown" | |
| }, | |
| "params": { | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": ["method", "params"], | |
| "additionalProperties": false | |
| }, | |
| "McpUiResourceTeardownResult": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "McpUiSandboxProxyReadyNotification": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "method": { | |
| "type": "string", | |
| "const": "ui/notifications/sandbox-proxy-ready" | |
| }, | |
| "params": { | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": ["method", "params"], | |
| "additionalProperties": false | |
| }, | |
| "McpUiSandboxResourceReadyNotification": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "method": { | |
| "type": "string", | |
| "const": "ui/notifications/sandbox-resource-ready" | |
| }, | |
| "params": { | |
| "type": "object", | |
| "properties": { | |
| "html": { | |
| "type": "string", | |
| "description": "HTML content to load into the inner iframe." | |
| }, | |
| "sandbox": { | |
| "description": "Optional override for the inner iframe's sandbox attribute.", | |
| "type": "string" | |
| }, | |
| "csp": { | |
| "description": "CSP configuration from resource metadata.", | |
| "type": "object", | |
| "properties": { | |
| "connectDomains": { | |
| "description": "Origins for network requests (fetch/XHR/WebSocket).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "resourceDomains": { | |
| "description": "Origins for static resources (scripts, images, styles, fonts).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "frameDomains": { | |
| "description": "Origins for nested iframes (frame-src directive).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "baseUriDomains": { | |
| "description": "Allowed base URIs for the document (base-uri directive).", | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "permissions": { | |
| "description": "Sandbox permissions from resource metadata.", | |
| "type": "object", | |
| "properties": { | |
| "camera": { | |
| "description": "Request camera access (Permission Policy `camera` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "microphone": { | |
| "description": "Request microphone access (Permission Policy `microphone` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "geolocation": { | |
| "description": "Request geolocation access (Permission Policy `geolocation` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "clipboardWrite": { | |
| "description": "Request clipboard write access (Permission Policy `clipboard-write` feature).", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": ["html"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": ["method", "params"], | |
| "additionalProperties": false | |
| }, | |
| "McpUiSizeChangedNotification": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "method": { | |
| "type": "string", | |
| "const": "ui/notifications/size-changed" | |
| }, | |
| "params": { | |
| "type": "object", | |
| "properties": { | |
| "width": { | |
| "description": "New width in pixels.", | |
| "type": "number" | |
| }, | |
| "height": { | |
| "description": "New height in pixels.", | |
| "type": "number" | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": ["method", "params"], | |
| "additionalProperties": false | |
| }, | |
| "McpUiStyleVariableKey": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "--color-background-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-sans" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-mono" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-normal" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-medium" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-semibold" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-bold" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-xs-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-sm-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-md-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-lg-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xs-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-sm-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-md-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-lg-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-2xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-3xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-xs-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-sm-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-md-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-lg-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xs-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-sm-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-md-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-lg-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-2xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-3xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-xs" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-sm" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-md" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-lg" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-xl" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-full" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-width-regular" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-hairline" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-sm" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-md" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-lg" | |
| } | |
| ], | |
| "description": "CSS variable keys available to MCP apps for theming." | |
| }, | |
| "McpUiStyles": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "propertyNames": { | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "--color-background-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-background-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-text-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-tertiary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-ghost" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-border-disabled" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-primary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-secondary" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-inverse" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-info" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-danger" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-success" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--color-ring-warning" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-sans" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-mono" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-normal" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-medium" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-semibold" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-weight-bold" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-xs-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-sm-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-md-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-lg-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xs-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-sm-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-md-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-lg-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-2xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-3xl-size" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-xs-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-sm-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-md-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-text-lg-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xs-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-sm-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-md-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-lg-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-2xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--font-heading-3xl-line-height" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-xs" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-sm" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-md" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-lg" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-xl" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-radius-full" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--border-width-regular" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-hairline" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-sm" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-md" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "--shadow-lg" | |
| } | |
| ], | |
| "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record<K, string | undefined>` rather than `Partial<Record<K, string>>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." | |
| }, | |
| "additionalProperties": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| {} | |
| ], | |
| "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record<K, string | undefined>` rather than `Partial<Record<K, string>>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." | |
| }, | |
| "required": [ | |
| "--color-background-primary", | |
| "--color-background-secondary", | |
| "--color-background-tertiary", | |
| "--color-background-inverse", | |
| "--color-background-ghost", | |
| "--color-background-info", | |
| "--color-background-danger", | |
| "--color-background-success", | |
| "--color-background-warning", | |
| "--color-background-disabled", | |
| "--color-text-primary", | |
| "--color-text-secondary", | |
| "--color-text-tertiary", | |
| "--color-text-inverse", | |
| "--color-text-ghost", | |
| "--color-text-info", | |
| "--color-text-danger", | |
| "--color-text-success", | |
| "--color-text-warning", | |
| "--color-text-disabled", | |
| "--color-border-primary", | |
| "--color-border-secondary", | |
| "--color-border-tertiary", | |
| "--color-border-inverse", | |
| "--color-border-ghost", | |
| "--color-border-info", | |
| "--color-border-danger", | |
| "--color-border-success", | |
| "--color-border-warning", | |
| "--color-border-disabled", | |
| "--color-ring-primary", | |
| "--color-ring-secondary", | |
| "--color-ring-inverse", | |
| "--color-ring-info", | |
| "--color-ring-danger", | |
| "--color-ring-success", | |
| "--color-ring-warning", | |
| "--font-sans", | |
| "--font-mono", | |
| "--font-weight-normal", | |
| "--font-weight-medium", | |
| "--font-weight-semibold", | |
| "--font-weight-bold", | |
| "--font-text-xs-size", | |
| "--font-text-sm-size", | |
| "--font-text-md-size", | |
| "--font-text-lg-size", | |
| "--font-heading-xs-size", | |
| "--font-heading-sm-size", | |
| "--font-heading-md-size", | |
| "--font-heading-lg-size", | |
| "--font-heading-xl-size", | |
| "--font-heading-2xl-size", | |
| "--font-heading-3xl-size", | |
| "--font-text-xs-line-height", | |
| "--font-text-sm-line-height", | |
| "--font-text-md-line-height", | |
| "--font-text-lg-line-height", | |
| "--font-heading-xs-line-height", | |
| "--font-heading-sm-line-height", | |
| "--font-heading-md-line-height", | |
| "--font-heading-lg-line-height", | |
| "--font-heading-xl-line-height", | |
| "--font-heading-2xl-line-height", | |
| "--font-heading-3xl-line-height", | |
| "--border-radius-xs", | |
| "--border-radius-sm", | |
| "--border-radius-md", | |
| "--border-radius-lg", | |
| "--border-radius-xl", | |
| "--border-radius-full", | |
| "--border-width-regular", | |
| "--shadow-hairline", | |
| "--shadow-sm", | |
| "--shadow-md", | |
| "--shadow-lg" | |
| ], | |
| "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record<K, string | undefined>` rather than `Partial<Record<K, string>>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." | |
| }, | |
| "McpUiSupportedContentBlockModalities": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "text": { | |
| "description": "Host supports text content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "image": { | |
| "description": "Host supports image content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "audio": { | |
| "description": "Host supports audio content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "resource": { | |
| "description": "Host supports resource content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "resourceLink": { | |
| "description": "Host supports resource link content blocks.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| }, | |
| "structuredContent": { | |
| "description": "Host supports structured content.", | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "McpUiTheme": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "light" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "dark" | |
| } | |
| ], | |
| "description": "Color theme preference for the host environment." | |
| }, | |
| "McpUiToolCancelledNotification": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "method": { | |
| "type": "string", | |
| "const": "ui/notifications/tool-cancelled" | |
| }, | |
| "params": { | |
| "type": "object", | |
| "properties": { | |
| "reason": { | |
| "description": "Optional reason for the cancellation (e.g., \"user action\", \"timeout\").", | |
| "type": "string" | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": ["method", "params"], | |
| "additionalProperties": false | |
| }, | |
| "McpUiToolInputNotification": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "method": { | |
| "type": "string", | |
| "const": "ui/notifications/tool-input" | |
| }, | |
| "params": { | |
| "type": "object", | |
| "properties": { | |
| "arguments": { | |
| "description": "Complete tool call arguments as key-value pairs.", | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": { | |
| "description": "Complete tool call arguments as key-value pairs." | |
| } | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": ["method", "params"], | |
| "additionalProperties": false | |
| }, | |
| "McpUiToolInputPartialNotification": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "method": { | |
| "type": "string", | |
| "const": "ui/notifications/tool-input-partial" | |
| }, | |
| "params": { | |
| "type": "object", | |
| "properties": { | |
| "arguments": { | |
| "description": "Partial tool call arguments (incomplete, may change).", | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": { | |
| "description": "Partial tool call arguments (incomplete, may change)." | |
| } | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": ["method", "params"], | |
| "additionalProperties": false | |
| }, | |
| "McpUiToolMeta": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "resourceUri": { | |
| "type": "string" | |
| }, | |
| "visibility": { | |
| "description": "Who can access this tool. Default: [\"model\", \"app\"]\n- \"model\": Tool visible to and callable by the agent\n- \"app\": Tool callable by the app from this server only", | |
| "type": "array", | |
| "items": { | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "model" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "app" | |
| } | |
| ], | |
| "description": "Tool visibility scope - who can access the tool." | |
| } | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "McpUiToolResultNotification": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "method": { | |
| "type": "string", | |
| "const": "ui/notifications/tool-result" | |
| }, | |
| "params": { | |
| "type": "object", | |
| "properties": { | |
| "_meta": { | |
| "type": "object", | |
| "properties": { | |
| "progressToken": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| { | |
| "type": "integer", | |
| "minimum": -9007199254740991, | |
| "maximum": 9007199254740991 | |
| } | |
| ] | |
| }, | |
| "io.modelcontextprotocol/related-task": { | |
| "type": "object", | |
| "properties": { | |
| "taskId": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": ["taskId"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "content": { | |
| "default": [], | |
| "type": "array", | |
| "items": { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "text" | |
| }, | |
| "text": { | |
| "type": "string" | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "audience": { | |
| "type": "array", | |
| "items": { | |
| "type": "string", | |
| "enum": ["user", "assistant"] | |
| } | |
| }, | |
| "priority": { | |
| "type": "number", | |
| "minimum": 0, | |
| "maximum": 1 | |
| }, | |
| "lastModified": { | |
| "type": "string", | |
| "format": "date-time", | |
| "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| } | |
| }, | |
| "required": ["type", "text"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "image" | |
| }, | |
| "data": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "audience": { | |
| "type": "array", | |
| "items": { | |
| "type": "string", | |
| "enum": ["user", "assistant"] | |
| } | |
| }, | |
| "priority": { | |
| "type": "number", | |
| "minimum": 0, | |
| "maximum": 1 | |
| }, | |
| "lastModified": { | |
| "type": "string", | |
| "format": "date-time", | |
| "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| } | |
| }, | |
| "required": ["type", "data", "mimeType"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "audio" | |
| }, | |
| "data": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "audience": { | |
| "type": "array", | |
| "items": { | |
| "type": "string", | |
| "enum": ["user", "assistant"] | |
| } | |
| }, | |
| "priority": { | |
| "type": "number", | |
| "minimum": 0, | |
| "maximum": 1 | |
| }, | |
| "lastModified": { | |
| "type": "string", | |
| "format": "date-time", | |
| "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| } | |
| }, | |
| "required": ["type", "data", "mimeType"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "name": { | |
| "type": "string" | |
| }, | |
| "title": { | |
| "type": "string" | |
| }, | |
| "icons": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "src": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "sizes": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "theme": { | |
| "type": "string", | |
| "enum": ["light", "dark"] | |
| } | |
| }, | |
| "required": ["src"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "uri": { | |
| "type": "string" | |
| }, | |
| "description": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "audience": { | |
| "type": "array", | |
| "items": { | |
| "type": "string", | |
| "enum": ["user", "assistant"] | |
| } | |
| }, | |
| "priority": { | |
| "type": "number", | |
| "minimum": 0, | |
| "maximum": 1 | |
| }, | |
| "lastModified": { | |
| "type": "string", | |
| "format": "date-time", | |
| "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": {} | |
| }, | |
| "type": { | |
| "type": "string", | |
| "const": "resource_link" | |
| } | |
| }, | |
| "required": ["name", "uri", "type"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "resource" | |
| }, | |
| "resource": { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "uri": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "text": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": ["uri", "text"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "uri": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "blob": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": ["uri", "blob"], | |
| "additionalProperties": false | |
| } | |
| ] | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "audience": { | |
| "type": "array", | |
| "items": { | |
| "type": "string", | |
| "enum": ["user", "assistant"] | |
| } | |
| }, | |
| "priority": { | |
| "type": "number", | |
| "minimum": 0, | |
| "maximum": 1 | |
| }, | |
| "lastModified": { | |
| "type": "string", | |
| "format": "date-time", | |
| "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| } | |
| }, | |
| "required": ["type", "resource"], | |
| "additionalProperties": false | |
| } | |
| ] | |
| } | |
| }, | |
| "structuredContent": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "isError": { | |
| "type": "boolean" | |
| } | |
| }, | |
| "required": ["content"], | |
| "additionalProperties": {}, | |
| "description": "Standard MCP tool execution result." | |
| } | |
| }, | |
| "required": ["method", "params"], | |
| "additionalProperties": false | |
| }, | |
| "McpUiToolVisibility": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "anyOf": [ | |
| { | |
| "type": "string", | |
| "const": "model" | |
| }, | |
| { | |
| "type": "string", | |
| "const": "app" | |
| } | |
| ], | |
| "description": "Tool visibility scope - who can access the tool." | |
| }, | |
| "McpUiUpdateModelContextRequest": { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "properties": { | |
| "method": { | |
| "type": "string", | |
| "const": "ui/update-model-context" | |
| }, | |
| "params": { | |
| "type": "object", | |
| "properties": { | |
| "content": { | |
| "description": "Context content blocks (text, image, etc.).", | |
| "type": "array", | |
| "items": { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "text" | |
| }, | |
| "text": { | |
| "type": "string" | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "audience": { | |
| "type": "array", | |
| "items": { | |
| "type": "string", | |
| "enum": ["user", "assistant"] | |
| } | |
| }, | |
| "priority": { | |
| "type": "number", | |
| "minimum": 0, | |
| "maximum": 1 | |
| }, | |
| "lastModified": { | |
| "type": "string", | |
| "format": "date-time", | |
| "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| } | |
| }, | |
| "required": ["type", "text"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "image" | |
| }, | |
| "data": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "audience": { | |
| "type": "array", | |
| "items": { | |
| "type": "string", | |
| "enum": ["user", "assistant"] | |
| } | |
| }, | |
| "priority": { | |
| "type": "number", | |
| "minimum": 0, | |
| "maximum": 1 | |
| }, | |
| "lastModified": { | |
| "type": "string", | |
| "format": "date-time", | |
| "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| } | |
| }, | |
| "required": ["type", "data", "mimeType"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "audio" | |
| }, | |
| "data": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "audience": { | |
| "type": "array", | |
| "items": { | |
| "type": "string", | |
| "enum": ["user", "assistant"] | |
| } | |
| }, | |
| "priority": { | |
| "type": "number", | |
| "minimum": 0, | |
| "maximum": 1 | |
| }, | |
| "lastModified": { | |
| "type": "string", | |
| "format": "date-time", | |
| "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| } | |
| }, | |
| "required": ["type", "data", "mimeType"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "name": { | |
| "type": "string" | |
| }, | |
| "title": { | |
| "type": "string" | |
| }, | |
| "icons": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "src": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "sizes": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "theme": { | |
| "type": "string", | |
| "enum": ["light", "dark"] | |
| } | |
| }, | |
| "required": ["src"], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "uri": { | |
| "type": "string" | |
| }, | |
| "description": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "audience": { | |
| "type": "array", | |
| "items": { | |
| "type": "string", | |
| "enum": ["user", "assistant"] | |
| } | |
| }, | |
| "priority": { | |
| "type": "number", | |
| "minimum": 0, | |
| "maximum": 1 | |
| }, | |
| "lastModified": { | |
| "type": "string", | |
| "format": "date-time", | |
| "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "properties": {}, | |
| "additionalProperties": {} | |
| }, | |
| "type": { | |
| "type": "string", | |
| "const": "resource_link" | |
| } | |
| }, | |
| "required": ["name", "uri", "type"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "resource" | |
| }, | |
| "resource": { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "uri": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "text": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": ["uri", "text"], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "uri": { | |
| "type": "string" | |
| }, | |
| "mimeType": { | |
| "type": "string" | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| }, | |
| "blob": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": ["uri", "blob"], | |
| "additionalProperties": false | |
| } | |
| ] | |
| }, | |
| "annotations": { | |
| "type": "object", | |
| "properties": { | |
| "audience": { | |
| "type": "array", | |
| "items": { | |
| "type": "string", | |
| "enum": ["user", "assistant"] | |
| } | |
| }, | |
| "priority": { | |
| "type": "number", | |
| "minimum": 0, | |
| "maximum": 1 | |
| }, | |
| "lastModified": { | |
| "type": "string", | |
| "format": "date-time", | |
| "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "_meta": { | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": {} | |
| } | |
| }, | |
| "required": ["type", "resource"], | |
| "additionalProperties": false | |
| } | |
| ] | |
| } | |
| }, | |
| "structuredContent": { | |
| "description": "Structured content for machine-readable context data.", | |
| "type": "object", | |
| "propertyNames": { | |
| "type": "string" | |
| }, | |
| "additionalProperties": { | |
| "description": "Structured content for machine-readable context data." | |
| } | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": ["method", "params"], | |
| "additionalProperties": false | |
| } | |
| } | |
| } | |