xmcp
Version:
The TypeScript MCP framework
38 lines (37 loc) • 1.05 kB
TypeScript
export interface UIMetadata {
/**
* URI template for the widget resource.
* Auto-generated as `ui://app/{toolName}.html` when omitted.
*/
resourceUri?: string;
/**
* Visibility hint for how prominently hosts should surface the widget entry point.
*/
visibility?: Array<"model" | "app">;
/**
* Content Security Policy configuration for widget resources.
*/
csp?: {
connectDomains?: string[];
resourceDomains?: string[];
frameDomains?: string[];
baseUriDomains?: string[];
};
/**
* Browser permission hints requested by the widget iframe.
*/
permissions?: {
camera?: Record<string, never>;
microphone?: Record<string, never>;
geolocation?: Record<string, never>;
clipboardWrite?: Record<string, never>;
};
/**
* Optional dedicated origin for this widget.
*/
domain?: string;
/**
* Visual hint indicating the widget prefers a border.
*/
prefersBorder?: boolean;
}