UNPKG

il2cpp-dump-analyzer-mcp

Version:

Agentic RAG system for analyzing IL2CPP dump.cs files from Unity games

81 lines (80 loc) 2.11 kB
/** * Tool Registry * Central registry for all MCP tools with factory functions and metadata */ import { ToolExecutionContext } from '../base-tool-handler'; export type { ToolExecutionContext }; /** * Tool metadata interface */ export interface ToolMetadata { name: string; category: 'search' | 'analysis' | 'generation'; description: string; complexity: 'simple' | 'medium' | 'complex'; estimatedExecutionTime: string; requiredParameters: string[]; optionalParameters: string[]; outputFormat: string; examples: string[]; } /** * Tool factory function type */ export type ToolFactory = (server: any, context: ToolExecutionContext) => any; /** * Tool registry entry */ export interface ToolRegistryEntry { factory: ToolFactory; metadata: ToolMetadata; } /** * Complete tool registry with all refactored tools */ export declare const TOOL_REGISTRY: Record<string, ToolRegistryEntry>; /** * Register all tools with the MCP server */ export declare function registerAllTools(server: any, context: ToolExecutionContext): void; /** * Get tool metadata by name */ export declare function getToolMetadata(toolName: string): ToolMetadata | null; /** * Get all tools by category */ export declare function getToolsByCategory(category: 'search' | 'analysis' | 'generation'): string[]; /** * Get tool usage examples */ export declare function getToolExamples(toolName: string): string[]; /** * Validate tool exists */ export declare function isValidTool(toolName: string): boolean; /** * Get all tool names */ export declare function getAllToolNames(): string[]; /** * Get tools by complexity */ export declare function getToolsByComplexity(complexity: 'simple' | 'medium' | 'complex'): string[]; /** * Tool registry statistics */ export declare function getRegistryStatistics(): { totalTools: number; byCategory: { search: number; analysis: number; generation: number; }; byComplexity: { simple: number; medium: number; complex: number; }; averageParameterCount: number; };