export type McpServer = { name: string config: string status: "connected" | "connecting" | "disconnected" error?: string tools?: McpTool[] resources?: McpResource[] resourceTemplates?: McpResourceTemplate[] disabled?: boolean } export type McpTool = { name: string description?: string inputSchema?: object alwaysAllow?: boolean } export type McpResource = { uri: string name: string mimeType?: string description?: string } export type McpResourceTemplate = { uriTemplate: string name: string description?: string mimeType?: string } export type McpResourceResponse = { _meta?: Record contents: Array<{ uri: string mimeType?: string text?: string blob?: string }> } export type McpToolCallResponse = { _meta?: Record content: Array< | { type: "text" text: string } | { type: "image" data: string mimeType: string } | { type: "resource" resource: { uri: string mimeType?: string text?: string blob?: string } } > isError?: boolean }