[{"data":1,"prerenderedAt":1315},["ShallowReactive",2],{"blog-token-saving-tools-coding-agents-top-20-de":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":13,"about":25,"sources":35,"cover":96,"og":97,"expertise":98,"locales":99,"lang":101,"title":103,"description":104,"coverAlt":105,"metaTitle":106,"takeaways":107,"faq":113,"toc":126,"blocks":163,"others":1085},"token-saving-tools-coding-agents-top-20","2026-09-28",17,"agents",[9,10,11,12],"Claude Code","token usage","context engineering","developer tools",[14,15,16,17,18,19,20,21,22,23,24,11],"reduce Claude Code token usage","token saving tools for coding agents","rtk token killer","lean-ctx","context-mode MCP","Serena MCP","Repomix compress","MCP tool search","prompt caching","ccusage","coding agent cost",[26,29,32],{"name":27,"url":28},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",{"name":30,"url":31},"Claude (language model)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FClaude_(language_model)",{"name":33,"url":34},"Prompt engineering","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrompt_engineering",[36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93],{"title":37,"url":38},"rtk: a CLI proxy that filters shell output for coding agents (GitHub)","https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk",{"title":40,"url":41},"lean-ctx: context read modes and shell compression for coding agents (GitHub)","https:\u002F\u002Fgithub.com\u002Fyvgude\u002Flean-ctx",{"title":43,"url":44},"context-mode: sandboxed tool output with SQLite FTS5 search (GitHub)","https:\u002F\u002Fgithub.com\u002Fmksglu\u002Fcontext-mode",{"title":46,"url":47},"Serena: semantic code retrieval and editing over MCP (GitHub)","https:\u002F\u002Fgithub.com\u002Foraios\u002Fserena",{"title":49,"url":50},"token-savior: symbol index, memory and bash compaction over MCP (GitHub)","https:\u002F\u002Fgithub.com\u002FMibayy\u002Ftoken-savior",{"title":52,"url":53},"code-review-graph: a code graph for blast-radius reviews (GitHub)","https:\u002F\u002Fgithub.com\u002Ftirth8205\u002Fcode-review-graph",{"title":55,"url":56},"Aider documentation: repository map","https:\u002F\u002Faider.chat\u002Fdocs\u002Frepomap.html",{"title":58,"url":59},"Repomix: pack a repository into one AI-friendly file (GitHub)","https:\u002F\u002Fgithub.com\u002Fyamadashy\u002Frepomix",{"title":61,"url":62},"Context7: up-to-date library documentation for LLMs (GitHub)","https:\u002F\u002Fgithub.com\u002Fupstash\u002Fcontext7",{"title":64,"url":65},"claude-context: hybrid code search MCP (GitHub)","https:\u002F\u002Fgithub.com\u002Fzilliztech\u002Fclaude-context",{"title":67,"url":68},"caveman: terse output modes for coding agents (GitHub)","https:\u002F\u002Fgithub.com\u002FJuliusBrussee\u002Fcaveman",{"title":70,"url":71},"claude-token-efficient: an eight-rule CLAUDE.md (GitHub)","https:\u002F\u002Fgithub.com\u002Fdrona23\u002Fclaude-token-efficient",{"title":73,"url":74},"claude-code-router: a local model gateway for coding agents (GitHub)","https:\u002F\u002Fgithub.com\u002Fmusistudio\u002Fclaude-code-router",{"title":76,"url":77},"ccusage: token and cost reports from local agent logs (GitHub)","https:\u002F\u002Fgithub.com\u002Fryoppippi\u002Fccusage",{"title":79,"url":80},"LLMLingua: prompt compression (Microsoft, GitHub)","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FLLMLingua",{"title":82,"url":83},"ComputingForGeeks: tools that reduce Claude Code token usage, tested (April 2026)","https:\u002F\u002Fcomputingforgeeks.com\u002Freduce-claude-code-token-usage-tools\u002F",{"title":85,"url":86},"Claude Code docs: manage costs effectively","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fcosts",{"title":88,"url":89},"Claude Code docs: MCP, output limits and tool search","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fmcp",{"title":91,"url":92},"Claude API docs: tool search tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Ftool-search-tool",{"title":94,"url":95},"Claude API docs: prompt caching","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fprompt-caching","\u002Fimages\u002Fblog\u002Ftoken-saving-tools-coding-agents-top-20\u002Fcover.webp","\u002Fimages\u002Fblog\u002Ftoken-saving-tools-coding-agents-top-20\u002Fog.jpg","ai-engineer",[100,101,102],"en","de","hu","Top 20 Wege, Tokens bei Coding-Agents zu sparen: rtk, lean-ctx, Serena und mehr, nach Belegen gerankt","rtk, lean-ctx, context-mode, Serena und 16 weitere Token-Sparer für Coding-Agents, nach Belegen gerankt, mit eigenen Messungen an einer echten Nuxt-Codebasis.","Balkendiagramm, das von einem Build-Log mit 15.100 Tokens nach dem Filtern auf etwa 370 Tokens abfällt, unter der englischen Überschrift Top 20 token savers.","20 Token-Spar-Tools für Coding-Agents · Balázs Csorba",[108,109,110,111,112],"Die meisten Prozentangaben von Token-Sparern messen weniger Ausgabe bei den Befehlen, die ein Tool am besten kann, nicht eine kleinere Rechnung. Sie sind Obergrenzen.","Zuerst kommen die kostenlosen Bordmittel: mit \u002Fusage und ccusage messen, zwischen Aufgaben \u002Fclear, das gecachte Präfix stabil halten, MCP-Server ausmisten und den Effort senken.","Shell-Ausgabe war das größte Leck, das ich gemessen habe: Ein Build-Log mit 15.100 Tokens schrumpfte auf etwa 370, ohne eine nützliche Zeile zu verlieren, nur durch das Entfernen von Farbcodes, Warnungen und Routenlisten.","Auf der Leseseite schlägt Symbolnavigation (Code-Intelligence-Plugins, Serena, lean-ctx) das Lesen ganzer Dateien. Repomix --compress kürzte TypeScript in meinem Lauf um 79 %, machte Vue-Dateien aber 30 % größer.","Der einzige unabhängige Direktvergleich, den ich gefunden habe, sieht token-savior, claude-token-efficient und caveman mit 38–43 % vorn, gemessen an einem einzigen Repository.",[114,117,120,123],{"q":115,"a":116},"Welches Tool senkt den Token-Verbrauch von Claude Code am stärksten?","Es gibt nicht das eine Tool, weil jedes an einer anderen Stelle eines Turns ansetzt. Fang mit den kostenlosen Bordmitteln an: \u002Fclear zwischen Aufgaben, ein stabiles Präfix fürs Caching, weniger MCP-Server und niedrigerer Effort. Danach einen Ausgabefilter wie rtk oder context-mode und ein Werkzeug für die Leseseite wie ein Code-Intelligence-Plugin oder Serena ergänzen und vorher und nachher messen.",{"q":118,"a":119},"Spart rtk wirklich 90 % der Tokens?","Bei lauten Befehlen wie Testläufen und Build-Logs entfernt es 60–90 % der Ausgabe, und ein unabhängiger Test hat diese Spanne bestätigt. Bei Befehlen mit ohnehin kurzer Ausgabe spart es fast nichts, und die eingebauten Read-, Grep- und Glob-Tools von Claude Code erreicht es gar nicht. Auf eine ganze Session wirkt es deshalb deutlich schwächer als die Schlagzeile.",{"q":121,"a":122},"Ist es sicher, den Kontext eines Coding-Agents zu komprimieren?","Methoden, die die Struktur erhalten, sind sicher: Rauschen aus Logs filtern, erst Signaturen und dann Funktionskörper lesen, Symbole über einen Language Server nachschlagen. Verlustbehaftete Prompt-Kompression, die einzelne Tokens weglässt, etwa LLMLingua, passt zu Fließtext und Retrieval, aber nicht zu Code, den der Agent exakt bearbeiten muss.",{"q":124,"a":125},"Wie messe ich meinen Token-Verbrauch in Claude Code?","Mit \u002Fusage für die aktuelle Session, inklusive Cache-Trefferquote, und mit \u002Fcontext, um zu sehen, was das Kontextfenster füllt. Für den Verlauf über mehrere Sessions liest ccusage die lokalen Logs und zeigt den Verbrauch nach Tag, Monat, Session oder Fünf-Stunden-Block.",[127,130,133,136,139,142,145,148,151,154,157,160],{"id":128,"title":129},"where-tokens-go","Woher die Tokens eines Agent-Turns kommen",{"id":131,"title":132},"measured","Was ich an dieser Website gemessen habe",{"id":134,"title":135},"ranking","Die Top 20 im Ranking",{"id":137,"title":138},"built-in","Plätze 1–5: Bordmittel, die nichts kosten",{"id":140,"title":141},"output-filters","Plätze 6–8: Tool-Ausgabe filtern, bevor das Modell sie liest",{"id":143,"title":144},"code-navigation","Plätze 9–11: Symbole lesen statt ganzer Dateien",{"id":146,"title":147},"context-hygiene","Plätze 12–13: den Hauptkontext klein halten",{"id":149,"title":150},"indexes","Plätze 14–18: Indizes, Karten und Dokumentation",{"id":152,"title":153},"output-and-routing","Plätze 19–20: Ausgabestil und Routing",{"id":155,"title":156},"skip","Was ich weglassen oder vorsichtig einsetzen würde",{"id":158,"title":159},"starter-stack","Ein Starter-Stack für einen Nachmittag",{"id":161,"title":162},"sources","Quellen",[164,168,182,205,208,227,236,248,249,260,267,278,289,345,348,358,359,362,577,584,646,647,650,665,667,685,687,690,692,726,728,748,749,751,774,776,781,783,786,788,814,815,817,826,828,850,852,858,859,861,869,871,874,875,877,882,884,898,900,914,916,929,931,936,937,939,948,950,958,959,987,988,1014,1022,1023],{"type":165,"content":166},"paragraph",[167],"Die meisten Tipps zum Sparen bei Coding-Agents laufen auf einen Screenshot mit einem Zähler hinaus, auf dem 90 % gespart steht. Ich wollte wissen, welche dieser Tools halten, was sie versprechen. Also habe ich die READMEs und Benchmarks von mehr als zwanzig Token-Sparern durchgearbeitet, sie mit dem einzigen unabhängigen Direktvergleich abgeglichen, den ich finden konnte, und zwei der Ideen an der Codebasis dieser Website selbst gemessen. Herausgekommen ist dieses Ranking.",{"type":165,"content":169},[170,171,176,177,181],"Das Ranking ist für Claude Code geschrieben, weil ich damit arbeite und die offizielle Dokumentation dort am konkretesten ist. Die meisten Tools auf der Liste lassen sich aber auch in Cursor, Codex, OpenCode oder jeden anderen Agent einbinden, der MCP spricht oder Shell-Hooks ausführt. Warum die Kontextgröße Kosten und Qualität zugleich bestimmt, erklären ",{"tag":172,"to":173,"children":174},"link","\u002Fblog\u002Fagents-md-skills-mcp-cli-decision-matrix",[175],"Context Engineering für Coding-Agents"," und ",{"tag":172,"to":178,"children":179},"\u002Fblog\u002Fllm-cost-latency-prompt-caching-routing",[180],"Prompt Caching und Model Routing",".",{"type":183,"variant":184,"title":185,"body":186},"callout","warn","Jede Prozentzahl zweimal lesen",[187,194],[188,189,193],"Ein Tool, das 90 % der Ausgabe von ",{"tag":190,"children":191},"code",[192],"git diff"," entfernt, hat deine Rechnung nicht um 90 % gesenkt. Tool-Ausgabe ist nur ein Teil eines Turns, der Rest sind das gecachte Präfix, der Gesprächsverlauf und die Ausgabe des Modells selbst. Die meisten READMEs messen, wie viel kürzer die Ausgabe bei den Befehlen wird, die das Tool am besten kann, oft mit Bytes geteilt durch vier als Token-Schätzung.",[195,196,200,201,204],"In diesem Artikel heißt ",{"tag":197,"children":198},"strong",[199],"angegeben",", dass die Zahl vom Projekt selbst stammt, und ",{"tag":197,"children":202},[203],"gemessen",", dass sie aus einem unabhängigen Test oder meinem eigenen Lauf kommt. Wo ich weiß, welcher Tokenizer oder welche Schätzung verwendet wurde, steht es dabei.",{"type":206,"level":207,"id":128,"text":129},"heading",2,{"type":165,"content":209},[210,211,214,215,218,219,222,223,226],"Jede Anfrage eines Agents enthält vier Arten von Tokens, und jedes Tool auf dieser Liste setzt bei einer davon an. Das ",{"tag":197,"children":212},[213],"Präfix"," sind System-Prompt, Tool-Definitionen und CLAUDE.md. ",{"tag":197,"children":216},[217],"Lesen"," umfasst die Dateien und Suchtreffer, die der Agent lädt, um den Code zu verstehen. ",{"tag":197,"children":220},[221],"Tool-Ausgabe"," ist alles, was Shell-Befehle, Testrunner und MCP-Server zurückgeben. ",{"tag":197,"children":224},[225],"Modellausgabe"," sind Thinking und Antwort. Alle vier sammeln sich im Verlauf, und der wird mit jedem Turn erneut gesendet.",{"type":228,"attrs":229,"inner":233,"caption":234},"diagram",{"viewBox":230,"role":231,"aria-labelledby":232},"0 0 720 372","img","d1-tok-t d1-tok-d","\u003Ctitle id=\"d1-tok-t\">Woher die Tokens eines Turns kommen\u003C\u002Ftitle>\u003Cdesc id=\"d1-tok-d\">Vier Spalten. Präfix: Tool-Definitionen und CLAUDE.md, gesenkt durch Tool Search, weniger MCP-Server, CLI statt MCP, eine schlanke CLAUDE.md und ein stabiles Präfix fürs Caching. Lesen: Dateien und Suchtreffer, gesenkt durch Code Intelligence, Serena und lean-ctx, token-savior, Repo-Maps und Repomix sowie claude-context. Tool-Ausgabe: Shell, Tests und MCP, gesenkt durch rtk, context-mode, eigene Hooks, ein Limit für MCP-Ausgabe und Subagents. Modellausgabe: Thinking und Antworten, gesenkt durch Effort, Modellwahl, Haiku für Subagents, caveman und knappe Stilregeln. Darunter ein Balken: Der Verlauf wird in jedem Turn erneut gesendet und bleibt mit clear, compact und Subagents klein und durch ein stabiles, gecachtes Präfix günstig.\u003C\u002Fdesc>\u003Ctext x=\"20\" y=\"28\" class=\"d-title\">Woher die Tokens eines Turns kommen\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"28\" text-anchor=\"end\" class=\"d-label\">und was sie senkt\u003C\u002Ftext>\u003Crect x=\"20\" y=\"46\" width=\"164\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"102\" y=\"73\" text-anchor=\"middle\" class=\"d-text\">Präfix\u003C\u002Ftext>\u003Ctext x=\"102\" y=\"95\" text-anchor=\"middle\" class=\"d-small\">Tools, CLAUDE.md\u003C\u002Ftext>\u003Cpath d=\"M102 110 V124\" class=\"d-line\" \u002F>\u003Crect x=\"20\" y=\"124\" width=\"164\" height=\"150\" rx=\"10\" class=\"d-box d-dash\" \u002F>\u003Ctext x=\"102\" y=\"152\" text-anchor=\"middle\" class=\"d-small\">Tool Search\u003C\u002Ftext>\u003Ctext x=\"102\" y=\"178\" text-anchor=\"middle\" class=\"d-small\">weniger MCP-Server\u003C\u002Ftext>\u003Ctext x=\"102\" y=\"204\" text-anchor=\"middle\" class=\"d-small\">CLI statt MCP\u003C\u002Ftext>\u003Ctext x=\"102\" y=\"230\" text-anchor=\"middle\" class=\"d-small\">schlanke CLAUDE.md\u003C\u002Ftext>\u003Ctext x=\"102\" y=\"256\" text-anchor=\"middle\" class=\"d-small\">stabil fürs Caching\u003C\u002Ftext>\u003Crect x=\"192\" y=\"46\" width=\"164\" height=\"64\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"274\" y=\"73\" text-anchor=\"middle\" class=\"d-text\">Lesen\u003C\u002Ftext>\u003Ctext x=\"274\" y=\"95\" text-anchor=\"middle\" class=\"d-small\">Dateien, Suchtreffer\u003C\u002Ftext>\u003Cpath d=\"M274 110 V124\" class=\"d-line\" \u002F>\u003Crect x=\"192\" y=\"124\" width=\"164\" height=\"150\" rx=\"10\" class=\"d-box d-dash\" \u002F>\u003Ctext x=\"274\" y=\"152\" text-anchor=\"middle\" class=\"d-small\">Code Intelligence\u003C\u002Ftext>\u003Ctext x=\"274\" y=\"178\" text-anchor=\"middle\" class=\"d-small\">Serena, lean-ctx\u003C\u002Ftext>\u003Ctext x=\"274\" y=\"204\" text-anchor=\"middle\" class=\"d-small\">token-savior\u003C\u002Ftext>\u003Ctext x=\"274\" y=\"230\" text-anchor=\"middle\" class=\"d-small\">Repo-Maps, Repomix\u003C\u002Ftext>\u003Ctext x=\"274\" y=\"256\" text-anchor=\"middle\" class=\"d-small\">claude-context\u003C\u002Ftext>\u003Crect x=\"364\" y=\"46\" width=\"164\" height=\"64\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"446\" y=\"73\" text-anchor=\"middle\" class=\"d-text\">Tool-Ausgabe\u003C\u002Ftext>\u003Ctext x=\"446\" y=\"95\" text-anchor=\"middle\" class=\"d-small\">Shell, Tests, MCP\u003C\u002Ftext>\u003Cpath d=\"M446 110 V124\" class=\"d-line\" \u002F>\u003Crect x=\"364\" y=\"124\" width=\"164\" height=\"150\" rx=\"10\" class=\"d-box d-dash\" \u002F>\u003Ctext x=\"446\" y=\"152\" text-anchor=\"middle\" class=\"d-small\">rtk\u003C\u002Ftext>\u003Ctext x=\"446\" y=\"178\" text-anchor=\"middle\" class=\"d-small\">context-mode\u003C\u002Ftext>\u003Ctext x=\"446\" y=\"204\" text-anchor=\"middle\" class=\"d-small\">eigene Hooks\u003C\u002Ftext>\u003Ctext x=\"446\" y=\"230\" text-anchor=\"middle\" class=\"d-small\">MCP-Ausgabelimit\u003C\u002Ftext>\u003Ctext x=\"446\" y=\"256\" text-anchor=\"middle\" class=\"d-small\">Subagents\u003C\u002Ftext>\u003Crect x=\"536\" y=\"46\" width=\"164\" height=\"64\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"618\" y=\"73\" text-anchor=\"middle\" class=\"d-text\">Modellausgabe\u003C\u002Ftext>\u003Ctext x=\"618\" y=\"95\" text-anchor=\"middle\" class=\"d-small\">Thinking, Antworten\u003C\u002Ftext>\u003Cpath d=\"M618 110 V124\" class=\"d-line\" \u002F>\u003Crect x=\"536\" y=\"124\" width=\"164\" height=\"150\" rx=\"10\" class=\"d-box d-dash\" \u002F>\u003Ctext x=\"618\" y=\"152\" text-anchor=\"middle\" class=\"d-small\">\u002Feffort\u003C\u002Ftext>\u003Ctext x=\"618\" y=\"178\" text-anchor=\"middle\" class=\"d-small\">\u002Fmodel\u003C\u002Ftext>\u003Ctext x=\"618\" y=\"204\" text-anchor=\"middle\" class=\"d-small\">Haiku für Subagents\u003C\u002Ftext>\u003Ctext x=\"618\" y=\"230\" text-anchor=\"middle\" class=\"d-small\">caveman\u003C\u002Ftext>\u003Ctext x=\"618\" y=\"256\" text-anchor=\"middle\" class=\"d-small\">knappe Stilregeln\u003C\u002Ftext>\u003Crect x=\"20\" y=\"292\" width=\"680\" height=\"64\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"360\" y=\"319\" text-anchor=\"middle\" class=\"d-text\">Verlauf: alles oben geht in jedem Turn erneut mit\u003C\u002Ftext>\u003Ctext x=\"360\" y=\"341\" text-anchor=\"middle\" class=\"d-small\">\u002Fclear · \u002Fcompact · Subagents · ein stabiles Präfix bleibt im Cache\u003C\u002Ftext>",[235],"Jedes Tool setzt bei einer von vier Token-Quellen an; der Verlauf vervielfacht alle mit der Zahl der Turns.",{"type":165,"content":237},[238,239,243,244,247],"Die Preise sind nicht symmetrisch, und das entscheidet, wo Sparen etwas bringt. Bei Claude Opus 5.5 kostet laut der ",{"tag":240,"href":95,"children":241},"a",[242],"Prompt-Caching-Dokumentation"," ein gecachter Input-Token 0,20 $ pro Million, ein frischer 4 $ und ein Output-Token 20 $. Ein stabiles, gecachtes Präfix ist nach der ersten Anfrage also fast kostenlos. Geld kostet neuer Inhalt: frisch gelesene Dateien, frische Tool-Ausgabe und alles, was das Modell schreibt, Thinking eingeschlossen. Der ",{"tag":240,"href":86,"children":245},[246],"Kostenleitfaden"," von Claude Code nennt im Schnitt etwa 13 $ pro Entwickler und aktivem Tag, bei 90 % der Nutzer unter 30 $. Das Problem ist also selten eine große Rechnung, sondern ein stetiges Leck über viele Turns.",{"type":206,"level":207,"id":131,"text":132},{"type":165,"content":250},[251,252,255,256,259],"Zwei der Versprechen ließen sich hier mit wenig Aufwand prüfen. Diese Website ist eine Nuxt-4-App mit etwa 110 Vue-, TypeScript- und Skriptdateien, und ihr Build gibt eine Menge aus. Ich habe ",{"tag":240,"href":59,"children":253},[254],"Repomix"," 1.18.1 mit dem Standard-Tokenizer o200k_base über den Quellcode laufen lassen, einmal normal und einmal mit ",{"tag":190,"children":257},[258],"--compress",". Diese Option behält mit tree-sitter die Signaturen und wirft die Funktionskörper weg. Das README nennt etwa 70 % Ersparnis.",{"type":228,"attrs":261,"inner":264,"caption":265},{"viewBox":262,"role":231,"aria-labelledby":263},"0 0 720 324","d2-tok-t d2-tok-d","\u003Ctitle id=\"d2-tok-t\">Repomix 1.18.1 an dieser Website\u003C\u002Ftitle>\u003Cdesc id=\"d2-tok-d\">Gruppierte Balken mit Token-Zahlen. TypeScript- und Skriptdateien, 62 Dateien: 133.146 Tokens normal, 28.402 mit compress, 79 % weniger. Vue-Komponenten, 49 Dateien: 72.298 normal, 94.096 mit compress, 30 % mehr. Ganzer Quellcode, 111 Dateien: 205.115 normal, 122.132 mit compress, 40 % weniger.\u003C\u002Fdesc>\u003Ctext x=\"20\" y=\"28\" class=\"d-title\">Repomix 1.18.1 an dieser Website\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"28\" text-anchor=\"end\" class=\"d-label\">Tokens, o200k_base\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"76\" class=\"d-text\">TypeScript, Skripte\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"96\" class=\"d-small\">62 Dateien\u003C\u002Ftext>\u003Crect x=\"230\" y=\"50\" width=\"259.7\" height=\"26\" rx=\"6\" class=\"d-box\" \u002F>\u003Ctext x=\"499.7\" y=\"68\" class=\"d-label\">133.146\u003C\u002Ftext>\u003Crect x=\"230\" y=\"82\" width=\"55.4\" height=\"26\" rx=\"6\" class=\"d-accent\" \u002F>\u003Ctext x=\"295.4\" y=\"100\" class=\"d-label\">28.402  −79 %\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"156\" class=\"d-text\">Vue-Komponenten\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"176\" class=\"d-small\">49 Dateien\u003C\u002Ftext>\u003Crect x=\"230\" y=\"130\" width=\"141.0\" height=\"26\" rx=\"6\" class=\"d-box\" \u002F>\u003Ctext x=\"381.0\" y=\"148\" class=\"d-label\">72.298\u003C\u002Ftext>\u003Crect x=\"230\" y=\"162\" width=\"183.5\" height=\"26\" rx=\"6\" class=\"d-gold\" \u002F>\u003Ctext x=\"423.5\" y=\"180\" class=\"d-label\">94.096  +30 %\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"236\" class=\"d-text\">Ganzer Quellcode\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"256\" class=\"d-small\">111 Dateien\u003C\u002Ftext>\u003Crect x=\"230\" y=\"210\" width=\"400.0\" height=\"26\" rx=\"6\" class=\"d-box\" \u002F>\u003Ctext x=\"640.0\" y=\"228\" class=\"d-label\">205.115\u003C\u002Ftext>\u003Crect x=\"230\" y=\"242\" width=\"238.2\" height=\"26\" rx=\"6\" class=\"d-accent\" \u002F>\u003Ctext x=\"478.2\" y=\"260\" class=\"d-label\">122.132  −40 %\u003C\u002Ftext>\u003Crect x=\"230\" y=\"294\" width=\"16\" height=\"12\" rx=\"3\" class=\"d-box\" \u002F>\u003Ctext x=\"254\" y=\"305\" class=\"d-small\">normal gepackt\u003C\u002Ftext>\u003Crect x=\"380\" y=\"294\" width=\"16\" height=\"12\" rx=\"3\" class=\"d-accent\" \u002F>\u003Ctext x=\"404\" y=\"305\" class=\"d-small\">--compress\u003C\u002Ftext>\u003Crect x=\"530\" y=\"294\" width=\"16\" height=\"12\" rx=\"3\" class=\"d-gold\" \u002F>\u003Ctext x=\"554\" y=\"305\" class=\"d-small\">--compress, größer\u003C\u002Ftext>",[266],"Gemessen am Quellcode dieser Website: Kompression wirkt bei TypeScript und geht bei Vue-Single-File-Components nach hinten los.",{"type":165,"content":268},[269,270,273,274,277],"Bei den TypeScript- und Skriptdateien hält das Versprechen und übertrifft es sogar: Aus 133.146 Tokens wurden 28.402, 79 % weniger. Bei den Vue-Single-File-Components ging es in die andere Richtung: Aus 72.298 Tokens wurden 94.096, also 30 % ",{"tag":197,"children":271},[272],"mehr",", und 46 der 49 Dateien wurden größer. Ein Blick in die Ausgabe zeigt, warum: Die komprimierten Vue-Dateien enthielten das vollständige Template und danach Teile davon noch einmal als zusätzliche Abschnitte zwischen ",{"tag":190,"children":275},[276],"⋮----","-Markern. Über die ganze Codebasis waren es 40 % Ersparnis, nicht 70.",{"type":165,"content":279},[280,281,284,285,288],"Der zweite Test war der Anwendungsfall hinter ",{"tag":240,"href":38,"children":282},[283],"rtk"," und allen anderen Ausgabefiltern auf dieser Liste: ein lauter Befehl. Ein vollständiges ",{"tag":190,"children":286},[287],"npm run generate"," dieser Website schreibt 501 Zeilen. Ich habe das Log schrittweise ausgedünnt und die Tokens als Bytes geteilt durch vier geschätzt, dieselbe grobe Faustregel, die rtk verwendet.",{"type":290,"head":291,"rows":300},"table",[292,294,296,298],[293],"Stufe",[295],"Bytes",[297],"Tokens (Bytes\u002F4)",[299],"Zeilen",[301,310,318,327,336],[302,304,306,308],[303],"Rohes Log, wie in die Datei geschrieben",[305],"60.311",[307],"~15.100",[309],"501",[311,313,315,317],[312],"Ohne ANSI-Farbcodes",[314],"44.426",[316],"~11.100",[309],[319,321,323,325],[320],"Ohne Node-Warnungen zu experimentellen Features",[322],"42.144",[324],"~10.500",[326],"481",[328,330,332,334],[329],"Ohne die Listen aller Routen und Chunks",[331],"1.479",[333],"~370",[335],"46",[337,339,341,343],[338],"Nur Zusammenfassungs- und Fehlerzeilen",[340],"620",[342],"~155",[344],"12",{"type":165,"content":346},[347],"Allein die Farbcodes machten ein Viertel des Logs aus, obwohl die Ausgabe in eine Datei umgeleitet war. Die Listen der vorgerenderten Routen und gebauten Chunks waren 96 % des Rests, und bei einem grünen Build sagt nichts davon einem Modell irgendetwas. Wer diese drei Dinge weglässt, behält jede Zeile, auf die ein Mensch reagieren würde, und spart 97,5 % der Tokens. Bei einem roten Build braucht man die Fehlerzeilen und ein paar Zeilen drumherum, und genau die behält ein guter Filter.",{"type":183,"variant":349,"title":350,"body":351},"tip","Die Lehre daraus",[352],[353,354,357],"Beide Ergebnisse zeigen in dieselbe Richtung. Die Ersparnis ist echt, hängt aber von deinem Stack und deinen Befehlen ab, nicht von der Zahl im README. Miss eine echte Session vorher und nachher, mit ",{"tag":190,"children":355},[356],"\u002Fusage"," oder ccusage, bevor du ein Tool installiert lässt.",{"type":206,"level":207,"id":134,"text":135},{"type":165,"content":360},[361],"Ich habe nach vier Kriterien gerankt, in dieser Reihenfolge: ob die Ersparnis durch mehr belegt ist als den Benchmark des Autors, wie viel einer echten Session sie betrifft, wie lange die Einrichtung dauert und was sie riskiert, von verlustbehafteter Ausgabe bis zu einer einschränkenden Lizenz. Bordmittel kommen zuerst, weil sie kostenlos und dokumentiert sind; danach folgen die Tools von Drittanbietern, sortiert nach Belegen.",{"type":290,"head":363,"rows":374},[364,366,368,370,372],[365],"#",[367],"Tool oder Gewohnheit",[369],"Ebene",[371],"Belege",[373],"Einrichtung",[375,392,409,418,427,435,444,454,467,475,485,493,501,509,518,528,539,548,558,567],[376,378,386,388,390],[377],"1",[379,381,382,385],{"tag":190,"children":380},[356],", ",{"tag":190,"children":383},[384],"\u002Fcontext",", ccusage",[387],"alle",[389],"die Messung selbst",[391],"Minuten",[393,395,403,405,407],[394],"2",[396,399,400],{"tag":190,"children":397},[398],"\u002Fclear"," und ein gezieltes ",{"tag":190,"children":401},[402],"\u002Fcompact",[404],"Verlauf",[406],"offizielle Doku",[408],"keine",[410,412,414,415,417],[411],"3",[413],"Stabiles Präfix fürs Prompt Caching",[213],[416],"offizielle Preise",[408],[419,421,423,424,426],[420],"4",[422],"Tool Search, weniger MCP-Server, CLIs",[213],[425],"offiziell: über 85 % der Tool-Definitionen",[391],[428,430,432,433,434],[429],"5",[431],"Effort und Modellwahl",[225],[406],[408],[436,438,439,440,442],[437],"6",[283],[221],[441],"angegeben 60–90 %; gemessen 0–90 %",[443],"5 Minuten",[445,447,449,450,452],[446],"7",[448],"context-mode",[221],[451],"angegeben bis 98 %; gemessen 20–98 %",[453],"10 Minuten",[455,457,462,463,465],[456],"8",[458,459],"Eigene Filter-Hooks, ",{"tag":190,"children":460},[461],"MAX_MCP_OUTPUT_TOKENS",[221],[464],"mein Build-Log: −97,5 %",[466],"eine Stunde",[468,470,471,472,474],[469],"9",[17],[217],[473],"angegeben 98 % im Map-Modus",[453],[476,478,480,481,483],[477],"10",[479],"Serena",[217],[482],"Mechanismus; keine neutrale Zahl",[484],"15 Minuten",[486,488,490,491,492],[487],"11",[489],"Code-Intelligence-Plugins",[217],[406],[391],[494,495,497,498,500],[344],[496],"Schlanke CLAUDE.md, Skills für den Rest",[213],[499],"offiziell: unter 200 Zeilen",[466],[502,504,506,507,508],[503],"13",[505],"Subagents für ausufernde Arbeit",[404],[406],[408],[510,512,514,515,517],[511],"14",[513],"token-savior",[217],[516],"gemessen −43 %",[484],[519,521,523,524,526],[520],"15",[522],"Repo-Maps: Aider, code-review-graph",[217],[525],"angegeben groß; gemessen −5 % in einem kleinen Repo",[527],"unterschiedlich",[529,531,535,536,538],[530],"16",[532],{"tag":190,"children":533},[534],"repomix --compress",[217],[537],"mein Lauf: −79 % TS, +30 % Vue",[391],[540,542,544,545,547],[541],"17",[543],"Context7",[217],[546],"Mechanismus; keine Zahl",[391],[549,551,553,554,556],[550],"18",[552],"claude-context",[217],[555],"angegeben etwa 40 %; gemessen 30–60 % in Monorepos",[557],"eine Stunde, braucht eine Vektor-DB",[559,561,563,564,566],[560],"19",[562],"Knappe Ausgaberegeln: caveman, claude-token-efficient",[225],[565],"4–12 % der Output-Tokens",[391],[568,570,572,574,576],[569],"20",[571],"claude-code-router",[573],"Preis, nicht Tokens",[575],"3- bis 5-mal günstiger bei umgeleiteten Turns",[466],{"type":165,"content":578},[579,580,583],"Der einzige unabhängige Direktvergleich, den ich gefunden habe, stammt von ",{"tag":240,"href":83,"children":581},[582],"ComputingForGeeks"," aus dem April 2026: ein Repository (sindresorhus\u002Fky), Claude Code 2.1.116 und Sonnet 4.5, gegen eine Basislinie von 284.473 Tokens und 0,27 $. Ein einzelnes Repository ist ein dünner Beleg, deshalb nutze ich den Test zum Entscheiden knapper Fälle, nicht als Urteil.",{"type":290,"head":585,"rows":592},[586,588,590],[587],"Tool",[589],"Veränderung der Gesamt-Tokens",[591],"Anmerkung",[593,599,606,613,620,627,634,640],[594,595,597],[513],[596],"−43 %",[598],"Symbolindex und Gedächtnis per MCP",[600,602,604],[601],"claude-token-efficient",[603],"−40 %",[605],"CLAUDE.md-Regeln",[607,609,611],[608],"caveman",[610],"−38 %",[612],"Ausgabestil",[614,616,618],[615],"token-optimizer-mcp",[617],"−23 %",[619],"MCP-Server",[621,623,625],[622],"alexgreensh\u002Ftoken-optimizer",[624],"−18 %",[626],"Lizenz PolyForm Noncommercial",[628,630,632],[629],"code-review-graph",[631],"etwa −5 %",[633],"kleines Repo, der Graph-Overhead frisst den Gewinn",[635,636,638],[283],[637],"0 % bei sauberer Ausgabe, 60–90 % bei lauten Logs",[639],"hängt von den Befehlen ab",[641,642,644],[448],[643],"−20 % bis −98 %",[645],"hängt von der Arbeit ab",{"type":206,"level":207,"id":137,"text":138},{"type":206,"level":648,"text":649},3,"1. Zuerst messen: \u002Fusage, \u002Fcontext und ccusage",{"type":165,"content":651},[652,654,655,657,658,660,661,664],{"tag":190,"children":653},[356]," zeigt die Tokens der Session und in aktuellen Versionen eine Zeile zum Prompt Cache: den Anteil des Inputs aus dem Cache, die Zahl der Cache-Misses und eine wahrscheinliche Ursache für den letzten. ",{"tag":190,"children":656},[384]," zeigt, was das Fenster gerade füllt: System-Prompt, Tools, Memory-Dateien und Nachrichten. Für den Verlauf über mehrere Sessions liest ",{"tag":240,"href":77,"children":659},[23]," (",{"tag":190,"children":662},[663],"npx ccusage@latest",", MIT) die lokalen JSONL-Logs und erstellt Berichte nach Tag, Monat, Session und Fünf-Stunden-Block. Ohne Basislinie kannst du ein Tool mit 40 % nicht von einem Placebo unterscheiden.",{"type":206,"level":648,"text":666},"2. \u002Fclear zwischen Aufgaben, \u002Fcompact mit Anweisungen",{"type":165,"content":668},[669,670,672,673,676,677,680,681,684],"Der gesamte Verlauf geht mit jedem Turn mit, veralteter Kontext aus der letzten Aufgabe wird also mit jeder neuen Nachricht erneut bezahlt. ",{"tag":190,"children":671},[398]," fängt frisch an und kostet nichts. ",{"tag":190,"children":674},[675],"\u002Fcompact Konzentriere dich auf den fehlschlagenden Test und den Diff"," erhält den Zusammenhang, muss dafür aber das ganze Gespräch lesen, um es zusammenzufassen, und ist damit selbst eine große Anfrage. Mit ",{"tag":190,"children":678},[679],"\u002Frename"," vor dem Leeren findest du die Session später über ",{"tag":190,"children":682},[683],"\u002Fresume"," wieder.",{"type":206,"level":648,"text":686},"3. Das Präfix stabil halten, damit Caching greift",{"type":165,"content":688},[689],"Caching ist der größte Rabatt auf dieser Liste und standardmäßig aktiv, deshalb macht man es leicht unbemerkt kaputt. Der Cache folgt der Reihenfolge Tools, System-Prompt, Nachrichten: Ändert sich eine Tool-Definition, wird alles danach neu geschrieben, zum höheren Preis für Cache-Writes. In der Praxis heißt das: MCP-Server nicht mitten in der Session an- und ausschalten und CLAUDE.md nicht mitten in einer langen Aufgabe bearbeiten. Die Lebensdauer des Caches beträgt im Abo eine Stunde und mit API-Key standardmäßig fünf Minuten. Über die API kostet eine Kaffeepause also ein komplettes Neulesen des Kontexts.",{"type":206,"level":648,"text":691},"4. Weniger MCP-Server, verzögert geladene Tools, CLIs wo vorhanden",{"type":165,"content":693},[694,695,698,699,702,703,706,707,710,711,714,715,381,718,721,722,725],"Die ",{"tag":240,"href":92,"children":696},[697],"Dokumentation zu Tool Search"," von Anthropic nennt eine konkrete Zahl: Fünf gängige Server (GitHub, Slack, Sentry, Grafana und Splunk) belegen etwa 55.000 Tokens an Definitionen, bevor überhaupt gearbeitet wird, und verzögertes Laden senkt das typischerweise um mehr als 85 %. Außerdem wird die Tool-Auswahl ab 30 bis 50 geladenen Tools schlechter. Claude Code lädt MCP-Tools standardmäßig verzögert, doch die ",{"tag":240,"href":89,"children":700},[701],"MCP-Doku"," nennt Setups, in denen Tool Search aus ist, darunter ",{"tag":190,"children":704},[705],"ENABLE_TOOL_SEARCH=false"," und eine eigene ",{"tag":190,"children":708},[709],"ANTHROPIC_BASE_URL",". Darüber hinaus: ungenutzte Server in ",{"tag":190,"children":712},[713],"\u002Fmcp"," deaktivieren und ",{"tag":190,"children":716},[717],"gh",{"tag":190,"children":719},[720],"aws"," oder ",{"tag":190,"children":723},[724],"gcloud"," einem MCP-Wrapper für dieselbe API vorziehen, denn eine CLI fügt gar keine Tool-Liste hinzu.",{"type":206,"level":648,"text":727},"5. Effort und Modell an die Aufgabe anpassen",{"type":165,"content":729},[730,731,734,735,738,739,742,743,747],"Thinking-Tokens werden als Output-Tokens abgerechnet, die teuerste Sorte. ",{"tag":190,"children":732},[733],"\u002Feffort"," senkt das Reasoning-Budget bei adaptiven Modellen, ",{"tag":190,"children":736},[737],"\u002Fmodel"," wechselt zu einem günstigeren; Subagents laufen mit ",{"tag":190,"children":740},[741],"model: haiku"," in ihrer Definition auf Haiku. Wie groß der Hebel ist, zeigen die ",{"tag":172,"to":744,"children":745},"\u002Fblog\u002Fartificial-analysis-leaderboard-claude-opus-5-5",[746],"Leaderboard-Zahlen zu Opus 5.5",": Mit Effort medium erreichte das Modell den Wert seines Vorgängers mit Effort max, für etwa ein Viertel der Kosten pro Aufgabe.",{"type":206,"level":207,"id":140,"text":141},{"type":206,"level":648,"text":750},"6. rtk",{"type":165,"content":752},[753,755,756,759,760,176,763,766,767,769,770,773],{"tag":240,"href":38,"children":754},[283]," ist eine Rust-CLI, die sich über einen PreToolUse-Hook (",{"tag":190,"children":757},[758],"rtk init -g",") vor Shell-Befehle setzt und die Ausgabe von mehr als hundert Befehlen filtert, gruppiert, kürzt und dedupliziert. Das README nennt etwa 70 % für ",{"tag":190,"children":761},[762],"ls",{"tag":190,"children":764},[765],"tree",", etwa 80 % für ",{"tag":190,"children":768},[192]," und 90 % für ",{"tag":190,"children":771},[772],"cargo test",". Der unabhängige Test fand 0 % bei ohnehin ruhigen Befehlen und 60–90 % bei lauten Logs, was zu meinem Build-Log passt. Zwei Grenzen: Die Zahlen messen weniger Ausgabe, nicht eine kleinere Rechnung, und der Hook sieht nur Shell-Befehle, die eingebauten Read-, Grep- und Glob-Tools von Claude Code laufen also ungefiltert durch. Apache 2.0.",{"type":206,"level":648,"text":775},"7. context-mode",{"type":165,"content":777},[778,780],{"tag":240,"href":44,"children":779},[448]," geht einen anderen Weg: Tool-Ausgabe landet in einer Sandbox und einem SQLite-FTS5-Index, und der Agent durchsucht sie mit BM25, statt sie ganz zu lesen. Das Projekt nennt 315 KB Ausgabe, die auf 5,4 KB schrumpfen, einen Playwright-Snapshot von 56 KB auf 299 Bytes und ein Access-Log von 45 KB auf 155 Bytes. Außerdem hält es einen Session-Leitfaden von höchstens 2 KB vor, der das Kompaktieren übersteht. Der unabhängige Test maß je nach Arbeit 20–98 %. Die Lizenz ist die Elastic License 2.0, für den eigenen Gebrauch in Ordnung, aber keine OSI-Open-Source-Lizenz.",{"type":206,"level":648,"text":782},"8. Eigene Filter-Hooks und eine Obergrenze für MCP-Ausgabe",{"type":165,"content":784},[785],"Der offizielle Kostenleitfaden zeigt einen PreToolUse-Hook, der Testbefehle so umschreibt, dass nur Fehlschläge beim Modell ankommen. Dieselbe Idee passt zu jedem Befehl, den man oft ausführt. So würde ich ihn für den Build oben schreiben:",{"type":190,"code":787},"#!\u002Fbin\u002Fbash\n# ~\u002F.claude\u002Fhooks\u002Fquiet-build.sh: a PreToolUse hook with \"matcher\": \"Bash\".\n# Rewrites the site build so the model sees summary and error lines, not 500 lines of routes.\ninput=$(cat)\ncmd=$(echo \"$input\" | jq -r '.tool_input.command')\n\nif [[ \"$cmd\" =~ ^npm\\ run\\ generate ]]; then\n  quiet=\"set -o pipefail; $cmd 2>&1 | perl -pe 's\u002F\\e\\[[0-9;]*m\u002F\u002Fg' | grep -vE 'ExperimentalWarning|trace-warnings|├─|└─|node_modules\u002F.cache'\"\n  echo \"$input\" | jq --arg c \"$quiet\" \\\n    '{hookSpecificOutput: {hookEventName: \"PreToolUse\", permissionDecision: \"allow\", updatedInput: (.tool_input + {command: $c})}}'\nelse\n  echo \"{}\"\nfi\n",{"type":165,"content":789},[790,791,794,795,798,799,802,803,806,807,810,811,813],"Gegen das Log aus der Tabelle laufen gelassen, bleiben genau die 46 Zeilen aus der vierten Zeile übrig, und dank ",{"tag":190,"children":792},[793],"pipefail"," endet ein fehlgeschlagener Build weiterhin mit einem Fehlercode. Registriert wird er in der settings.json unter ",{"tag":190,"children":796},[797],"hooks.PreToolUse"," mit ",{"tag":190,"children":800},[801],"\"matcher\": \"Bash\"",", wie im offiziellen Beispiel, geprüft mit ",{"tag":190,"children":804},[805],"\u002Fhooks",". Wie das Beispiel antwortet er mit ",{"tag":190,"children":808},[809],"allow",", was für den umgeschriebenen Befehl auch die Berechtigungsabfrage überspringt, also das Muster eng halten. Bei MCP-Servern ist ",{"tag":190,"children":812},[461]," der entsprechende Hebel: Claude Code warnt, wenn ein einzelnes Tool-Ergebnis 10.000 Tokens überschreitet, und erlaubt standardmäßig 25.000. Eine niedrigere Grenze verhindert, dass ein geschwätziger Server das Fenster flutet.",{"type":206,"level":207,"id":143,"text":144},{"type":206,"level":648,"text":816},"9. lean-ctx",{"type":165,"content":818},[819,821,822,825],{"tag":240,"href":41,"children":820},[17]," ist ein lokales Rust-Binary samt MCP-Server, das dem Agent zehn Arten gibt, eine Datei zu lesen, vom vollen Text über eine Strukturübersicht bis zu reinen Signaturen, dazu Kompressionsmuster für mehr als 95 Shell-Befehle. Im eigenen Repository des Projekts mit 50 Dateien, gezählt mit dem GPT-4o-Tokenizer, wurden aus 533.200 Roh-Tokens im Map-Modus 8.000 und im Signaturmodus 14.000, und das erneute Lesen einer unveränderten Datei aus dem Cache kostet etwa 13 Tokens. Es ist das ambitionierteste Tool hier, und die Zahlen stammen vom Autor selbst, doch die Idee, erst die Struktur und Funktionskörper nur bei Bedarf zu lesen, ist richtig. ",{"tag":190,"children":823},[824],"lean-ctx wrap claude",", Apache 2.0.",{"type":206,"level":648,"text":827},"10. Serena",{"type":165,"content":829},[830,832,833,381,836,176,839,842,843,176,846,849],{"tag":240,"href":47,"children":831},[479]," verpackt Language Server für mehr als 40 Sprachen in MCP-Tools wie ",{"tag":190,"children":834},[835],"find_symbol",{"tag":190,"children":837},[838],"find_referencing_symbols",{"tag":190,"children":840},[841],"replace_symbol_body",". Statt zu greppen und drei Kandidatendateien zu lesen, fragt der Agent nach einem Symbol und bearbeitet es direkt. Einen neutralen Benchmark habe ich nicht gefunden, aber der Mechanismus ist derselbe, den Anthropic im nächsten Punkt empfiehlt, und er funktioniert in jedem MCP-Client. Installation mit ",{"tag":190,"children":844},[845],"uv tool install -p 3.13 serena-agent",{"tag":190,"children":847},[848],"serena init","; GPL-3.0.",{"type":206,"level":648,"text":851},"11. Code-Intelligence-Plugins",{"type":165,"content":853},[854,855,857],"Die Code-Intelligence-Plugins von Claude Code bringen dieselbe Idee ohne Server von Drittanbietern: Gehe zu Definition und Referenzen finden über einen installierten Language Server. Der ",{"tag":240,"href":86,"children":856},[246]," sagt es direkt: Eine Definitionssuche ersetzt ein grep mit anschließendem Lesen mehrerer Kandidatendateien, und der Language Server meldet nach Änderungen Typfehler, was einen Compile-Durchlauf spart. Bei TypeScript-, Python-, Go- oder Rust-Projekten ist das die erste Änderung auf der Leseseite, die ich machen würde.",{"type":206,"level":207,"id":146,"text":147},{"type":206,"level":648,"text":860},"12. Eine schlanke CLAUDE.md, Skills für den Rest",{"type":165,"content":862},[863,864,868],"CLAUDE.md wird in jede Session geladen, jede Zeile darin wird also bei jeder Anfrage bezahlt, gecacht oder nicht. Die offizielle Empfehlung lautet, sie unter 200 Zeilen zu halten und Anweisungen für bestimmte Abläufe, etwa wie ein PR geprüft oder eine Migration ausgeführt wird, in ",{"tag":172,"to":865,"children":866},"\u002Fblog\u002Fcoding-agent-skills-workflow",[867],"Skills"," zu verschieben, die erst bei Bedarf geladen werden. Ein kurzer Skill, der die Architektur beschreibt, spart außerdem die Erkundungslektüre, mit der ein Agent jede Aufgabe beginnt.",{"type":206,"level":648,"text":870},"13. Subagents für ausufernde Arbeit",{"type":165,"content":872},[873],"Ein Subagent führt Tests aus, liest Logs oder holt Dokumentation in seinem eigenen Kontext und liefert eine Zusammenfassung zurück, der ausufernde Teil landet also nie im Hauptverlauf. Er kostet trotzdem Tokens, nur nicht bei jedem späteren Turn erneut, und er kann auf einem kleinen Modell laufen. Die Gegenwarnung steht in derselben Doku: Agent Teams verbrauchen etwa siebenmal so viele Tokens wie eine normale Session, wenn die Teammitglieder im Plan-Modus laufen, weil jedes seinen eigenen vollen Kontext hat.",{"type":206,"level":207,"id":149,"text":150},{"type":206,"level":648,"text":876},"14. token-savior",{"type":165,"content":878},[879,881],{"tag":240,"href":50,"children":880},[513]," kombiniert einen Symbolindex per MCP, einen Gedächtnisspeicher und das Verdichten von Bash-Ausgabe. Im unabhängigen Test sparte es am meisten, 43 % der Gesamt-Tokens. Die eigene Schlagzeile des Projekts, 80 % weniger aktive Tokens über 96 Aufgaben mit Opus 4.7, kennzeichnet der Autor als nicht verifiziert, und eine frühere Zahl wurde zurückgezogen. Das lese ich als Zeichen von Ehrlichkeit, nicht als Grund, der größeren Zahl zu trauen. MIT.",{"type":206,"level":648,"text":883},"15. Repo-Maps: Aider und code-review-graph",{"type":165,"content":885},[886,887,890,891,894,895,897],"Eine Repo-Map gibt dem Agent eine gewichtete Gliederung der Codebasis statt ganzer Dateien. ",{"tag":240,"href":56,"children":888},[889],"Aiders Repo-Map"," entsteht mit tree-sitter und einem Graph-Ranking und passt in ein Budget, das ",{"tag":190,"children":892},[893],"--map-tokens"," festlegt, standardmäßig 1.000 Tokens. ",{"tag":240,"href":53,"children":896},[629]," speichert einen Aufrufgraphen in SQLite und beantwortet, was eine Änderung alles berührt. Es nennt im Median etwa 63-mal weniger Tokens pro Frage, sagt aber selbst, dass dabei eine Graph-Abfrage mit dem gesamten Korpus verglichen wird, also eine Obergrenze. Im unabhängigen Test an einem kleinen Repository sparte es etwa 5 %, weil der Graph-Overhead den Großteil des Gewinns auffraß. Lohnt sich bei großen Repositories, nicht bei kleinen. MIT.",{"type":206,"level":648,"text":899},"16. Repomix --compress",{"type":165,"content":901},[902,903,906,907,910,911,913],"Repomix packt ein Repository in eine einzige Datei für ein Modell, mit ",{"tag":190,"children":904},[905],"--token-count-tree",", das zeigt, wo die Tokens stecken, dazu ",{"tag":190,"children":908},[909],"--remove-comments"," und einem MCP-Modus. ",{"tag":190,"children":912},[258]," eignet sich, um einem Modell auf einen Schlag einen Überblick auf Signaturebene über eine TypeScript-, Python- oder Go-Codebasis zu geben, wie mein Lauf gezeigt hat. Bei Template-lastigen Formaten wie Vue lohnt sich ein Blick in die Ausgabe, bevor man sich darauf verlässt. MIT.",{"type":206,"level":648,"text":915},"17. Context7 für Bibliotheksdokumentation",{"type":165,"content":917},[918,920,921,924,925,928],{"tag":240,"href":62,"children":919},[543]," holt auf Anfrage aktuelle, versionsgenaue Dokumentation zu einer Bibliothek, entweder über ",{"tag":190,"children":922},[923],"ctx7","-CLI-Befehle mit einem Skill oder über einen MCP-Server (",{"tag":190,"children":926},[927],"npx ctx7 setup","). Die Ersparnis ist indirekt, und ich habe keine Zahl dafür: ein gezielter Ausschnitt statt einer ganzen Webseite und weniger Runden, in denen eine API korrigiert wird, die das Modell aus einer älteren Version kannte. MIT.",{"type":206,"level":648,"text":930},"18. claude-context",{"type":165,"content":932},[933,935],{"tag":240,"href":65,"children":934},[552]," indiziert die Codebasis für eine hybride Suche aus BM25 und Vektoren, damit der Agent nach dem Code fragen kann, der die Authentifizierung erledigt, und die passenden Abschnitte bekommt. Es nennt etwa 40 % weniger Tokens bei gleicher Trefferqualität, und der unabhängige Test sah 30–60 % in Monorepos. Der Preis ist Infrastruktur: ein Embedding-Anbieter (OpenAI, VoyageAI, Gemini oder ein lokales Ollama) und eine Vektordatenbank, Milvus oder Zilliz Cloud. Das lohnt sich bei großen Monorepos und ist darunter zu viel des Guten. MIT.",{"type":206,"level":207,"id":152,"text":153},{"type":206,"level":648,"text":938},"19. Knappe Ausgaberegeln: caveman und claude-token-efficient",{"type":165,"content":940},[941,942,944,945,947],"Diese Tools ändern, wie das Modell schreibt, nicht was es liest. ",{"tag":240,"href":68,"children":943},[608]," ist ein Skill mit den Modi lite, full und ultra für abgehackte Prosa; ",{"tag":240,"href":71,"children":946},[601]," ist eine CLAUDE.md mit acht Regeln. Die sorgfältig gemessenen Zahlen sind klein. Für caveman fand ein JetBrains-Laborlauf über 86 Aufgaben 8,5 % weniger Output-Tokens bei gleicher Qualität, die eigene Auswertung des Projekts zeigt im Median 50 % bei kurzen Fragen und Antworten, und in agentischen Sessions sind es hohe einstellige Werte, während die Regeldatei etwa 1.000 Input-Tokens hinzufügt. claude-token-efficient maß 4 % weniger Output-Tokens bei Haiku, 12 % bei Sonnet und 7 % bei Opus. Die −38 % und −40 % aus dem unabhängigen Test liegen weit darüber, und von einem einzigen Repository würde ich nicht verallgemeinern. Günstig auszuprobieren und am nützlichsten, wenn man für viel Ausgabe bezahlt.",{"type":206,"level":648,"text":949},"20. claude-code-router",{"type":165,"content":951},[952,954,955,957],{"tag":240,"href":74,"children":953},[571]," ist ein lokales Gateway, das Anfragen von Claude Code nach Regeln an andere Anbieter und Modelle schickt, etwa DeepSeek, Gemini, Kimi oder OpenRouter. Es senkt keine Tokens, es macht einige davon billiger, und der unabhängige Test meldete drei- bis fünfmal niedrigere Kosten bei den umgeleiteten Turns. Dass es auf dem letzten Platz steht, hat einen Grund: Ein Router bedeutet eine eigene ",{"tag":190,"children":956},[709],", und das ist eines der Setups, in denen Claude Code MCP Tool Search abschaltet. Außerdem beginnt jeder Wechsel zu einem anderen Modell dessen Cache bei null. Miss die ganze Session, nicht nur die umgeleiteten Turns. MIT.",{"type":206,"level":207,"id":155,"text":156},{"type":960,"ordered":961,"items":962},"list",false,[963,972,977,982],[964,967,968,971],{"tag":197,"children":965},[966],"LLMLingua und andere Prompt-Kompressoren."," ",{"tag":240,"href":80,"children":969},[970],"LLMLingua"," lässt Tokens weg, die ein kleines Modell für unwichtig hält, und nennt bis zu 20-fache Kompression bei geringem Verlust für Fließtext, Retrieval und Reasoning-Prompts. Für Code, den ein Agent exakt bearbeiten muss, ist verlustbehaftete Kompression der falsche Tausch.",[973,976],{"tag":197,"children":974},[975],"Tools, deren Lizenz nicht passt."," alexgreensh\u002Ftoken-optimizer sparte im unabhängigen Test 18 %, steht aber unter PolyForm Noncommercial und fällt damit für Kundenprojekte weg.",[978,981],{"tag":197,"children":979},[980],"Alles ohne Vorher-nachher-Messung."," Der unabhängige Test empfahl nadimtuhin\u002Fclaude-token-optimizer nicht und fand die Wirkung von claude-mem schwankend. Gedächtnis-Tools können das erneute Erklären sparen oder veraltete Notizen in jede Session schleusen.",[983,986],{"tag":197,"children":984},[985],"Drei Tools auf derselben Ebene."," rtk, context-mode und lean-ctx fangen alle Shell-Ausgabe ab. Nimm eines pro Ebene, sonst suchst du am Ende, welcher Hook was umgeschrieben hat.",{"type":206,"level":207,"id":158,"text":159},{"type":960,"ordered":989,"items":990},true,[991,999,1006,1008,1010,1012],[992,995,996,998],{"tag":190,"children":993},[994],"npx ccusage@latest daily"," ausführen und eine normale Session mit ",{"tag":190,"children":997},[356]," am Ende. Die Zahlen notieren.",[1000,1002,1003,1005],{"tag":190,"children":1001},[384]," öffnen, MCP-Server abschalten, die du diese Woche nicht genutzt hast, und jene ersetzen, für die es eine CLI gibt (",{"tag":190,"children":1004},[717]," statt eines GitHub-Servers).",[1007],"CLAUDE.md auf unter 200 Zeilen kürzen und Abläufe in Skills verschieben.",[1009],"Das Code-Intelligence-Plugin für deine Hauptsprache installieren, oder Serena, wenn du mehrere Agents nutzt.",[1011],"Einen Ausgabefilter ergänzen: rtk, wenn es fertig sein soll, einen Hook mit 15 Zeilen wie den oben, wenn du genau sehen willst, was wegfällt.",[1013],"Dieselbe Art von Session wiederholen und vergleichen. Behalten, was die Zahl bewegt hat, den Rest deinstallieren.",{"type":165,"content":1015},[1016,1017,1021],"Die Überlegung hinter dieser Reihenfolge erklärt ",{"tag":172,"to":1018,"children":1019},"\u002Fblog\u002Fharness-engineering-coding-agents",[1020],"Harness Engineering",": wie Leitplanken und Sensoren den Kontext eines Agents nützlich halten, nicht nur klein.",{"type":206,"level":207,"id":161,"text":162},{"type":960,"ordered":961,"items":1024},[1025,1028,1031,1034,1037,1040,1043,1046,1049,1052,1055,1058,1061,1064,1067,1070,1073,1076,1079,1082],[1026],{"tag":240,"href":38,"children":1027},[37],[1029],{"tag":240,"href":41,"children":1030},[40],[1032],{"tag":240,"href":44,"children":1033},[43],[1035],{"tag":240,"href":47,"children":1036},[46],[1038],{"tag":240,"href":50,"children":1039},[49],[1041],{"tag":240,"href":53,"children":1042},[52],[1044],{"tag":240,"href":56,"children":1045},[55],[1047],{"tag":240,"href":59,"children":1048},[58],[1050],{"tag":240,"href":62,"children":1051},[61],[1053],{"tag":240,"href":65,"children":1054},[64],[1056],{"tag":240,"href":68,"children":1057},[67],[1059],{"tag":240,"href":71,"children":1060},[70],[1062],{"tag":240,"href":74,"children":1063},[73],[1065],{"tag":240,"href":77,"children":1066},[76],[1068],{"tag":240,"href":80,"children":1069},[79],[1071],{"tag":240,"href":83,"children":1072},[82],[1074],{"tag":240,"href":86,"children":1075},[85],[1077],{"tag":240,"href":89,"children":1078},[88],[1080],{"tag":240,"href":92,"children":1081},[91],[1083],{"tag":240,"href":95,"children":1084},[94],[1086,1144,1195,1251],{"slug":1087,"published":1088,"minutes":1089,"category":7,"tags":1090,"keywords":1095,"about":1106,"sources":1113,"cover":1138,"og":1139,"expertise":98,"locales":1140,"lang":101,"title":1141,"description":1142,"coverAlt":1143},"agent-loop-explained","2026-09-27",10,[1091,1092,1093,9,1094],"Agent loop","Coding agents","Tool calling","Stop conditions",[1096,1097,1098,1099,1100,1101,1102,1103,1104,1105],"agent loop","agentic loop","AI agent loop","tool calling loop","Ralph loop coding agent","Claude Code \u002Floop","Claude Code \u002Fgoal","how to stop an AI agent from looping","ReAct agent pattern","stop_reason tool_use",[1107,1110,1111],{"name":1108,"url":1109},"Intelligent agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIntelligent_agent",{"name":27,"url":28},{"name":9,"url":1112},"https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Foverview",[1114,1117,1120,1123,1126,1129,1132,1135],{"title":1115,"url":1116},"Anthropic: Building effective agents (Dec 2024)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fbuilding-effective-agents",{"title":1118,"url":1119},"Yao et al.: ReAct: Synergizing Reasoning and Acting in Language Models (2022)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.03629",{"title":1121,"url":1122},"Claude API docs: Handling stop reasons","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fhandling-stop-reasons",{"title":1124,"url":1125},"Anthropic: Effective harnesses for long-running agents (Nov 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-harnesses-for-long-running-agents",{"title":1127,"url":1128},"Simon Willison: Red\u002Fgreen TDD (Agentic Engineering Patterns)","https:\u002F\u002Fsimonwillison.net\u002Fguides\u002Fagentic-engineering-patterns\u002Fred-green-tdd\u002F",{"title":1130,"url":1131},"Geoffrey Huntley: Ralph Wiggum as a software engineer (Jul 2025)","https:\u002F\u002Fghuntley.com\u002Fralph\u002F",{"title":1133,"url":1134},"Claude Code docs: Run prompts on a schedule (\u002Floop)","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fscheduled-tasks",{"title":1136,"url":1137},"Claude Code docs: Keep Claude working toward a goal (\u002Fgoal)","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fgoal","\u002Fimages\u002Fblog\u002Fagent-loop-explained\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fagent-loop-explained\u002Fog.jpg",[100,101,102],"Die Agentenschleife erklärt: wie Coding-Agenten laufen und wie man sie stoppt","Wie die Agentenschleife im Code funktioniert, welche Abbruchbedingungen und Budgets man erzwingen sollte und wie sich Ralph, \u002Floop und \u002Fgoal verhalten.","Ein Zyklus aus fünf Schritten: Kontext, Modell, Tool-Aufruf, Ergebnis und eine Stopp-Prüfung, die die Agentenschleife beendet oder in den Kontext zurückführt",{"slug":1145,"published":1088,"minutes":1089,"category":7,"tags":1146,"keywords":1152,"about":1162,"sources":1170,"cover":1189,"og":1190,"expertise":98,"locales":1191,"lang":101,"title":1192,"description":1193,"coverAlt":1194},"mcp-tool-design-lessons-jira-server",[1147,1148,1149,1150,1151],"MCP","Tool design","Context engineering","Jira","Agents",[1153,1154,1155,1156,1157,1158,1159,1160,1161],"MCP tool design","MCP best practices","MCP tool descriptions","agent tool selection","MCP context bloat","how many tools should an MCP server have","MCP tool definition token cost","MCP error handling isError","Jira MCP server",[1163,1166,1169],{"name":1164,"url":1165},"Model Context Protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FModel_Context_Protocol",{"name":1167,"url":1168},"Jira (software)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FJira_(software)",{"name":1108,"url":1109},[1171,1174,1177,1180,1183,1186],{"title":1172,"url":1173},"Writing effective tools for agents – with agents (Anthropic)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fwriting-tools-for-agents",{"title":1175,"url":1176},"Introducing advanced tool use on the Claude Developer Platform (Anthropic)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fadvanced-tool-use",{"title":1178,"url":1179},"Code execution with MCP (Anthropic)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fcode-execution-with-mcp",{"title":1181,"url":1182},"MCP vs CLI: context window cost (Blocks.ai)","https:\u002F\u002Fblocks.ai\u002Fblog\u002Fmcp-vs-cli-context-window-cost",{"title":1184,"url":1185},"Demystifying evals for AI agents (Anthropic)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fdemystifying-evals-for-ai-agents",{"title":1187,"url":1188},"MCP 2026-07-28 specification: Tools","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2026-07-28\u002Fserver\u002Ftools","\u002Fimages\u002Fblog\u002Fmcp-tool-design-lessons-jira-server\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmcp-tool-design-lessons-jira-server\u002Fog.jpg",[100,101,102],"MCP-Tool-Design: Lehren aus einem Jira-Server mit 20 Tools","MCP-Tool-Design für Agenten: Token-Kosten der Tool-Definitionen, wann man Tools zusammenlegt, Benennung, knappe Ausgaben und ein Auswahl-Eval.","Netzwerkdiagramm mit einem Jira-MCP-Server als Nabe und fünf Satelliten: Suche, Anlegen, Transition, Kommentare und Testläufe",{"slug":1196,"published":1088,"minutes":1197,"category":7,"tags":1198,"keywords":1203,"about":1213,"sources":1222,"cover":1245,"og":1246,"expertise":98,"locales":1247,"lang":101,"title":1248,"description":1249,"coverAlt":1250},"harness-engineering-coding-agents",8,[1199,1092,1200,1201,1202],"Harness engineering","Code quality","Mutation testing","TDD",[1204,1205,1206,1207,1208,1209,1210,1211,1212],"harness engineering","harness engineering coding agents","AI code quality","coding agent guardrails","mutation testing AI generated tests","red\u002Fgreen TDD with AI agents","guides and sensors coding agents","how to make AI agent pull requests mergeable","can I trust tests written by AI",[1214,1216,1219],{"name":1201,"url":1215},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMutation_testing",{"name":1217,"url":1218},"Test-driven development","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTest-driven_development",{"name":1220,"url":1221},"Static program analysis","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStatic_program_analysis",[1223,1226,1229,1232,1235,1236,1239,1242],{"title":1224,"url":1225},"Birgitta Böckeler: Harness engineering for coding agent users (Apr 2026)","https:\u002F\u002Fmartinfowler.com\u002Farticles\u002Fharness-engineering.html",{"title":1227,"url":1228},"Birgitta Böckeler: Maintainability sensors for coding agents (May 2026)","https:\u002F\u002Fmartinfowler.com\u002Farticles\u002Fsensors-for-coding-agents.html",{"title":1230,"url":1231},"Simon Willison: Agentic Engineering Patterns","https:\u002F\u002Fsimonwillison.net\u002Fguides\u002Fagentic-engineering-patterns\u002F",{"title":1233,"url":1234},"Simon Willison: First run the tests","https:\u002F\u002Fsimonwillison.net\u002Fguides\u002Fagentic-engineering-patterns\u002Ffirst-run-the-tests\u002F",{"title":1124,"url":1125},{"title":1237,"url":1238},"Claude Code docs: How Claude remembers your project","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fmemory",{"title":1240,"url":1241},"Stryker Mutator documentation","https:\u002F\u002Fstryker-mutator.io\u002Fdocs\u002F",{"title":1243,"url":1244},"Infection: command line options","https:\u002F\u002Finfection.github.io\u002Fguide\u002Fcommand-line-options.html","\u002Fimages\u002Fblog\u002Fharness-engineering-coding-agents\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fharness-engineering-coding-agents\u002Fog.jpg",[100,101,102],"Harness Engineering: Guides und Sensors, die Agent-PRs mergebar machen","Harness Engineering für Coding-Agenten: Guides und Sensors, wo jede Prüfung laufen soll, Rot\u002FGrün-TDD und Mutationstests für die Tests des Agenten.","Konzentrische Ringe um das Modell eines Coding-Agenten: Verhalten, Architekturtauglichkeit und Wartbarkeit, von außen nach innen",{"slug":1252,"published":1088,"minutes":1253,"category":7,"tags":1254,"keywords":1258,"about":1269,"sources":1279,"cover":1309,"og":1310,"expertise":98,"locales":1311,"lang":101,"title":1312,"description":1313,"coverAlt":1314},"mcp-2026-07-28-stateless-migration-guide",9,[1147,1255,1256,1257,1151],"Protocol migration","Stateless APIs","OAuth",[1259,1260,1261,1262,1263,1264,1265,1266,1267,1268],"MCP 2026-07-28","stateless MCP","MCP migration guide","MCP sessions removed","Mcp-Session-Id removed","MCP server\u002Fdiscover","MCP multi round-trip requests","how to migrate an MCP server to the new spec","MCP CIMD client ID metadata document","MCP roots sampling logging deprecated",[1270,1271,1274,1277],{"name":1164,"url":1165},{"name":1272,"url":1273},"Stateless protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStateless_protocol",{"name":1275,"url":1276},"Load balancing (computing)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLoad_balancing_(computing)",{"name":1257,"url":1278},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOAuth",[1280,1283,1286,1289,1292,1295,1297,1300,1303,1306],{"title":1281,"url":1282},"The 2026-07-28 Specification (MCP blog)","https:\u002F\u002Fblog.modelcontextprotocol.io\u002Fposts\u002F2026-07-28\u002F",{"title":1284,"url":1285},"MCP 2026-07-28 Key Changes","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2026-07-28\u002Fchangelog",{"title":1287,"url":1288},"MCP 2026-07-28: Versioning and Compatibility","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2026-07-28\u002Fbasic\u002Fversioning",{"title":1290,"url":1291},"MCP 2026-07-28: Streamable HTTP transport","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2026-07-28\u002Fbasic\u002Ftransports\u002Fstreamable-http",{"title":1293,"url":1294},"MCP 2026-07-28: Multi Round-Trip Requests","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2026-07-28\u002Fbasic\u002Fpatterns\u002Fmrtr",{"title":1296,"url":1188},"MCP 2026-07-28: Tools",{"title":1298,"url":1299},"MCP 2026-07-28: Client registration","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2026-07-28\u002Fbasic\u002Fauthorization\u002Fclient-registration",{"title":1301,"url":1302},"MCP 2026-07-28: Deprecated features","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2026-07-28\u002Fdeprecated",{"title":1304,"url":1305},"The 2026 MCP Roadmap","https:\u002F\u002Fblog.modelcontextprotocol.io\u002Fposts\u002F2026-mcp-roadmap\u002F",{"title":1307,"url":1308},"RFC 9207: OAuth 2.0 Authorization Server Issuer Identification","https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc9207","\u002Fimages\u002Fblog\u002Fmcp-2026-07-28-stateless-migration-guide\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmcp-2026-07-28-stateless-migration-guide\u002Fog.jpg",[100,101,102],"MCP 2026-07-28: Migrationsleitfaden für zustandslose MCP-Server","MCP 2026-07-28 entfernt Sessions und den initialize-Handshake. Was sich für Serverautoren ändert: _meta, server\u002Fdiscover, MRTR, Autorisierung und eine Checkliste.","Pipeline aus fünf Migrationsschritten für MCP 2026-07-28: SDK upgraden, Sessions entfernen, server\u002Fdiscover ergänzen, Prompts als MRTR umschreiben, über Instanzen testen",1790582553396]