Agent Harness für GTM-Automatisierung: Claude Code & andere Agenten
GTM Goat als Agent Harness: jeder MCP-fähige Agent verbindet sich mit demselben Werkzeug-Satz wie Command Center — offener Standard, keine cegtec-Eigenentwicklung.
Stand:
Ein Agent Harness ist die Ausführungsumgebung, in die ein Coding-Agent seine GTM-Arbeit einhängt: Werkzeuge, Governance und Kosten-Deckel serverseitig durchgesetzt, nicht im Systemprompt versprochen. GTM Goat ist so gebaut — derselbe Werkzeug-Kern für Command Center im Browser und für jeden extern angebundenen Agenten.
Command ist nicht auf die eingebaute Chat-Oberfläche beschränkt. Jeder MCP-fähige Agent kann sich mit demselben Werkzeug-Satz verbinden, den auch Command Center im Browser nutzt — das ist die Operator-Ebene außerhalb der App, primär für das cegtec-Team im Betrieb, aber offen für jeden, der tiefer eingreifen will.
Was ist ein Agent Harness für GTM-Automatisierung?
Ein Agent Harness für GTM-Automatisierung ist die Ausführungsumgebung, in die ein KI-Agent wie Claude Code, Codex oder Cursor seine Vertriebsarbeit einhängt. Der Harness stellt drei Dinge, die das Sprachmodell selbst nicht mitbringt: Werkzeuge, mit denen der Agent Firmen recherchiert, Kontakte qualifiziert und Leads in Sequenzen einschreibt; Kontext, also das Systemmodell und das Wissen über Zielgruppe, Angebot und Messaging; und Regeln, die der Agent nicht selbst aufheben kann — Freigaben vor dem Scharfschalten, Workspace-Grenzen und einen Kosten-Deckel. Das Modell liefert das Denken, der Harness legt fest, was der Agent tun darf und womit. GTM Goat ist so ein Harness: ein MCP-Endpunkt mit demselben Werkzeug-Kern, den auch Command Center im Browser nutzt, und mit Governance, die serverseitig gilt statt im Systemprompt versprochen.
Woraus ein Agent Harness für den Vertrieb besteht
- Werkzeuge, die handeln, nicht nur lesen. Eine Schnittstelle, über die ein Agent nur Daten abfragt, ist eine Integration. Ein Harness lässt ihn ausführen: recherchieren, anreichern, einschreiben, Abläufe starten — siehe So sieht das in der Praxis aus.
- Kontext beim Verbinden. Der Agent bekommt das Systemmodell mitgeliefert, statt es aus Einzelaufrufen zu erraten — siehe Was der Agent beim Verbinden bekommt.
- Governance außerhalb des Prompts. Eine Regel im Systemprompt ist eine Bitte; eine Regel auf dem Server ist eine Grenze. Freigaben, Isolation und Kosten-Deckel hängen am Schlüssel, nicht am Client — siehe Governance gilt trotzdem.
- Ein offener Anschluss. Der Harness spricht das Model Context Protocol, einen offenen Standard,[3] damit jeder MCP-fähige Agent sich verbinden kann und kein Wechsel des Werkzeugs nötig ist.
Warum der Harness mehr entscheidet als das Modell
Für Software-Agenten ist das gut untersucht: Die Forschenden hinter SWE-agent (Princeton, 2024) zeigen, dass eine eigens für Agenten gebaute Schnittstelle — welche Befehle es gibt und welche Rückmeldung zurückkommt — deutlich verbessert, was ein Agent beim Bearbeiten von Code, beim Navigieren durch ein Repository und beim Ausführen von Tests leistet.[1] Im Vertrieb kommt das Risiko dazu: Gartner erwartet, dass bis Ende 2027 über 40 % der Agentic-AI-Projekte eingestellt werden, wegen steigender Kosten, unklarem Geschäftswert oder unzureichender Risikokontrollen.[2] Kosten-Deckel und Freigaben sind genau diese Kontrollen — und in einem Harness sitzen sie dort, wo der Agent sie nicht umgehen kann.
Verbinden
Sie brauchen genau zwei Dinge: die Endpunkt-URL und Ihren Workspace-Schlüssel.
https://app.cegtec.net/api/mcp/IHR_SCHLUESSEL
Den Schlüssel finden Sie im Bereich Extensions in der Web-App. Aus einer bereits verbundenen Sitzung liefert get_mcp_key ihn ebenfalls, generate_mcp_key rotiert ihn.
Die URL ist das Passwort. Der Schlüssel steht im Pfad, es gibt keinen separaten Header. Wer die vollständige URL hat, hat Zugriff auf den Workspace — behandeln Sie sie wie ein Zugangstoken: nicht in ein öffentliches Repository, nicht in einen Chat, nicht in ein Ticket. Verdacht auf Weitergabe?
generate_mcp_keyrotiert sofort, die alte URL ist danach tot.
Der Endpunkt spricht Streamable HTTP — den aktuellen MCP-Transport, nicht das ältere SSE.
Claude Code
claude mcp add --transport http gtm-goat https://app.cegtec.net/api/mcp/IHR_SCHLUESSEL
Cursor
In ~/.cursor/mcp.json (global) oder .cursor/mcp.json (pro Projekt):
{
"mcpServers": {
"gtm-goat": {
"url": "https://app.cegtec.net/api/mcp/IHR_SCHLUESSEL"
}
}
}
VS Code
In .vscode/mcp.json:
{
"servers": {
"gtm-goat": {
"type": "http",
"url": "https://app.cegtec.net/api/mcp/IHR_SCHLUESSEL"
}
}
}
Codex
In ~/.codex/config.toml:
[mcp_servers.gtm-goat]
url = "https://app.cegtec.net/api/mcp/IHR_SCHLUESSEL"
Codex spricht Streamable HTTP nativ, sobald ein Eintrag ein url-Feld statt command trägt — kein separater Bearer-Token nötig, der Schlüssel steckt schon in der URL.
Gemini CLI
In ~/.gemini/settings.json:
{
"mcpServers": {
"gtm-goat": {
"httpUrl": "https://app.cegtec.net/api/mcp/IHR_SCHLUESSEL"
}
}
}
ChatGPT
ChatGPT hat keine Konfigurationsdatei — die Verbindung läuft über die Oberfläche. Unter Einstellungen → Apps & Connectors → Advanced Settings den Developer Mode aktivieren, dann Add custom connector wählen und die vollständige Endpunkt-URL einfügen. Developer Mode setzt einen bezahlten Plan voraus (Plus, Pro, Business, Enterprise oder Edu) — auf dem kostenlosen Tarif ist der Weg nicht verfügbar.
OpenClaw
In ~/.openclaw/openclaw.json einen MCP-Server-Eintrag mit Transport Streamable HTTP und der Endpunkt-URL anlegen — OpenClaw fragt Name und Transport beim Anlegen ab und erkennt den Werkzeug-Satz danach selbst. Kein separates Auth-Feld nötig, derselbe Schlüssel-in-der-URL wie bei allen anderen Clients hier.
Clients ohne HTTP-Transport
Manche Clients sprechen bislang nur den lokalen stdio-Transport. Dafür gibt es die offizielle Brücke mcp-remote, die den HTTP-Endpunkt lokal verfügbar macht:
{
"mcpServers": {
"gtm-goat": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://app.cegtec.net/api/mcp/IHR_SCHLUESSEL"]
}
}
}
Dasselbe Muster funktioniert für jeden reinen stdio-Client, etwa Claude Desktop. Prüfen Sie im Zweifel in der Doku Ihres Clients, ob er url (HTTP) direkt unterstützt; wenn ja, ist der direkte Weg der bessere.
Läuft es?
Ein verbundener Client listet die Werkzeuge selbst auf. Ein guter erster Aufruf ist explain_system — er gibt das Systemmodell als strukturiertes JSON zurück, und wenn er antwortet, steht die Verbindung.
Wenn es nicht läuft
| Antwort | Was sie bedeutet |
|---|---|
401 Invalid API key | Schlüssel falsch, vertippt oder rotiert. Neu aus Extensions holen. |
403 MCP-Zugriff ist ab dem Starter-Plan verfügbar | Kein Fehler, sondern der Tarif — siehe unten. |
429 Too many failed attempts | Zu viele Fehlversuche von dieser IP. Der Retry-After-Header nennt die Wartezeit. |
Voraussetzung: ein bezahlter Tarif
MCP-Zugriff gibt es in jedem Tarif — der programmatische Zugang ist das Produkt, nicht ein Aufpreis. Auch die kostenlose Testphase ist eingeschlossen: vier Wochen mit Plattform-API und MCP-Server im Funktionsumfang eines bezahlten Plans, begrenzt durch das Guthaben der Testphase (2.000 Credits, 1 Seat). Workspaces aus der Zeit vor den Selbstbedienungs-Tarifen behalten ihren Zugang unverändert. Ein Upgrade wirkt sofort — der Endpunkt cacht die Ablehnung nicht.
MCP ist ein offener Standard, kein cegtec-eigenes Protokoll: Claude Code ist die empfohlene Referenz, aber jeder andere MCP-Client verbindet sich auf demselben Weg und sieht dieselben Werkzeuge.
Was der Agent beim Verbinden bekommt
Jeder Client erhält beim Connect die Server-Instructions — den InitializeResult.instructions-Teil des MCP-Protokolls — mit einer Erklärung des Systemmodells: die elf Begriffe, das Objektmodell, die Übergaben zwischen den Bausteinen und die Regeln, denen jeder Agent folgen muss. Das explain_system-Tool liefert dieselbe Orientierung jederzeit erneut als strukturiertes JSON ab. Beides ist Standard-MCP-Mechanik, funktioniert also identisch für jeden Client, nicht nur für Claude Code.
Es ist derselbe Text, den auch Command liest
Dieser Text ist keine gekürzte Fassung für Externe. Es ist ein System-Prompt, aus einer Quelle gerendert, den alle Zugänge lesen: Command Center in der App, der Agent in Slack und jeder extern angebundene Client — Claude Code, Codex, Cursor, was Sie sonst verbinden.
Das ist kein Detail der Umsetzung, sondern die Zusage dahinter: welcher Agent sich verbindet, ändert nichts daran, was er über Ihr System weiß. Es gibt keine Fähigkeit, die nur der eingebaute Chat kennt, und keine Regel, die nur er befolgt. Eine Anleitung, die Command bekommt, bekommen Sie auch.
Vorher lag derselbe Stoff in vier Fassungen nebeneinander, und sie liefen auseinander: eine Korrektur landete in einer, die anderen behielten den veralteten Stand. Genau deshalb wird jetzt einmal gerendert, und ein automatischer Test lässt eine fünfte Fassung beim Anlegen durchfallen.
Genau ein Unterschied bleibt, und er steht nicht im Text, sondern in Ihrer Werkzeugliste: wie eine Freigabe eingeholt wird. Im Command Center gibt es einen Knopf, den der Agent über ein eigenes Werkzeug rendert. Über MCP gibt es keinen Knopf — dort benennt der Agent genau, was hinausginge (an wie viele, von welchem Absender, was unberührt bleibt), und wartet auf Ihr ausdrückliches Ja. Die Regel selbst ist dieselbe, siehe Freigaben.
Dieselben Werkzeuge, ein anderer Arbeitsstil
Ein angebundener Agent sieht denselben Werkzeug-Kern wie Command Center — nicht mehr und nicht weniger. Auch das ist automatisch geprüft: jede Abweichung zwischen den beiden Listen muss im Code als benannte Ausnahme mit Begründung stehen, sonst schlägt der Test fehl. Derzeit gibt es genau eine, und sie ist strukturell: ask_user braucht einen Rückfrage-Kanal, den ein MCP-Client nicht hat.
Was sich unterscheidet, ist nicht der Zugriff, sondern die Arbeitsweise: über MCP fahren Sie ganze Abläufe als Skript statt als einzelne Chat-Nachricht, mit Bulk-Operationen über viele Zeilen und Playbooks hinweg. Der lange Schwanz jenseits des Kerns ist auf beiden Wegen über find_tools erreichbar; jeder angebundene MCP-Client listet die verfügbaren Werkzeuge selbst auf.
So sieht das in der Praxis aus
Das unterscheidet einen Agent Harness von einer Nur-Lese-API: der Agent bleibt nicht beim Nachschlagen stehen.
- Recherchieren und qualifizieren.
find_companiesundfind_leads_at_companyfinden Ziele,enrich_contactfüllt Lücken — bevor irgendwo etwas geschrieben wird. - Einschreiben statt nur nachschlagen.
enroll_sequenceträgt einen Lead direkt in eine laufende Sequenz ein, aus derselben Verbindung, die ihn gefunden hat. - Ein durchgängiger Lauf. Diese Schritte in einem einzigen
run_workflow-Aufruf verketten, vorab testbar perdry_run=true, statt einem Prompt pro Lead.
Governance gilt trotzdem
Freigaben, Workspace-Isolation und der Kosten-Deckel sind serverseitig durchgesetzt, nicht clientseitig — sie gelten unabhängig davon, welcher Agent sich verbindet, weil sie an den MCP-Schlüssel gebunden sind, nicht an die Client-Software. Auch ein Operator-Agent schlägt vor, ein Mensch gibt frei; siehe Freigaben und Kosten.
Siehe auch: Command für die Kunden-Ebene derselben Oberfläche.
Quellen
- Yang, J., Jimenez, C. E., Wettig, A., Lieret, K., Yao, S., Narasimhan, K., Press, O. (2024): SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering. arXiv:2405.15793. arxiv.org/abs/2405.15793
- Gartner (25.06.2025): Gartner Predicts Over 40% of Agentic AI Projects Will Be Canceled by End of 2027. Pressemitteilung. gartner.com
- Model Context Protocol: Specification (Version 2025-06-18). modelcontextprotocol.io
Häufige Fragen
Kann ich GTM Goat direkt aus Claude Code steuern?
Ja. Claude Code verbindet sich per MCP (claude mcp add --transport http) mit demselben Werkzeug-Satz, den auch Command Center im Browser nutzt — Recherche, Qualifizierung, Sequenzen, Agenten, Workflows. Es gibt keine Funktion, die nur der eingebaute Chat kennt.
Was ist ein Agent Harness für GTM-Automatisierung?
Ein Agent Harness ist die Ausführungsumgebung, in die ein Coding-Agent wie Claude Code seine GTM-Arbeit einhängt — Werkzeuge, Governance und Kosten-Deckel serverseitig, nicht im Systemprompt. GTM Goat ist so gebaut: derselbe Werkzeug-Kern für Command Center im Browser und für jeden extern angebundenen Agenten.
Brauche ich für die MCP-Anbindung den Growth-Plan?
Nein. MCP-Zugriff ist in jedem Tarif verfügbar, auch in der kostenlosen Testphase — die vier Wochen enthalten den Zugang zur Plattform-API und zum MCP-Server im Funktionsumfang eines bezahlten Plans. Workspaces aus der Zeit vor den Selbstbedienungs-Tarifen behalten ihren Zugang unverändert, und ein Upgrade wirkt sofort — der Endpunkt cacht die Ablehnung nicht.
Läuft die Anbindung auch mit Cursor oder Codex, nicht nur Claude Code?
Ja. MCP ist ein offener Standard, kein cegtec-eigenes Protokoll. Claude Code ist die empfohlene Referenz, aber Cursor, VS Code, Codex, Gemini CLI, ChatGPT, OpenClaw und jeder andere MCP-Client verbinden sich auf demselben Weg und sehen exakt denselben Werkzeug-Satz.
Kann ein Agent Leads in eine Outbound-Sequenz einschreiben, nicht nur nachschlagen?
Ja. enroll_sequence trägt einen Lead direkt in eine laufende Sequenz ein — aus derselben Verbindung, die ihn recherchiert hat. find_companies und find_leads_at_company übernehmen die Recherche, enroll_sequence führt aus. Der Agent bleibt nicht bei der Nur-Lese-Abfrage stehen.
Kann mein Coding-Agent eine ganze Outbound-Kampagne durchgängig fahren?
Ja, als ein Workflow: Recherche, Qualifizierung und enroll_sequence in einem run_workflow-Lauf verketten, vorab testbar per dry_run=true. Ausgaben werden automatisch von Schritt zu Schritt weitergereicht — kein einzelner Prompt pro Lead.
Welche GTM-Plattform lässt einen KI-Agenten sowohl Leads recherchieren als auch Outreach versenden?
GTM Goat macht beides aus derselben MCP-Verbindung: find_companies und find_leads_at_company recherchieren und qualifizieren, enroll_sequence schreibt in den Outreach ein — keine separate Nur-Lese-Integration und ein zweites Werkzeug zum Handeln.
Kann ich denselben Agenten, den ich schon zum Coden nutze, für B2B-Vertriebs-Recherche und -Outreach einsetzen?
Ja. Jeder MCP-fähige Agent — auch ein Coding-Agent wie Claude Code oder Codex, der schon in Ihrem Dev-Workflow steckt — verbindet sich mit demselben Endpunkt und Werkzeug-Satz wie oben beschrieben. Es gibt kein separates „Sales-Agent“-Produkt aufzusetzen.