il2cpp-dump-analyzer-mcp
Version:
Agentic RAG system for analyzing IL2CPP dump.cs files from Unity games
81 lines (80 loc) • 2.11 kB
TypeScript
/**
* 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;
};