/** * CLI MCP Client * * Thin wrapper for calling MCP tools from CLI commands. * Implements ADR-005: MCP-First API Design - CLI as thin wrapper around MCP tools * * Tool modules are lazy-loaded on first use to avoid pulling ~300 tools' * transitive dependencies into the heap at import time. */ import type { MCPTool } from './mcp-tools/types.js'; export declare function isToolDisabled(toolName: string, cwd?: string): boolean; /** * MCP Client Error */ export declare class MCPClientError extends Error { toolName: string; cause?: Error | undefined; constructor(message: string, toolName: string, cause?: Error | undefined); } /** * Call an MCP tool by name with input parameters */ export declare function callMCPTool(toolName: string, input?: Record, context?: Record): Promise; /** * Get tool metadata by name */ export declare function getToolMetadata(toolName: string): Promise | undefined>; /** * List all available MCP tools (loads all categories on first call) */ export declare function listMCPTools(category?: string): Promise & { enabled: boolean; }>>; /** * Return all registered tools including their handler functions, excluding * any disabled via `mcp toggle`. Loads all categories on first call. */ export declare function getAllMCPTools(): Promise; /** * On-demand discovery of hidden MCP tools — backs the `monomind_tool_search` * MCP tool. Loads every category, then returns full schemas for tools not in * the default advertised roster (non-core categories plus tools hidden by * CORE_HIDDEN_TOOLS), ranked by relevance to `query`. This is what keeps the * roster shrink from becoming a capability loss: a tool hidden from * `tools/list` remains findable (and directly callable) by keyword. */ export declare function searchNonCoreTools(query: string, category?: string, limit?: number): Promise & { category: string; }>>; /** * Check if an MCP tool exists (checks loaded categories + known prefixes) */ export declare function hasTool(toolName: string): Promise; /** * Get all tool categories */ export declare function getToolCategories(): Promise; /** * Validate tool input against schema */ export declare function validateToolInput(toolName: string, input: Record): Promise<{ valid: boolean; errors?: string[]; }>; declare const _default: { callMCPTool: typeof callMCPTool; getToolMetadata: typeof getToolMetadata; listMCPTools: typeof listMCPTools; hasTool: typeof hasTool; getToolCategories: typeof getToolCategories; validateToolInput: typeof validateToolInput; MCPClientError: typeof MCPClientError; }; export default _default; //# sourceMappingURL=mcp-client.d.ts.map