namespace LehrerApp.Desktop.Services.Mcp; /// /// Allowlist der über MCP exponierten Tool-Namen. Dieselbe Absicherung wie /// LehrerApp.Api/PlainEventStore.cs (dort für den Klartext-Sync-Kanal): Gesprächsnotizen, Vorfälle /// und Förderpläne (Documentation/Vorgang) sind hier bewusst nie aufgeführt und werden von keiner /// Tool-Klasse referenziert — ein KI-Client kann diese Daten technisch nicht erreichen, unabhängig /// davon, wie vertrauenswürdig der lokale Modell-Client erscheint oder wie die Tool-Liste künftig /// wächst. registriert nur exakt diese Namen. /// public static class McpToolScope { public static readonly IReadOnlyCollection AllowedReadTools = [ "get_students", "get_exams", "get_grades", "get_schedule", "get_time_entries", "get_lesson_plans", "download_lesson_attachment", "list_letter_templates", "render_letter", ]; /// Write-Tools (Phase 2+3) — jeder Aufruf läuft über , /// bevor irgendetwas geschrieben wird (siehe die jeweilige Tool-Klasse). Absichtlich kleinteilig /// bei Unit/Lesson (create/update_unit, create/update_lesson, add/update/remove_lesson_phase) /// statt eines einzelnen "update_lesson" für die ganze Stunde inkl. Verlaufsplan — siehe /// Begründung in LessonPlanTools. public static readonly IReadOnlyCollection AllowedWriteTools = [ "create_time_entry", "create_grade_entry", "update_student_group_assignment", "create_unit", "update_unit", "create_lesson", "update_lesson", "add_lesson_phase", "update_lesson_phase", "remove_lesson_phase", ]; }