smartlead-mcp-server
Version:
MCP server for Smartlead campaign management integration. Features include creating campaigns, updating campaign settings, and managing campaign sequences.
51 lines (50 loc) • 1.59 kB
TypeScript
import { CategoryTool } from '../types/common.js';
/**
* Tool Registry manages the registration and querying of all available tools.
* It provides a central place to register, filter, and retrieve tools by various criteria.
*/
export declare class ToolRegistry {
private tools;
private cachedEnabledTools;
private lastCacheTime;
private readonly CACHE_TTL;
/**
* Register a single tool in the registry
*/
register(tool: CategoryTool): void;
/**
* Register multiple tools at once
*/
registerMany(tools: CategoryTool[]): void;
/**
* Get a tool by its name
*/
getByName(name: string): CategoryTool | undefined;
/**
* Get all tools that belong to a specific category
*/
getByCategory(category: string): CategoryTool[];
/**
* Get all registered tools
*/
getAllTools(): CategoryTool[];
/**
* Get all tools that are enabled based on the license and configuration
* This method now returns a subset based on the current license
*/
getEnabledToolsAsync(): Promise<CategoryTool[]>;
/**
* Get enabled tools (synchronous version, falls back to configuration)
* This is used for backward compatibility
*/
getEnabledTools(): CategoryTool[];
/**
* Check if a tool with the given name exists in the registry
*/
hasToolWithName(name: string): boolean;
/**
* Check if a tool belongs to the specified category
*/
isToolInCategory(name: string, category: string): boolean;
}
export declare const toolRegistry: ToolRegistry;