import type { Tool as MCPTool } from "@modelcontextprotocol/sdk/types.js"; export interface MCPServerConfig { id: string; name: string; url: string; enabled: boolean; transport: "sse" | "streamable-http"; auth?: { type: "bearer" | "basic" | "oauth"; token?: string; username?: string; password?: string; }; } export interface MCPServerConnection { config: MCPServerConfig; isConnected: boolean; tools: MCPTool[]; lastError?: string; lastConnected?: Date; } // Extended Tool interface to support both local and MCP tools export interface ExtendedTool { id: number | string; name: string; enabled: boolean; isCollapsed?: boolean; // Local tool properties code?: string; renderer?: string; // MCP tool properties mcpServerId?: string; mcpTool?: MCPTool; isRemote?: boolean; } // MCP Tool execution result export interface MCPToolResult { content: Array<{ type: string; text?: string; data?: unknown; mimeType?: string; }>; isError?: boolean; } // MCP Client state export interface MCPClientState { servers: Record; isLoading: boolean; error?: string; }