MCP-Tools sind jetzt 10x schneller in Claude Code

BBetter Stack
Computing/SoftwareInternet Technology

Transcript

00:00:00Das Closco-Team hat gerade das größte Problem mit MCP behoben,
00:00:03indem es eine Tool-Suche hinzugefügt hat,
00:00:05die den Kontext um bis zu 95 % reduziert – einfach dadurch,
00:00:08dass nach einem Tool-Namen gesucht wird,
00:00:10bevor man es verwendet,
00:00:11anstatt alle verfügbaren Tools vorab in den Kontext zu laden,
00:00:14was Zehntausende von Tokens verbrauchen könnte,
00:00:16noch bevor der erste Prompt geschrieben wird.
00:00:18Aber warum hat es nicht schon vorher so funktioniert?
00:00:21Und haben sie diese Technik von Cloudflare geklaut?
00:00:24Abonniert den Kanal und dann legen wir los.
00:00:26MCP-Server gibt es überall – für GitHub,
00:00:29Docker,
00:00:30Notion,
00:00:30es gibt sogar einen für Better Stack,
00:00:33der wohl richtig gut sein soll.
00:00:35Und da die Leute Clawed Code und LLMs für alles Mögliche außer Code verwenden,
00:00:40sieht es so aus,
00:00:41als würde MCP so schnell nicht verschwinden.
00:00:43Aber es hat seine Probleme: Namenskollisionen,
00:00:46Command Injections und das größte von allen – Token-Ineffizienz,
00:00:49weil alle Tools eines verbundenen Servers normalerweise vorab ins Kontextfenster des Modells geladen werden,
00:00:54um dem Modell vollständige Sichtbarkeit zu geben.
00:00:57Also Tool-Namen,
00:00:58Tool-Beschreibungen,
00:00:59die vollständige JSON-Schema-Dokumentation mit optionalen und erforderlichen Parametern,
00:01:04deren Typen,
00:01:04alle Einschränkungen – kurz gesagt,
00:01:06jede Menge Daten.
00:01:07Das Redis-Team nutzte 167 Tools von vier verschiedenen Servern,
00:01:11was über 60.000 Tokens verbrauchte,
00:01:12noch bevor überhaupt ein Prompt geschrieben wurde.
00:01:15Fast die Hälfte von Opus' 200k-Kontextfenster – und das noch ohne Skills und Plugins.
00:01:21Wenn man also viele Server hat,
00:01:22kann das eine beträchtliche Menge an Tokens verschlingen.
00:01:25Ja,
00:01:26ich weiß,
00:01:26es gibt Modelle wie Gemini mit einem 1-Million-Token-Fenster,
00:01:30aber Modelle werden tendenziell schlechter,
00:01:33je mehr man in ihren Kontext packt.
00:01:35Also, was ist der beste Weg, das zu beheben?
00:01:37Nun,
00:01:37ich habe online zwei beliebte Ansätze gesehen: den programmatischen Ansatz,
00:01:41den Cloudflare gewählt hat,
00:01:43und den Such-Ansatz,
00:01:44den das Clawed-Code-Team umgesetzt hat.
00:01:46Über den programmatischen Ansatz spreche ich gleich,
00:01:50aber zuerst zum Such-Prozess,
00:01:52der so funktioniert:
00:01:53Zuerst prüft Clawed,
00:01:54ob die vorgeladenen MCP-Tools mehr als 10 % des Kontexts ausmachen.
00:01:59Das wären 20k Tokens,
00:02:01wenn das Kontextfenster 200k Tokens hat.
00:02:04Falls nein,
00:02:05passiert keine Änderung und das Modell nutzt die MCP-Tools wie gewohnt.
00:02:10Falls ja,
00:02:11ermittelt Clawed dynamisch die richtigen Tools mithilfe natürlicher Sprache und lädt drei bis fünf der relevantesten Tools basierend auf dem Prompt.
00:02:22Nur diese Tools werden vollständig in den Kontext geladen,
00:02:25damit das Modell sie wie gewohnt nutzen kann.
00:02:27Das war tatsächlich die meistgewünschte Funktion auf GitHub und funktioniert ähnlich wie AgentSkills,
00:02:33das nur Skill-Namen und -Beschreibungen in den Kontext lädt.
00:02:37Sobald ein relevanter Skill gefunden wird oder ein Skill im Prompt erwähnt wurde,
00:02:41wird dieser spezifische Skill vollständig ins Kontextfenster geladen..
00:02:46Progressive Disclosure in Kurzform.
00:02:47Sowohl Anthropic als auch Cursor haben bei diesem Ansatz für MCP-Tools große Vorteile gesehen.
00:02:53Aber was ist mit dem programmatischen Ansatz?
00:02:55Dieser funktioniert so,
00:02:57dass Modelle Tools durch Code orchestrieren,
00:02:59anstatt API-Aufrufe zu machen.
00:03:01Für diese drei Tools,
00:03:02die nacheinander basierend auf der vorherigen Antwort arbeiten müssen,
00:03:06schreibt Clawed beispielsweise ein Python-Skript,
00:03:08um all diese Orchestrierung zu übernehmen,
00:03:10führt dann den Code aus und präsentiert dem Modell das Ergebnis – statt einzelne API-Tool-Aufrufe zu machen.
00:03:16Cloudflare hat das noch einen Schritt weitergetrieben,
00:03:19indem sie das Modell TypeScript-Definitionen für alle verfügbaren Tools schreiben lassen und den Code dann in einer Sandbox ausführen,
00:03:26meist einem Worker.
00:03:27Das Clawed-Code-Team hat den programmatischen Ansatz tatsächlich ausprobiert,
00:03:31fand aber,
00:03:31dass die Suche besser funktioniert – was ich kaum glauben kann,
00:03:35wenn man bedenkt,
00:03:35wie gut Clawed im Code-Schreiben ist.
00:03:38Und außerdem funktioniert das Agent-Browser-CLI-Headless-Chromium-Ding,
00:03:42das Vacel veröffentlicht hat,
00:03:43sehr gut in Clawed Code,
00:03:45und ich bin mir sicher,
00:03:46wenn man alle MCP-Tools mit etwas wie MCPorter in CLI-Befehle umwandeln könnte,
00:03:50wäre es viel einfacher und kontexteffizient für Modelle,
00:03:54einen bestimmten CLI-Befehl für ein Tool auszuführen,
00:03:57anstatt Dinge in den Kontext zu laden,
00:03:59aber hey,
00:03:59das ist nur meine Meinung.
00:04:01Insgesamt bin ich froh,
00:04:02dass die Probleme mit MCP-Servern untersucht werden,
00:04:05und vielleicht könnte mich das tatsächlich überzeugen,
00:04:07mehr als einen Server zu installieren.

