import { Tool } from "@modelcontextprotocol/sdk/types.js"; import { OpenAPISpecLoader } from "./openapi-loader"; import { OpenAPIMCPServerConfig } from "./config"; import { OpenAPIV3 } from "openapi-types"; /** * Manages the tools available in the MCP server */ export declare class ToolsManager { private config; private tools; private specLoader; private loadedSpec?; private logger; constructor(config: OpenAPIMCPServerConfig); private toolHasMatchingTag; /** * Get the OpenAPI spec loader instance */ getSpecLoader(): OpenAPISpecLoader; /** * Get the loaded OpenAPI specification */ getOpenApiSpec(): OpenAPIV3.Document | undefined; /** * Create dynamic discovery meta-tools */ private createDynamicTools; /** * Initialize tools from the OpenAPI specification */ initialize(): Promise; /** * Get all available tools */ getAllTools(): Tool[]; /** * Get all available tools with their IDs * Returns array of [toolId, tool] pairs */ getToolsWithIds(): [string, Tool][]; /** * Find a tool by ID or name */ findTool(idOrName: string): { toolId: string; tool: Tool; } | undefined; /** * Get the path and method from a tool ID * * Note: This converts hyphens back to slashes to reconstruct the original API path. * This is consistent with ApiClient.parseToolId() which needs the actual path for HTTP requests. */ parseToolId(toolId: string): { method: string; path: string; }; }