/** * [WHO]: createMCPTool(), loadMCPTools(), getMCPToolDisplayName() * [FROM]: Depends on extensions, mcp-client, mcp-guidance * [TO]: Consumed by core/mcp/index.ts, core/mcp/mcp-manager.ts * [HERE]: core/mcp/mcp-adapter.ts - adapts MCP tools to Catui tool system */ import type { ToolDefinition } from "../extensions-host/index.js"; import type { MCPClient } from "./mcp-client.js"; import type { MCPTool } from "./mcp-types.js"; /** * Build a short, scenario-oriented guidance string for the system prompt. * * Distinct from `description` (which tells the LLM what the tool *does*). * `guidance` tells the LLM *when* to reach for it, framed as a user-observable * intent. Server id and bare tool name (after `/`) are passed through * so callers can refine later (e.g. schema-aware hints in * `mcp-tool-schema-aware-description`). * * Kept short on purpose: longer prose wastes prompt budget and dilutes the * signal across many tools. */ export declare function buildMcpToolGuidance(serverId: string, rawToolName: string, inputSchema?: unknown): string; /** * Create a Catui ToolDefinition from an MCP tool definition */ export declare function createMCPTool(mcpClient: MCPClient, mcpTool: MCPTool): ToolDefinition; /** * Load all MCP tools as Catui ToolDefinitions */ export declare function loadMCPTools(mcpClient: MCPClient): Promise; /** * Get a human-readable display name for an MCP tool */ export declare function getMCPToolDisplayName(mcpTool: MCPTool): string;