Context7: Das eine Ding, das jeder AI-Coding-Assistent falsch macht

Bitte ein LLM, Code für ein Framework zu generieren, das seit dem Training einen Breaking Change hatte, und du bekommst das alte Pattern zurück — selbstbewusst, und falsch. Im Video ist es Next.js 15: params, cookies und headers wurden von synchron auf asynchron umgestellt. Frag nach der neuen API, und das Model liefert trotzdem die alte, synchrone Version, weil es genau das gelernt hat.
Das ist kein Prompting-Problem. Es ist ein Trainingsdaten-Problem, und keine noch so gute Umformulierung löst das von allein.
Was Context7 wirklich macht#
Context7 ist ein MCP-Server mit einer durchsuchbaren, framework-spezifischen Wissensbasis — Next.js, Elasticsearch, und eine lange Liste weiterer, darunter einige, die speziell für die Arbeit mit AI-Agenten gebaut sind. Statt sich darauf zu verlassen, was das Model beim Training gelernt hat, holt es die aktuelle Dokumentation für genau die Library, die du gerade nutzt — direkt bevor die Antwort generiert wird.
Es stellt zwei Tools bereit:
resolve-library-id— gib einen Namen wie "Next.js" rein, bekomm Context7s interne ID dafür zurück.get-library-docs— gib diese ID rein, bekomm die aktuelle Dokumentation genau für diese Library zurück.
Im Video#
- 00:12 — Das Problem, konkret: Next.js 15s Sync-zu-Async-Breaking-Change, und das Model generiert trotzdem das alte Pattern
- 01:36 — Was Context7 ist und was es löst
- 02:17 — Setup: die Context7-MCP-Server-Config eintragen (dasselbe Pattern funktioniert über MCP-kompatible Tools hinweg)
- 03:40 — Bestätigen, dass der Server läuft, und welche zwei Tools er bereitstellt
- 04:43 — Die Anfrage mit Context7 im Loop wiederholen — korrekter, aktueller Code kommt zurück
Einrichten#
Context7 kommt als MCP-Server, das Setup ist also derselbe generische Config-Eintrag, den du für jeden MCP-Server machen würdest — den Eintrag in die Config-JSON deines Tools packen, der auf den Context7-Start-Befehl mit der gewünschten Version zeigt. Läuft er, zeigt dir deine IDE oder dein Agent die beiden oben genannten Tools an, bereit zum Aufrufen.
Der Teil, der wirklich zählt: explizit sein#
Den MCP-Server zu verdrahten ist nicht die ganze Geschichte. Das Model entscheidet immer noch selbst, ob es resolve-library-id und get-library-docs aufruft — das passiert nicht automatisch, nur weil das Tool existiert. Explizit im Prompt zu sagen, dass du aktuelle Dokumentation willst, und sogar die Library vorab zu benennen, macht einen echten Unterschied dabei, ob Context7 wirklich genutzt wird. Kein Selbstläufer — manche Modelle überspringen es unter bestimmten Bedingungen trotzdem — aber je expliziter du bist, desto zuverlässiger greift es.
Passiert das: Der erste Call löst die Library-ID auf, der zweite holt die tatsächlich aktuelle Doku, die wird in den Prompt gefaltet, und erst dann generiert das Model — diesmal mit await an den richtigen Stellen, weil es jetzt aus Dokumentation statt aus Erinnerung arbeitet.
Worum es eigentlich geht#
Trainingsdaten sind eingefroren, sobald das Training endet. Frameworks sind es nicht. Die Lösung ist kein besserer Prompt für eine eingefrorene Momentaufnahme — es ist, die aktuelle Quelle zur Generierungszeit zu holen, und explizit genug zu sein, dass das Model auch wirklich danach greift.
AI Engineering, wöchentlich.
Praktisches AI Engineering direkt in dein Postfach.