Standalone stdio MCP server exposing ANVIL (a second brain over an Obsidian vault) to the Claude Code CLI. Provides retrieval, complaint filing, and inbox status tools for adaptive recall and vault management.
Mixed quality across 10 tools. Strengths: all tools have descriptions (10-200+ chars), most have input schemas with type definitions, and naming follows verb_noun patterns (retrieve, complain, calendar_overview, task_add, task_list, task_move). Weaknesses: descriptions are often verbose and German-language (calendar_tools), some parameters lack descriptions (inbox_status has empty input schema), output schemas are not documented, and error handling is minimal. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. retrieve and complain descriptions are vague about what they return. task_move description is clear but lacks output schema documentation.
Termine aus dem Kalender-Cache auflisten: die nächsten `days` Tage (Default 7), optional ab einem Startdatum und auf einen Kalender gefiltert. Liefert pro Termin Zeit, Titel, Kalender und Ort.
Freie Blöcke und belegte Stunden für einen Tag (oder mehrere Tage) aus dem Kalender-Cache — Wachfenster LOOM_CAL_DAY_START/END, 30-min-Raster. Für Fragen wie »Wann habe ich morgen Zeit für 2 h Lernen?«.
Workload-Überblick über die nächsten Tage aus dem Kalender-Cache: Termine, belegte Stunden pro Tag, freie Blöcke (30-min-Raster im Wachfenster), anstehende Klausuren mit Countdown und Sync-Warnungen. Nutze dies zuerst für Fragen wie »Was steht morgen an?« oder »Wie voll ist die Woche?«.
Schlägt konkrete Lernblöcke für die nächsten Tage vor (Klausur-Countdowns + freie Blöcke + Profil-Budgets) und legt sie in die Bestätigungs-Queue. Es wird NICHTS direkt in den Kalender geschrieben — der Nutzer bestätigt die nummerierte Liste per »1 3«/»alle«/»keine«. Nur auf ausdrücklichen Wunsch aufrufen (»plan mir Lernblöcke«), nie automatisch.
File a complaint by hand.
inbox_status has empty input schema (no properties defined), LLM cannot infer what parameters it accepts or whether any are required.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., task_id from task_add, event_id from calendar_events). Breaks tool chaining.
retrieve and complain descriptions are vague. 'Adaptive recall: build context from the vault, answer, cite notes, and file a builder-inbox complaint on a scope-miss' does not clearly state what the tool returns or when to use it vs other tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
What the builder still has queued / has done.
Adaptive recall: build context from the vault, answer, cite notes, and file a builder-inbox complaint on a scope-miss.
Eine Aufgabe auf dem Kanban-Board anlegen (»merk dir als Aufgabe«). Sie landet als Notiz in todo/ im Vault. Optional: due (YYYY-MM-DD), priority (1=hoch, 2=normal, 3=niedrig), project ([[Wikilink]]), effort (z. B. 45m).
Aufgaben vom Kanban-Board auflisten. Ohne status kommen die OFFENEN Aufgaben (todo + working, sortiert due → priority → created); status todo|working|done filtert auf eine Spalte, status alle zeigt alles. Jede Zeile endet mit dem Datei-Pfad, den task_move als `file` braucht.
Eine Aufgabe in eine andere Kanban-Spalte verschieben (todo|working|done). `file` ist der Pfad relativ zum Kanban-Ordner, wie ihn task_list liefert (z. B. todo/steuererklärung.md). Nicht-destruktiv und reversibel — die Notiz wechselt nur den Ordner, done/ ist Archiv und wird nie gelöscht.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications (READ_ONLY, WRITE, REVERSIBLE). LLMs cannot infer safety properties from names alone.
German-language descriptions in calendar_tools (calendar_overview, calendar_events, calendar_freebusy, calendar_propose_blocks) may confuse English-speaking LLMs or cause encoding issues in some clients.