Key Takeaway

Claude Code hat das größte MCP-Problem durch Tool-Suche gelöst, die den Kontext um bis zu 95% reduziert, indem nur relevante Tools basierend auf dem Prompt geladen werden, statt alle Tools vorab ins Kontextfenster zu packen.

Highlights

Das Claude-Code-Team hat eine Tool-Suche implementiert, die den Kontext um bis zu 95% reduziert

Vorher wurden alle MCP-Tools vorab geladen, was bei 167 Tools über 60.000 Tokens verbrauchte - fast die Hälfte von Opus' 200k-Kontextfenster

Die neue Suche aktiviert sich automatisch, wenn MCP-Tools mehr als 10% des Kontexts (20k Tokens) beanspruchen würden

Das System lädt nun nur 3-5 relevante Tools basierend auf dem Prompt, statt alle verfügbar zu machen

Zwei Hauptansätze wurden verglichen: der Such-Ansatz (von Claude gewählt) und der programmatische Ansatz (von Cloudflare verwendet)

Trotz Claudes Stärke im Code-Schreiben funktioniert der Such-Ansatz besser als der programmatische Ansatz

Progressive Disclosure wird sowohl für MCP-Tools als auch für Agent-Skills verwendet, um Kontext-Effizienz zu maximieren

Timeline

Das Kernproblem: Token-Ineffizienz bei MCP

Das Claude-Code-Team hat eine Tool-Suche implementiert, die den Kontext um bis zu 95% reduziert, indem nach Tool-Namen gesucht wird, bevor sie verwendet werden. Vorher wurden alle verfügbaren Tools vorab ins Kontextfenster geladen, was Zehntausende von Tokens verbrauchte, noch bevor der erste Prompt geschrieben wurde. MCP-Server existieren für zahlreiche Dienste wie GitHub, Docker, Notion und Better Stack, und da Claude Code für viele Anwendungsfälle genutzt wird, bleibt MCP relevant. Das Hauptproblem war die Token-Ineffizienz: Alle Tools eines Servers wurden normalerweise vorab geladen, inklusive Tool-Namen, Beschreibungen, vollständiger JSON-Schema-Dokumentation, Parameter-Typen und Einschränkungen. Ein konkretes Beispiel zeigt die Dimension: Das Redis-Team nutzte 167 Tools von vier Servern, was über 60.000 Tokens verbrauchte - fast die Hälfte von Opus' 200k-Kontextfenster, und das ohne Skills und Plugins.

