# MCP Tools Kategorien-Struktur

Diese Struktur organisiert alle MCP Tools in logische Kategorien für bessere Wartbarkeit und Übersichtlichkeit.

## Kategorien-Übersicht

### 🔍 Analysis
**Zweck**: Code-Analyse und Framework-Debugging
**Tools**: RouteDebugger, ContainerInspector, EventFlowVisualizer, MiddlewareChainAnalyzer, DependencyAnalysisTools, CodeQualityTools

### 🗄️ Database
**Zweck**: Datenbank-Verwaltung und -Optimierung
**Tools**: DatabaseTools, DatabaseOptimizationTools

### 🔒 Security
**Zweck**: Sicherheits-Analyse und -Monitoring
**Tools**: SecurityAuditTools, SecurityConfigurationTools, SecurityMonitoringTools

### ⚡ Performance
**Zweck**: Performance-Monitoring und -Optimierung
**Tools**: PerformanceTools, CacheTools

### 🛠️ Development
**Zweck**: Entwicklungs-Support und Testing
**Tools**: TestingTools, HotReloadTool, FrameworkAgents, FrameworkTools

### 🖥️ System
**Zweck**: System-Verwaltung und Dateisystem
**Tools**: FileSystemTools, LogTools

## Migration Plan

### Phase 2: Tool-Refactoring
1. ✅ **Kategorien-Struktur erstellt**
2. 🔄 **Aktuell**: Tools in entsprechende Kategorien verschieben
3. 🔄 **Geplant**: Composition-Pattern implementieren
4. 🔄 **Geplant**: Shared Services integrieren

### Refactoring-Prinzipien
- **Composition over Inheritance**: Verwendung der neuen Service-Klassen
- **Dependency Injection**: McpToolContext für alle Services
- **Single Responsibility**: Ein Tool pro spezifische Aufgabe
- **Type Safety**: Verwendung der neuen Value Objects und Enums

## Integration mit neuer Architektur

Alle Tools werden das neue Pattern verwenden:

```php
final readonly class ExampleTool
{
    public function __construct(
        private McpToolContext $context
    ) {}

    #[McpTool(name: 'example_tool', description: 'Example tool')]
    public function executeTool(string $parameter): array
    {
        // Automatische Schema-Validation durch McpToolContext
        // Automatisches Error Handling
        // Automatisches Caching wenn konfiguriert
        // Einheitliche Result-Formatierung

        return ['result' => 'success'];
    }
}
```

## Status

🔄 **Phase 2 in Arbeit**: Kategorien-Struktur erstellt, Tools werden migriert.