import { Client } from '@modelcontextprotocol/sdk/client/index.js'; export interface McpServerSpec { command: string; args?: string[]; env?: Record; cwd?: string; disabled?: boolean; /** * Tenant-mount allow-list. When present, the server's tools only * surface for sessions running one of these agent profiles. When * absent, the server is mounted for all profiles (back-compat). */ profiles?: string[]; } export declare function serverMatchesProfile(spec: McpServerSpec, profile: string): boolean; export interface McpConfigFile { mcpServers?: Record; } export interface McpRemoteTool { name: string; description?: string; inputSchema: { type: 'object'; properties?: Record; required?: string[]; [k: string]: unknown; }; } export interface McpServerConnection { name: string; spec: McpServerSpec; client: Client; tools: McpRemoteTool[]; status: 'connected'; } export interface McpServerError { name: string; spec: McpServerSpec; error: string; status: 'error'; } export type McpServerEntry = McpServerConnection | McpServerError; export declare function loadMcpConfig(workingDir: string): Record; export declare class McpServerManager { private readonly workingDir; private entries; private initPromise; constructor(workingDir: string); init(): Promise; private doInit; getEntries(): readonly McpServerEntry[]; isInitialized(): boolean; getServerStatus(name: string): { connected: boolean; } | null; getConnections(): McpServerConnection[]; dispose(): Promise; } export declare function getSharedMcpManager(workingDir: string): McpServerManager; //# sourceMappingURL=mcpClient.d.ts.map