ChatGPT Ads MCP-Server
Verbindet Claude und andere Assistenten mit dem eigenen ChatGPT-Ads-Konto. Quelloffen, kostenlos, und ohne dass Ihre Zugangsdaten unser System berühren.
Wozu das gut ist
Ein MCP-Server ist eine Brücke zwischen einem KI-Assistenten und einer Schnittstelle. Ist er eingerichtet, kann der Assistent das Werbekonto lesen und bearbeiten: Kampagnen anlegen, Auswertungen abrufen, Standorte nachschlagen. Statt in der Oberfläche zu klicken, beschreiben Sie, was passieren soll.
Wir haben ihn für die eigene Arbeit gebaut und veröffentlicht, weil die vorhandenen Lösungen drei Dinge nicht können, die im Betrieb Geld kosten. Der Quelltext steht unter der MIT-Lizenz auf GitHub.
Er ist kostenlos, und wir verdienen nichts daran. Mitgeliefert werden sechs Skills, die den Assistenten nicht nur bedienen lassen, sondern ihm auch sagen, wie entschieden wird. Damit kann Ihr eigener Assistent die Kampagne aufbauen, ohne dass Sie uns beauftragen.
Wer das nicht selbst machen will oder mit solchen Werkzeugen noch nicht arbeitet, gibt es ab: Wir richten die Kampagne ein und betreuen sie laufend. Was das umfasst und kostet, steht auf der Seite zu ChatGPT Ads. Beide Wege führen zum selben Ergebnis, sie unterscheiden sich darin, wer die Arbeit macht.
Vier Dinge, die er anders macht
Jeder Punkt geht auf ein Problem zurück, das beim Arbeiten mit der Schnittstelle tatsächlich aufgetreten ist.
Postleitzahlen statt Bundesländer
Der Geo-Endpunkt liefert einen Standort-Typ, den die Dokumentation nicht nennt. Umschriebene Umlaute werden zurückgeschrieben, englische Ortsnamen übersetzt, und bei einem Suchbegriff ohne passenden Typ sagt die Antwort das, statt eine leere Liste zu liefern.
Wiederholung bei Fehler 409
Die Schnittstelle meldet gelegentlich ein unvollständiges Konto, ohne dass es dafür einen Anlass gibt. In unserer Messreihe traf das acht von 32 Abfragen, und mit Wartezeit gingen alle 32 durch.
Begrenzte Antwortgröße
Auswertungen liefern bis zu 2000 Zeilen. Ungekürzt füllen die das Kontextfenster, bevor das Modell sie lesen kann. Der Server kürzt die längsten Listen und schreibt dazu, was er gekürzt hat.
Nichts läuft versehentlich an
Jede neu angelegte Kampagne ist pausiert, und zwar erzwungen. Aktivieren ist ein eigener Schritt, Archivieren braucht eine Bestätigung, und ein Nur-Lesen-Modus blendet alle schreibenden Werkzeuge vollständig aus.
Sechs Skills: das Urteil, nicht nur der Zugriff
Der Server allein gibt Ihrem Assistenten Zugriff auf das Werbekonto. Zugriff ist aber nicht dasselbe wie Können. Ein Assistent, der die Schnittstelle bedienen kann und sonst nichts weiß, legt eine Kampagne an, die technisch gültig und fachlich unbrauchbar ist: richtige Felder, falsche Entscheidungen.
Deshalb liegen im selben Repository sechs Skills. Sie enthalten die Fragen, die vor dem Anlegen zu klären sind, und die Regeln, nach denen entschieden wird. Sie sind derselbe Teil unserer Arbeit, den wir sonst von Hand machen, aufgeschrieben und mitgeliefert.
adsFührt die anderen fünf und hält die gemeinsamen Bezugsdaten.ads-campaignFragt nach, was fehlt, entscheidet die Struktur und legt an. Die Rückfrage ist der eigentliche Teil: Ohne sie entsteht eine Kampagne, die gültig ist und nichts trifft.ads-creativeAnzeigentexte samt Zeichengrenzen und Prüfung. Eine Anzeige unter einer Antwort verträgt einen anderen Ton als eine über einer Ergebnisliste.ads-hintsThemencluster und auszuschließende Begriffe. Im EWR wird über den Gesprächszusammenhang ausgesteuert, hier entsteht er.ads-geoPostleitzahlmengen statt eines Radius, auf dem Standort-Typ, den die Dokumentation nicht nennt.ads-auditAuswertung mit einer Sperre für zu dünne Daten: Sie sagt lieber, dass es zu früh ist, als eine Zahl aus drei Klicks zu deuten.
Server und Skills zusammen holen Sie sich als Plugin, in zwei Zeilen:
claude plugin marketplace add devaimani/openai-ads-mcp
claude plugin install chatgpt-ads@aimaniNur der Server, eine Zeile
Wer die Skills nicht braucht, weil er selbst weiß, was er tut, nimmt den Server allein. Nichts herunterladen, nichts auspacken: Das Paket wird beim ersten Start geholt.
claude mcp add chatgpt-ads -e OPENAI_ADS_API_KEY=Ihr-Schlüssel -- uvx chatgpt-ads-mcpWer erst einmal nur schauen möchte, hängt-e OPENAI_ADS_MCP_READONLY=1an. Dann stehen ausschließlich lesende Werkzeuge zur Verfügung, und es lässt sich nichts verändern.
Andere Assistenten nehmen denselben Befehl als Konfiguration:
{
"mcpServers": {
"chatgpt-ads": {
"command": "uvx",
"args": ["chatgpt-ads-mcp"],
"env": { "OPENAI_ADS_API_KEY": "Ihr Schlüssel" }
}
}
}Den Schlüssel erzeugen Sie selbst im Werbekonto unter ads.openai.com, im Bereich Einstellungen. Ein Schlüssel gehört zu genau einem Konto.
Ihre Zugangsdaten bleiben bei Ihnen. Der Server läuft auf Ihrem Rechner und spricht direkt mit OpenAI. Wir betreiben nichts dazwischen, sehen keine Schlüssel und keine Kontodaten. Das ist auch der Grund, warum wir bewusst keinen gehosteten Zugang anbieten: Er wäre bequemer und würde bedeuten, dass fremde Zugangsdaten über unsere Technik laufen.
Der Befund, der uns dazu gebracht hat
Die Entwicklerdokumentation nennt drei Standort-Typen: Land, Region und die US-amerikanischen Fernsehmarktgebiete. Am 4. September 2026 haben wir das gegen ein echtes Konto geprüft. Der Geo-Endpunkt liefert einen vierten Typ, der nirgends dokumentiert ist, und damit lassen sich Anzeigen auf einzelne Postleitzahlen ausrichten.
Für einen Betrieb mit Einzugsgebiet ist das der Unterschied zwischen einem ganzen Bundesland und den Postleitzahlen der Nachbarorte. Die Fernsehmarktgebiete wiederum kamen für Deutschland in keiner einzigen Abfrage vor.
Wie wir gemessen haben, welche Fallstricke dabei auftraten und warum ein enges Gebiet nicht immer die bessere Wahl ist, steht im Beitrag zum Standort-Targeting. Dort steht auch der Vorbehalt, der dazugehört: Undokumentiert heißt, dass OpenAI sich darauf nicht festgelegt hat.
Quelltext, Fehler, Vorschläge
Das Projekt liegt offen auf GitHub. Fehlermeldungen und Vorschläge sind willkommen, ebenso Beiträge. Wer den Server im eigenen Betrieb einsetzt und etwas vermisst, meldet sich am besten dort.
Zum Repository
Aimani Support