Skip to content

Plan MCP Layer

MadGapun edited this page Jun 2, 2026 · 8 revisions

Plan H — MCP-Layer & Diagnose

Issue-Level-Detail zu Cluster H aus dem Master-Plan. Stand: 2026-06-02 (beta.90) · 171 Tools, 24 Prompts.

H1 — FastMCP-Server-Setup

Sub Funktion Issue Code Status
H1.1 FastMCP-Server-Initialisierung in server.py dito
H1.2 11 Tool-Module mit register(mcp, db, logger)-Pattern tools/*.py
H1.3 Modulare Aufteilung: profil / dokumente / jobs / bewerbungen / suche / kontakte / export_tools / analyse / tasks / workflows / elwosa dito
H1.4 Server-Instructions in server.py (Anti-DB-Bypass-Pattern, Bulk-Empfehlung) #514 dito
H1.5 Tool-Counts per Modul (siehe test_mcp_registry.py) dito

H2 — 171 MCP-Tools (volle UI-Parity)

Tools je Modul (Stand beta.90, verifiziert via test_mcp_registry.py):

Modul Tool-Count Beispiele
bewerbungen 30 bewerbung_erstellen, bewerbung_status_aendern, nachfass_planen, follow_up_erledigen, ...
analyse 27 fit_analyse, firmen_recherche, gehalt_marktanalyse, stilarchiv_*, pbp_capabilities, pbp_diagnose, ...
jobs 26 stellen_anzeigen, stelle_bewerten, stellen_bulk_bewerten, stelle_reaktivieren (#664), stelle_wiedergaenger_pruefen (#671), ...
dokumente 22 dokumente_zur_analyse, dokument_archivieren/reaktivieren (#657), dokumente_routing_plan_erstellen (#643), ...
profil 20 profil_status, skill_zeitraum_*, profile_auflisten, ...
kontakte 14 kontakt_anlegen, kontakte_aus_bestand_importieren, ...
suche 12 suchkriterien_setzen (inkl. keywords_minus #667), suchprofile_auflisten, blacklist_*, ...
export_tools 7 bewerbungsbericht_exportieren, lebenslauf_angepasst_exportieren, ...
elwosa 6 elwosa_lesen, elwosa_schreiben, elwosa_pause, elwosa_tonfall, ...
tasks 4 todo_anlegen, todos_anzeigen, todo_erledigen, todo_reaktivieren (#666)
workflows 3 workflow_starten, ersterfassung_starten, ...

Gesamt: 171. Die System-/Diagnose-Tools (pbp_*) sind im analyse-Modul registriert. Verlauf seit beta.74: +stelle_reaktivieren (beta.82), +stelle_wiedergaenger_pruefen (beta.86), +Doku-Lifecycle- und Routing-Tools (#657/#643), +Tasks-Modul (#666).

Vollstaendige Liste: MCP-Tools.

H3 — 24 Prompts (vorgefertigte Workflow-Starter)

Prompt Zweck
ersterfassung_starten First-Run-Wizard fuer neuen User
kennlerngespraech_abschliessen Nach Interview: strukturierte Reflexion
recruiter_anfrage_ablehnen Inbound-Anfrage hoeflich ablehnen
analyse_plan_erstellen Stelle vs. Profil tieferer Analyse-Plan
antwort_formulieren Mail-Antwort generieren
bewerbungsbericht_exportieren Bericht-Export starten
/dokumente_verarbeiten (#634) Doku-Routing-Workflow
/profil_erweiterung Profil-Power-User-Workflow
Elwosa-Bridges (5) Elwosa lesen/schreiben/pausieren/Tonfall/Linie-vorschlagen
... ...

Pflege: prompts.py.

H4 — pbp_capabilities

Sub Funktion Issue Code Status
H4.1 Kuratierte Tool-Uebersicht nach Use-Cases #514 tools/analyse.py
H4.2 Kategorien: profil / jobsuche / bewerbungen / dokumente / kalender / analyse / export / workflows / einstellungen / system #514 dito
H4.3 Detail-View pro Kategorie #514 dito
H4.4 Zweck: Claude soll ZUERST hier nachsehen statt auf andere MCPs ausweichen #514

H5 — pbp_diagnose

Sub Funktion Issue Code Status
H5.1 DB-Konsistenz-Check (Profil, Stellen, Bewerbungen, Dokumente) mehrere tools/analyse.py
H5.2 Doku-Integrity-Check (DB-Eintrag vs. Datei auf Disk) #441 dito
H5.3 Auto-Fix bei auto_fix=True (z.B. Datei-Pfade reparieren) #441 dito
H5.4 Strukturierte Ausgabe: probleme[], warnungen[], info[] + zusammenfassung dito
H5.5 Zusaetzlich: Pipeline-Stats (Aktive Stellen, Bewerbungen-Pipeline) dito

H6 — pbp_mcp_diagnose (Tool-Call-Telemetrie)

Sub Funktion Issue Code Status
H6.1 Ring-Buffer der letzten N Tool-Calls mit Dauer + Status + args_summary #636 tools/analyse.py
H6.2 Filter: nur_langsame (default >= 5s) #636 dito
H6.3 Server-PID + Plattform-Info im Output #636 dito
H6.4 Slow-Call-WARNING ins Server-Log (>= 5s) #636 heartbeat.py
H6.5 Hilft Timeout-Diagnose: war Tool-Call gar nicht angekommen (Transport-Bug) oder hat er gehangen (Code-Bug) #636

H7 — pbp_grenze_melden

Sub Funktion Issue Code Status
H7.1 Edge-Case-Reporter wenn Claude ein nicht-existierendes Tool braucht #514 tools/system.py
H7.2 Speichert Beschreibung + Kontext als potentielles GitHub-Issue #514 dito
H7.3 Verhindert dass Claude auf Filesystem/sqlite-MCP-Workarounds ausweicht #514

H8 — scraper_diagnose

Sub Funktion Issue Code Status
H8.1 Liste aller 24+ Scraper mit Health-Status #432 tools/jobs.py
H8.2 Pro Scraper: letzter Lauf, letzter Erfolg, Fehler-Serie, Erfolgsrate #432 dito
H8.3 defekte_quellen mit Grund + manuellem Fallback-URL #432 dito
H8.4 auto_deaktiviert Liste mit Reaktivierungs-Tipp #432 dito
H8.5 Aktion reaktivieren setzt Counter zurueck #432 dito

H9 — Anti-DB-Bypass-Pattern

Sub Funktion Issue Code Status
H9.1 Server-Instructions in server.py machen es explizit #514 dito
H9.2 DB-Helper dismiss_job, restore_job, save_jobs, update_job als einzige Mutations-Pfade #514 database.py
H9.3 Lifecycle-Logik (Audit-Log, dismiss_counts, Lerneffekt, Statistik) nur durch diese Pfade konsistent #514 dito
H9.4 update_job-Whitelist _ALLOWED_UPDATE_FIELDS zur Defense dito

H10 — Slow-Call-WARNING

Sub Funktion Issue Code Status
H10.1 Heartbeat-Decorator misst pro Tool-Call die Dauer #636 heartbeat.py
H10.2 Bei duration >= 5s Server-Log-WARNING mit args_summary #636 dito
H10.3 Im pbp_mcp_diagnose sichtbar #636 tools/analyse.py

H11 — Wall-Clock-Budget fuer Bulk-Tools (beta.74)

Sub Funktion Issue Code Tests Status
H11.1 stellen_auto_aussortieren Hard-Cap 10 + 180s-Budget #646 tools/jobs.py tests/test_v17_bulk_timeout_646.py
H11.2 stellen_bulk_bewerten 90s-Budget #646 dito dito
H11.3 status='teilweise' / status='timeout' mit Teil-Ergebnis statt stillem Haengen #646 dito dito
H11.4 Idempotent fortsetzbar (erneut aufrufen = Reste bearbeiten) #646 dito dito
H11.5 Generelles Pattern: bei jedem zukuenftigen Bulk/LLM-Tool einbauen

H12 — pbp_capabilities Tool-Count-Sync (beta.75)

Sub Funktion Issue Code Status
H12.1 tools_gesamt + tools_kuratiert getrennt in Response #647 tools/analyse.py
H12.2 Hinweis-Text wenn Diskrepanz vorhanden #647 dito
H12.3 Test in test_v17_optimierungen_beta75.py: getrennte Counts + ueberblick-Text #647 dito

Akzeptanzkriterium

Pro Sub-Position gilt:

  1. Code im Repo (Pfad in Tabelle).
  2. Tests gruen (Test-Datei in Tabelle wo relevant).
  3. Wiki-Eintrag in MCP-Tools, Architektur oder FAQ.

Clone this wiki locally