berichtsheft-mcp
Reads a Hermes state.db to collect what you worked on during a given ISO week, bucketed by day and work/school hours.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@berichtsheft-mcp Collect last week's Hermes logs and draft my Berichtsheft entries."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
berichtsheft-mcp
MCP server (stdio) for the BLok online Berichtsheft.
collect_week(week)– reads a Hermesstate.dband returns what you worked on during a given ISO week, bucketed by day and by your work/school hours. Raw data only; your agent turns it into bullet points.fill_week(week, entries, locations=None, dry_run=False)– logs into BLok with headless Playwright and appends lines per weekday (BLok Tagesformat):entries={"thursday": ["..."]},locations={"thursday": "betrieb"}(schule,betrieb,ueberbetrieblich). Never overwrites, skips lines that already exist, returns a screenshot path. Requires "Wochenformat aktivieren" to be off in BLok's Benutzereinstellungen.
Intended flow: cron job collects on Friday → agent drafts → human approves → fill_week.
Setup
uv sync
mkdir -p ~/.config/berichtsheft
cp .env.example ~/.config/berichtsheft/.env && chmod 600 ~/.config/berichtsheft/.env
# edit it; either set CHROMIUM_PATH or run: uv run playwright install chromiumMCP client config (Hermes config.yaml):
mcp_servers:
berichtsheft:
command: uv
args: [--directory, /path/to/berichtsheft-mcp, run, berichtsheft-mcp]Related MCP server: time-tracker-ai-mcp
Config (~/.config/berichtsheft/.env)
Var | Example |
| your BLok login |
|
|
|
|
| default |
| optional, e.g. |
| default |
Test
uv run pytestMIT
Available Tools
2 toolscollect_weekA
Rohdaten einer ISO-Woche (z.B. '2026-W39') aus der Hermes-Session-DB.
Gibt pro Wochentag die Sessions im Zeitfenster 'betrieb' (WORK_HOURS) bzw. 'schule' (SCHOOL_HOURS) zurück: Titel, User-Nachrichten, letzte Antwort. Ungefiltert und unzusammengefasst: der Aufrufer muss Privates aussortieren und daraus Stichpunkte machen.
Inputs: week (required).
fill_weekA
Trägt Stichpunkte in die BLok-Woche ein (ISO-Woche, z.B. '2026-W39').
entries = {"betrieb": [...], "themen": [...], "schule": [...]}, je ein Stichpunkt pro Zeile. Bestehende Zeilen werden nie überschrieben, identische übersprungen. Nur nach ausdrücklicher Freigabe durch den Nutzer aufrufen. dry_run=True loggt nur ein und zeigt, was eingetragen würde.
Inputs: week (required), entries (required), dry_run.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
The two tools have clearly distinct roles: collect_week reads raw session data, while fill_week writes summarized bullet points into the report book. Their inverse read/write purposes are unambiguous and complementary.
Both names follow the same verb_noun pattern (collect_week, fill_week) and share the same noun, making the set predictable and easy to scan.
With only 2 tools, the surface feels thin even for a narrow weekly-report workflow; a read/inspect tool for existing entries or an update capability would help justify a slightly larger set.
The core collect-then-fill lifecycle is covered, but there is no way to read back what has already been entered, update non-duplicate existing lines, or delete entries. These are notable gaps, though the dry_run and duplicate-skipping behavior partially mitigates them.
Maintenance
Related MCP Connectors
Privacy-first work tracking with summaries, reports, coaching, and AI-ready long-term memory.
Log time on GitHub issues and pull requests: timers, entries, missing days, client hours.
Pomodoro work sessions from your AI chat: timed focus blocks, session logs.
Track time in Clockify: time entries, projects, clients, tags and reports; start, stop and log time.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables recording, querying, and summarizing daily work entries with tags using a local SQLite database. Supports work logging, search, timeline queries, tag management, and automated reminders for tracking daily tasks.-
- AlicenseAqualityCmaintenanceEnables tracking work time with start/stop timers, logging entries, and generating reports.48 npm28 PyPIMIT
- FlicenseNot gradedqualityDmaintenanceAutomatically collects work data from Git history and Claude Code session logs to generate daily worklog drafts, and registers approved logs to the Waple HR platform.-
- FlicenseNot gradedqualityCmaintenanceLogs work entries to daily Markdown files and sends summaries to Telegram automatically at 11 PM or on demand.-