Warum Token-Reduktion kritisch ist

Mit vielen Servern kann der Token-Verbrauch eine beträchtliche Menge verschlingen, was erhebliche Performance-Probleme verursacht. Obwohl es Modelle wie Gemini mit einem 1-Million-Token-Fenster gibt, werden Modelle tendenziell schlechter, je mehr man in ihren Kontext packt. Dies stellt ein fundamentales Dilemma dar: Entweder man lädt alle Tools und riskiert Performance-Einbußen, oder man findet einen effizienteren Weg. Die Frage nach der besten Lösung führt zu zwei beliebten Ansätzen, die online diskutiert werden. Der Token-Overhead betrifft nicht nur die Geschwindigkeit, sondern auch die Qualität der Modell-Ausgaben, was die Dringlichkeit einer Lösung unterstreicht.

Der Such-Ansatz: Wie Claude das Problem löst

Claude implementiert einen zweistufigen Such-Prozess, der intelligent zwischen Effizienz und Verfügbarkeit balanciert. Zuerst prüft das System, ob die vorgeladenen MCP-Tools mehr als 10% des Kontexts ausmachen (das wären 20k Tokens bei einem 200k-Token-Fenster). Falls nein, passiert keine Änderung und das Modell nutzt die Tools wie gewohnt - ein pragmatischer Ansatz, der unnötige Komplexität vermeidet. Falls ja, ermittelt Claude dynamisch die richtigen Tools mithilfe natürlicher Sprache und lädt nur drei bis fünf der relevantesten Tools basierend auf dem Prompt. Nur diese ausgewählten Tools werden vollständig in den Kontext geladen, damit das Modell sie normal nutzen kann. Diese Funktion war die meistgewünschte auf GitHub und funktioniert ähnlich wie AgentSkills, das ebenfalls Progressive Disclosure nutzt: Nur Skill-Namen und -Beschreibungen werden initial geladen, und erst wenn ein Skill relevant wird oder im Prompt erwähnt wurde, wird er vollständig ins Kontextfenster geladen.

Der programmatische Ansatz als Alternative

Der programmatische Ansatz funktioniert grundlegend anders: Modelle orchestrieren Tools durch Code, anstatt API-Aufrufe zu machen. Bei drei Tools, die nacheinander basierend auf der vorherigen Antwort arbeiten müssen, schreibt Claude beispielsweise ein Python-Skript für die gesamte Orchestrierung, führt den Code aus und präsentiert dem Modell das Ergebnis - statt einzelne API-Tool-Aufrufe zu machen. Cloudflare hat diesen Ansatz weiterentwickelt, indem sie das Modell TypeScript-Definitionen für alle verfügbaren Tools schreiben lassen und den Code dann in einer Sandbox ausführen, meist einem Worker. Dies ermöglicht eine flexiblere und möglicherweise effizientere Tool-Nutzung, da die Logik direkt im Code liegt statt in sequenziellen API-Calls.

Vergleich der Ansätze und Zukunftsperspektiven

Das Claude-Code-Team hat den programmatischen Ansatz tatsächlich ausprobiert, fand aber überraschenderweise, dass die Suche besser funktioniert - eine bemerkenswerte Erkenntnis, wenn man Claudes Stärke im Code-Schreiben bedenkt. Das Agent-Browser-CLI-Headless-Chromium-Tool von Vercel funktioniert sehr gut in Claude Code, was zu einer interessanten Hypothese führt: Wenn man alle MCP-Tools mit etwas wie MCPorter in CLI-Befehle umwandeln könnte, wäre es möglicherweise viel einfacher und kontexteffizient für Modelle, einen bestimmten CLI-Befehl auszuführen, anstatt Dinge in den Kontext zu laden. Dies ist eine persönliche Meinung des Sprechers, zeigt aber alternative Denkrichtungen auf. Insgesamt zeigt sich Zufriedenheit darüber, dass die Probleme mit MCP-Servern aktiv untersucht werden, und die Verbesserungen könnten dazu führen, dass mehr als nur ein Server installiert wird - ein Zeichen dafür, dass die Lösung praktische Auswirkungen auf die Nutzer-Adoption haben könnte.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video