Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/malkreide/termdat-mcp/claude-mdgit clone --depth 1 https://github.com/malkreide/termdat-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/malkreide/termdat-mcp/claude-md)<a href="https://agentmods.dev/instructions/malkreide/termdat-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/malkreide/termdat-mcp/claude-md.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.06303 | $0.06303 |
| Opus 5 | $0.03152 | $0.03152 |
| Sonnet 5 | $0.01261 | $0.01261 |
| Haiku 4.5 | $0.00630 | $0.00630 |
Grade A, and why
termdat-mcp CLAUDE.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
Token aus der Umgebung in einen curl-Header zu setzen, blockiert der This is a copy
80% identical to zurich-opendata-mcp CLAUDE.md — 183 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 465 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
Teil 1 — Portfolio-Konventionen
Vor der Arbeit
Klon-Aktualität prüfen — Standard-Branch ermitteln, nicht main annehmen:
B=$(git ls-remote --symref origin HEAD | sed -n 's|^ref: refs/heads/\([^[:space:]]*\).*|\1|p')
git fetch origin "${B:?Standard-Branch nicht ermittelbar}" &&
git rev-list --count HEAD..FETCH_HEAD
Drei Server im Portfolio heissen ihren Standard-Branch master
(openlex-mcp, swiss-courts-mcp, swisstopo-mcp); dort scheitert ein fest
verdrahtetes origin/main mit «couldn't find remote ref main». Wer das für ein
Netzproblem hält, arbeitet weiter auf genau dem veralteten Klon, vor dem dieser
Absatz warnt. Den :?-Schutz nicht weglassen: Bei leerem B fetcht git still
den Remote-HEAD und endet mit 0.
Ein veralteter Klon erzeugt eine rote CI, deren Ursache nicht im Diff steht. Am 3.8.2026 zweimal passiert — beide Male fehlten genau die Commits, die das Gate einführten, an dem der Branch scheiterte.
Gates lokal fahren, mit der GEPINNTEN ruff-Version aus der CI. Eine andere Version meldet Abweichungen, die niemand verursacht hat.
Tests
Gegenprobe ist Pflicht. Ein Test, der grün bleibt, wenn man die Implementierung entfernt, prüft nichts. Jede neue Zusicherung einzeln neutralisieren und zeigen, dass genau die zugehörigen Tests fallen.
Zwei Fallen, die beide grün blieben:
- Eine Fake-Uhr, die nur beim Schlafen vorrückt, kann eine Zusicherung über echte Zeit nicht widerlegen.
monkeypatch.setattr(modul.asyncio, "sleep", ...)greift ins Modulasyncioselbst und entschärft die Mechanik im ganzen Prozess. Patche einen Modul-Alias (_sleep = asyncio.sleep), nicht das fremde Modul.
Handgeschriebene Fixtures kodieren die Annahme des Autors und können sie nicht widerlegen. Mindestens eine aufgezeichnete Antwort pro externem Endpunkt, mit Aufnahmedatum.
Wenn etwas rot ist
Roter Live-Test: erst die Quelle abfragen, dann einordnen. Nicht aus der Fehlermeldung schliessen. Am 3.8.2026 hiess "nicht gefunden" nicht, dass der Datensatz weg war, sondern dass die Quelle die Schreibweise ihrer Kopfzeile gewechselt hatte — vier von sechs Datensätzen produktiv kaputt, alle Unit-Tests grün.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 465 lines · 6,303 tokens per session scan A 4aa8df5e9087
termdat-mcp CLAUDE.md is an instructions file published in the GitHub repository malkreide/termdat-mcp (1 stars, last pushed 3d ago), licensed MIT. It adds 6,303 tokens to every session, about $0.0315 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). It is 80% identical to zurich-opendata-mcp CLAUDE.md, differing in 183 lines, and is treated as a copy.
Other instructions, from other repositories
lobbywatch-mcp CLAUDE.md
Claude Code instructions for malkreide/lobbywatch-mcp, covering claude.md, teil 1 — portfolio-konventionen, vor der arbeit, tests and wenn etwas rot ist.
swiss-public-data-mcp CLAUDE.md
Instructions for malkreide/swiss-public-data-mcp, covering project conventions for claude, how verification works here, check the result, not the activity, run the check that counts, not the one you know and the ruff pin: one source per repository.
swiss-housing-mcp CLAUDE.md
Claude Code instructions for malkreide/swiss-housing-mcp, covering claude.md, teil 1 — konventionen (portfolio-weit), vor der arbeit, tests and wenn etwas rot ist.
bakom-mcp CLAUDE.md
Claude Code instructions for malkreide/bakom-mcp, covering claude.md, teil 1 — portfolio-weite konventionen, vor der arbeit, tests and wenn etwas rot ist.
openlex-mcp CLAUDE.md
Claude Code instructions for malkreide/openlex-mcp, covering claude.md, teil 1 — portfolio-konventionen, vor der arbeit, tests and wenn etwas rot ist.
swiss-snb-mcp CLAUDE.md
Claude Code instructions for malkreide/swiss-snb-mcp, covering claude.md, teil 1 — konventionen (portfolio-weit), vor der arbeit, tests and wenn etwas rot ist.