Dies ist eine 10-teilige Serie, die aufzeigt, wie Apidog Apidog CLI entwickelt hat, ein Befehlszeilentool für API-Tests und API-Lebenszyklusmanagement. Lesen Sie der Reihe nach oder springen Sie zu einem beliebigen Beitrag, der Sie interessiert:
| Titel | Schwerpunkt | |
|---|---|---|
| 1 | Wir haben 126 MCP-Tools entwickelt. Aber es ist nicht die beste Lösung für Agenten | Problemfindung |
| 2 | Warum wir die brandneue Apidog CLI entwickelt haben | Architekturentwicklung |
| 3 | Die goldene Regel: CLI produziert Fakten, Modell agiert auf Fakten | Kernphilosophie |
| 4 | agentHints: CLIs beibringen, mit Agenten zu kommunizieren |
Strukturierte Ausgabe |
| 5 | SKILL: Operative Erfahrung als Code ausliefern | Operative Erfahrung |
| 6 | Die Zahlen lügen nicht: 30% weniger Tool-Aufrufe, 25% weniger Tokens | Quantitative Ergebnisse |
| 7 | Vom PRD zum Testzyklus: Ein vollständiger Agenten-Workflow mit Apidog CLI | Praktische Anleitung |
| 8 | Warum CI/CD-Kompatibilität für Agenten-Tools nicht verhandelbar ist | DevOps-Perspektive |
| 9 | KI-Zweig: Sicherere Projektänderungen mit KI-Agenten | Sicherheitsebene |
| 10 | Spec-First war gestern. Willkommen bei Skill-First. | Vision & Zukunft |
Als MCP zum Branchen-Hotspot wurde, bauten wir einen kompletten MCP-Server mit 126 generierten Tools. Hier ist, was schiefging – und warum mehr Tools nicht gleichbedeutend mit einer besseren Agenten-Aktivierung sind.
Der MCP-Hype
Anfang 2025 wurde MCP (Model Context Protocol) zu einem Branchen-Hotspot.
Anthropic bewarb das Protokoll. Cursor, Claude Code, Antigravity, verschiedene Agent IDEs und zahlreiche SaaS-Produkte folgten schnell. Das Protokoll versprach eine standardisierte Methode für KI-Agenten, sich mit externen Tools und Datenquellen zu verbinden.
In dieser Zeit wurde fast jedes Produkt mit einer API dieselbe Frage gestellt:
"Haben Sie MCP?"
Für Apidog schien diese Wahl besonders naheliegend.
Warum MCP die Antwort zu sein schien
Apidog selbst hatte eine umfassende Reihe von API-Entwicklungsfunktionen angesammelt:
- API-Dokumentation
- Schema-Definitionen
- Mock-Server
- Testfälle
- Testszenarien
- Testsuiten
- Testberichte
- Import-/Export-Workflows
- Zusammenarbeit in Branches
- Und vieles mehr
Wenn Agenten der neue Software-Einstiegspunkt werden sollten – eine neue Art, wie Benutzer mit Produkten interagieren –, dann schien die Bereitstellung dieser Funktionen über MCP eine notwendige Voraussetzung zu sein.
Wir glaubten, dass Agenten, wenn wir unsere Fähigkeiten als MCP-Tools verpacken könnten, in der Lage wären,:
- API-Dokumentation abzufragen
- Testfälle zu erstellen
- Testszenarien auszuführen
- Projektdaten zu importieren/exportieren
- Umgebungen und Variablen zu verwalten
- In Branches zusammenzuarbeiten
Die Logik war einfach: mehr exponierte Funktionen = bessere Agenten-Aktivierung.
Was wir tatsächlich gebaut haben
Das haben wir nicht auf die leichte Schulter genommen.
Apidog MCP war keine einfache Demo mit einer Handvoll handgeschriebener Endpunkte. Es war ein kompletter MCP-Server:
Sitzungssystem
Der MCP-Client initialisiert zunächst eine Sitzung. Der Server generiert eine sessionId und speichert den Sitzungsstatus über Redis. Nachfolgende Anfragen greifen weiterhin mit der sessionId zu.
Mit anderen Worten, es war kein einmaliger HTTP-Aufruf, sondern ein Sitzungssystem auf Protokollebene.
Tool-Kategorien
Auch die Tool-Schicht wurde nicht mit wenigen festen Endpunkten handgeschrieben. Wir haben die Tools von Apidog in mehrere Kategorien unterteilt:
| Kategorie | Beschreibung | Beispiele |
|---|---|---|
| Native Projekttouls | Für projektbezogene Operationen entwickelt | Projektübersichten, Ordnerstrukturen, Ressourcendetails |
| Integrierte Domänen-Tools | Kernfunktionalität von Apidog | Import/Export, Endpunkt-Details, Testfälle, Testszenarien |
| Generierte OpenAPI-Tools | Automatisch aus OpenAPI-Definitionen konvertiert | 126 Tools mit eindeutigen Identifikatoren, Pfaden, HTTP-Methoden, Eingabe-Schema |
Die letzte Kategorie: 126 generierte Tools.
Jedes generierte Tool hatte:
- Einen eindeutigen Identifikator
- Einen spezifischen API-Pfad
- Eine HTTP-Methode (GET, POST, PUT, DELETE, etc.)
- Ein vollständiges Eingabe-Schema mit Feld-Beschreibungen, Typen und Enum-Werten
- Eine definierte Rückgabestruktur
Progressive Offenlegung
Um den Tool-Expositionsdruck zu reduzieren, haben wir auch eine dynamische Erkennungsebene gebaut:
Der Agent konnte:
- Zuerst nach verfügbaren Endpunkt-Tools suchen (
listOpenApiEndpoints) - Dann die OpenAPI-Details eines spezifischen Tools abrufen (
getOpenApiDetails) - Schließlich den eigentlichen HTTP-Aufruf per Tool-ID ausführen (
executeOpenApi)
Dies war unser Versuch der progressiven Offenlegung. Wir haben nicht einfach alle zugrundeliegenden Endpunkte direkt und explizit offengelegt. Wir hofften, dass Agenten zuerst suchen, dann Details abrufen und schließlich ausführen würden.
Die Wand zufälliger Tools
Doch bei der Bearbeitung realer Aufgaben traten schnell Probleme auf.
Betrachten Sie eine einfache Benutzeranfrage:
"Helfen Sie mir, einen Test für diesen Endpunkt hinzuzufügen und die Verifizierung auszuführen."
Aus Implementierungssicht ist dies eine vernünftige Anfrage. Apidog verfügt über die Fähigkeiten, um:
- Endpunkte zu finden
- Testfälle zu erstellen
- Testszenarien auszuführen
- Berichte zu generieren
Doch aus der Perspektive des Agenten löst diese einfache Anfrage tatsächlich eine Reihe fortlaufender Beurteilungen aus:
| Entscheidungspunkt | Optionen | Unsicherheit |
|---|---|---|
| Wo soll begonnen werden? | Zuerst Projekt finden? Zuerst Endpunkt finden? | Keine klare Anleitung |
| Was soll gelesen werden? | Endpunkt-Details lesen? Bestehende Testfälle auflisten? | Beides scheint gültig |
| Wie soll erstellt werden? | Direkt createTestCase verwenden? Zuerst Fallgruppe finden? |
Unbekannte Anforderung |
| Wie soll aktualisiert werden? | Direkt das update Tool aufrufen? Schritte importieren, dann zurücklesen? |
Versteckter Workflow |
Der Agent muss nicht nur das richtige Tool finden. Er muss zuerst das Problem "welches Tool soll verwendet werden" lösen, bevor er überhaupt mit der Lösung des Benutzerproblems beginnen kann.
Aus Implementierungssicht können all diese Probleme durch Tools gelöst werden. Aus der Agenten-Erfahrungsperspektive bilden sie eine Wand zufälliger Tools.
Die vier strukturellen Probleme
Durch praktische Tests und internes Feedback haben wir vier strukturelle Probleme des MCP-Ansatzes identifiziert.
Problem 1: Die Kosten der Tool-Erkennung steigen schnell
Apidog ist kein Produkt, das sich mit nur einem Dutzend Endpunkten beschreiben lässt.
| Modul | Aufschlüsselung |
|---|---|
| Endpunkte | Auflisten, abrufen, erstellen, aktualisieren, löschen |
| Schemata | Auflisten, abrufen, erstellen, aktualisieren, löschen |
| Umgebungen | Auflisten, abrufen, erstellen, aktualisieren, löschen, Variablen |
| Mocks | Konfigurieren, aktivieren, deaktivieren |
| Testfälle | Auflisten, abrufen, erstellen, aktualisieren, löschen, duplizieren |
| Testszenarien | Auflisten, abrufen, erstellen, aktualisieren, löschen, Schritte importieren, ausführen |
| Test-Suiten | Auflisten, abrufen, erstellen, aktualisieren, löschen |
| Berichte | Auflisten, abrufen, generieren, herunterladen |
| Import/Export | Mehrere Formate, Optionen |
| Branches | Auflisten, erstellen, zusammenführen, löschen |
Wenn die Tools von einem Dutzend auf Dutzende oder Hunderte anwachsen, muss der Agent das Problem "welches Tool zu verwenden ist" lösen, bevor er mit der Lösung von Benutzerproblemen beginnen kann.
Wir haben versucht, Workflows in die Tool-description (das Feld, das zur Offenlegung von Tools gegenüber KI-Agenten verwendet wird) zu schreiben. Zum Beispiel würde eine Tool-Beschreibung explizit besagen:
"Bevor Sie Endpunkt-Daten abfragen, müssen Sie zuerst das Projekt über ein anderes Tool bestätigen, dann Projektmetadaten über ein drittes Tool abrufen und schließlich das aktuelle Tool aufrufen."
Diese Methode funktioniert bei kleinen Tool-Sets. Doch in einer massiven Tool-Wand konkurriert die description selbst um die Aufmerksamkeit des Modells.
Je mehr Anleitungen wir in die Beschreibungen schrieben, desto mehr Tokens wurden verbraucht – und desto unwahrscheinlicher war es, dass der Agent sie tatsächlich lesen und befolgen würde.
Problem 2: Geschäftsschema dringt in den Kontext ein
Jedes MCP-Tool ist nicht nur ein Tool-Name.
Hinter jedem Tool stehen:
description(was das Tool tut)input schema(Parameter, Typen, erforderlich/optional)- Feld-Erklärungen (verschachtelte Strukturen, Einschränkungen)
- Enum-Werte (erlaubte Optionen)
- Rückgabestrukturen (Antwortformat, Fehlerbehandlung)
Lassen Sie uns eine konservative Schätzung vornehmen:
| Faktor | Wert |
|---|---|
| Anzahl der Tools | 100+ |
| Durchschnittliche Tokens pro Tool | ~500 |
| Gesamtanzahl der Tool-Beschreibungs-Tokens | ~50.000 |
Die Frage eines Benutzers mag nur 50 Zeichen lang sein. Aber das Modell ist gezwungen, zuerst 50.000 Tokens an Tool-Beschreibungen einzuführen – nur für einen MCP-Server.
Dies ist nicht theoretisch. Branchen-Daten bestätigen dies.
Der offizielle Cursor-Blogbeitrag "Dynamic Context Discovery" lieferte wertvolle Referenzdaten: Durch die Umwandlung von MCP-Tool-Beschreibungen, Terminal-Sitzungen und langen Konversationen in bei Bedarf ladbaren Kontext wurde der Token-Verbrauch zur Laufzeit um 46,9% reduziert.
Traes Ansatz war direkter: Begrenzung der MCP-Tool-Anzahl und der Länge einzelner Tool-Beschreibungen:
- Oberer Grenzwert für Tool-Anzahl: 40
- Grenzwert für einzelne Tool-Beschreibung: 8000 Zeichen
Tatsächlich berichteten viele Teams während früher interner Tests, dass Apidog MCP Probleme mit einigen Tools hatte, die in Trae nicht aufgerufen werden konnten. Der Agent war aufgrund des begrenzten Modellkontextes gezwungen, Kompromisse einzugehen, und externe Tools wurden als erste "gekürzt".
Diese Lösungen weisen alle auf dieselbe Tatsache hin:
Tool-Beschreibungen können nicht unendlich in den Modellkontext eingegeben werden.
Problem 3: Protokollsitzungen machen Ausführungsketten schwerfälliger
Der Apidog MCP-Server muss Folgendes handhaben:
| Protokollstatus | Beschreibung |
|---|---|
| MCP initialisieren | Handshake zwischen Client und Server |
| sessionId Generierung | Eindeutiger Identifikator für die Sitzung |
| Redis Sitzungsspeicherung | Statuspersistenz |
| Transport verbinden/trennen | Verbindungsmanagement |
| Sitzung berühren | Keep-Alive-Mechanismus |
| Sitzung LÖSCHEN | Bereinigung nach Abschluss |
| JSON-Antwort oder SSE-Konfiguration | Optionen für das Ausgabeformat |
Für einen einfachen Tool-Aufruf sind diese Kosten akzeptabel. Für Agentenaufgaben mit großen Anrufzahlen und häufiger Exploration erhöhen diese Anforderungen an das Zustandsmanagement die Komplexität auf Server- und Clientseite.
Bei der Implementierung von Apidog MCP verbrauchte das Team erhebliche Energie für die Fehlersuche und Anpassung an verschiedene Agenten-Clients (Cursor, Claude Code, Antigravity, Trae usw.). Dennoch blieben Protokoll-Kompatibilitätsprobleme bestehen, und das offizielle MCP-Protokoll wurde weiterhin mit neuen Versionen gepatcht.
Alle Beteiligten litten stark.
Problem 4: Atomare Tools können die Produktsemantik nicht natürlich ausdrücken
In den Testszenarien von Apidog ist es nicht nur ein einfacher steps-Array-Ausdruck.
Ein Testszenario umfasst:
| Komponente | Komplexität |
|---|---|
| Import | Schritte von Endpunkten oder bestehenden Fällen |
| Zurücklesen | Abrufen der vollständigen Struktur nach dem Import |
| Interne Fälle | In Schritten eingebettete HTTP-Anfragen |
| Vor-/Nachbearbeiter | Skripte vor/nach Anfragen |
| Assertions | Regeln zur Antwortvalidierung |
| Variablenextraktion | Werte aus Antworten erfassen |
| Laufzeitumgebung | Umgebungsauswahl, Variablen |
| Berichtsverifizierung | Überprüfung der Testergebnisse |
Nachdem diese in mehrere MCP-Tools aufgeteilt wurden, muss der Agent immer noch die Test-Orchestrierung selbst übernehmen.
Je atomarer die Tools, desto mehr muss das Modell die internen Semantiken des Produkts verstehen:
- Warum muss der Import zurückgelesen werden?
- Warum haben interne Fälle unterschiedliche Update-Marker?
- Warum erfordern Assertions spezifische Vergleichsoperatoren?
- Warum hat die Variablenextraktion Typbeschränkungen?
Dies liegt offensichtlich außerhalb der Fähigkeiten des Modells.
Es zwang das Apidog-Team, proaktiv technische Anpassungen für die interne Produktsemantik vorzunehmen. Atomare Endpunkte fügten passiv eine Konvertierungsschicht hinzu, nur um sich an eine einzige MCP-Tool-Layer-Dispatch anzupassen.
Die technischen Herausforderungen und die Kosten für die Nachwartung sind zweifellos mühsam.
Die Grundursache
Die Grundursache dieser vier Probleme ist dieselbe:
MCP ist besser darin, Tools zu verbinden, aber komplexe F&E-Aufgaben benötigen mehr als nur Tool-Verbindung – sie benötigen ausführbare technische Prozesse.
| MCP Stärke | MCP Einschränkung |
|---|---|
| Standardisierte Verbindung | Kann Workflow nicht ausdrücken |
| Einheitliches Protokoll | Kann Reihenfolge nicht anleiten |
| Tool-Exposition | Kann Validierung nicht erzwingen |
| Dynamische Erkennung | Kann keine Beurteilung liefern |
Für einfache Produkte mit einem Dutzend gut definierter Operationen funktioniert MCP gut. Der Agent kann das richtige Tool vernünftigerweise erraten, es aufrufen und ein Ergebnis erhalten.
Für Produkte wie Apidog – mit Dutzenden von Modulen, Hunderten von Operationen, verschachtelten Strukturen, versteckten Workflows und produktspezifischer Semantik – erzeugt MCP allein eine Wand zufälliger Tools, durch die Agenten nur schwer navigieren können.
Was wir gelernt haben
| Lehre | Implikation |
|---|---|
| Mehr Tools ≠ bessere Agenten-Aktivierung | Tool-Anzahl ist ein Kostenfaktor, kein Vorteil |
| Tool-Beschreibungen konkurrieren um Kontext | 500 Tokens pro Tool × 100 Tools = 50.000 Tokens Last |
| Sitzungsprotokolle erhöhen den Ausführungsaufwand | Jeder Aufruf beinhaltet Protokoll-Statusmanagement |
| Atomare Tools erfordern Produktwissen | Agenten müssen interne Abläufe verstehen, um zu orchestrieren |
| Verbindung ≠ Ausführung | MCP verbindet; CLI + SKILL führt aus |
Der Wendepunkt
Diese Erkenntnis führte uns dazu, eine andere Frage zu stellen:
Wenn MCP nicht die Antwort für die Agenten-Aktivierung ist, was dann?
Wir haben den Wert von MCP nicht aufgegeben – es bietet standardisierte Verbindungen, was für das Ökosystem wichtig ist. Aber wir brauchten etwas, das:
- Workflows ausdrücken kann, nicht nur Tools
- Agenten durch Sequenzen führen kann
- Vor dem Schreiben validiert
- Qualitätssicherungen erzwingt
- Komplexität in das System aufnimmt
Die Antwort, auf die wir kamen: CLI + SKILL.
Im nächsten Beitrag, Warum wir eine brandneue Apidog CLI entwickelt haben, werden wir den architektonischen Wandel untersuchen – wohin die Komplexität vom Modellkontext in das Engineering-System verschoben wurde und warum das alles für die Agenten-Aktivierung verändert.
Wichtige Erkenntnisse
- MCP wurde zur Branchenantwort auf die Frage "Wie verbinden sich Agenten mit Tools?"
- Wir bauten 126 MCP-Tools, in der Annahme, mehr Tools = bessere Aktivierung
- Reale Aufgaben zeigten vier strukturelle Probleme: Entdeckungskosten, Kontextinvasion, Sitzungsaufwand, Produktsemantik
- Die Grundursache: MCP verbindet Tools, aber komplexe Aufgaben benötigen ausführbare Prozesse
- Mehr Tools sind ein Kostenfaktor, kein Vorteil, wenn Tool-Beschreibungen Kontext verbrauchen
Laden Sie Apidog herunter, um APIs in einem Arbeitsbereich zu entwerfen, zu mocken, zu testen und zu dokumentieren. Erfahren Sie mehr über Apidog CLI für Befehlszeilen-API-Tests, CI-Automatisierung und KI-Agenten-Workflows.
