xmcp
Version:
The TypeScript MCP framework
104 lines (103 loc) • 2.63 kB
TypeScript
export type McpUiDisplayMode = "inline" | "fullscreen" | "pip";
export interface McpHostCallToolParams {
name: string;
arguments?: Record<string, unknown>;
}
export interface McpHostOpenLinkParams {
url: string;
}
export interface McpHostRequestDisplayModeParams {
mode: McpUiDisplayMode;
}
export interface McpHostRequestDisplayModeResult {
mode: McpUiDisplayMode | string;
}
export interface McpHostSendMessageParams {
role?: string;
content: unknown;
[key: string]: unknown;
}
export interface McpHostUpdateModelContextParams {
content?: unknown;
role?: string;
[key: string]: unknown;
}
export interface McpHostToolContentItem {
type: string;
text?: string;
[key: string]: unknown;
}
export interface McpHostToolResult {
content?: McpHostToolContentItem[];
structuredContent?: unknown;
isError?: boolean;
[key: string]: unknown;
}
export interface McpHostResourceContentItem {
uri?: string;
mimeType?: string;
text?: string;
blob?: string;
[key: string]: unknown;
}
export interface McpHostReadResourceResult {
contents?: McpHostResourceContentItem[];
[key: string]: unknown;
}
export interface McpHostMessageResult {
role?: string;
content?: unknown;
[key: string]: unknown;
}
export interface McpHostModelContextResult {
ok?: boolean;
[key: string]: unknown;
}
export interface McpHostContainerDimensions {
width?: number;
height?: number;
}
export interface McpHostStyleContext {
variables?: Record<string, string>;
css?: {
fonts?: string[];
[key: string]: unknown;
};
[key: string]: unknown;
}
export interface McpHostContext {
theme?: string;
displayMode?: McpUiDisplayMode | string;
locale?: string;
timeZone?: string;
platform?: string;
availableDisplayModes?: McpUiDisplayMode[];
containerDimensions?: McpHostContainerDimensions;
safeAreaInsets?: {
top?: number;
right?: number;
bottom?: number;
left?: number;
};
toolInfo?: Record<string, unknown>;
deviceCapabilities?: Record<string, unknown>;
styles?: McpHostStyleContext;
[key: string]: unknown;
}
export interface McpHostCapabilities {
serverTools?: {
listChanged?: boolean;
call?: boolean;
};
serverResources?: {
listChanged?: boolean;
read?: boolean;
};
openLinks?: boolean;
updateModelContext?: boolean | string[];
message?: boolean;
logging?: boolean;
downloadFile?: boolean;
sandbox?: Record<string, unknown>;
[key: string]: unknown;
}