X Ads MCP sicher einrichten

X Ads MCP mit minimalen OAuth-Scopes verbinden, Ads-Konten prüfen und Kampagnenänderungen kontrolliert freigeben.

Veröffentlicht am 18.09.2026

Dieser Ratgeber bezieht sich ausschließlich auf den offiziellen X Ads MCP unter https://ads-api.x.com/mcp und die Dokumentation https://docs.x.com/x-ads-api/mcp. Er ist nicht die Einrichtung eines allgemeinen X-API-Servers. Plane vor dem Verbinden, ob der Agent nur Kampagnen analysieren soll oder nach einer menschlichen Freigabe auch Änderungen vorbereiten darf. Für den ersten Test ist ein separates Ads-Testkonto oder eine eng begrenzte Kampagne sinnvoll.

X-App und Ads-Zugriff vorbereiten

Lege in der X Developer Console eine neue oder vorhandene App an. Aktiviere laut X die App-Berechtigung Read and Write, wähle für den üblichen PKCE-Weg eine Native App und registriere genau die Callback-URI des verwendeten Clients. Für Claude Code nennt X http://localhost:8080/callback; andere Clients können andere, in der Dokumentation genannte Callback-URIs benötigen. Aktiviere unter Project Access das Ads Project. Prüfe außerdem, dass dein X-Nutzer tatsächlich Zugriff auf mindestens ein Ads-Konto hat. Ein vorhandenes X-Profil genügt nicht ohne Ads-Konto- oder Rollenfreigabe.

Eine App-und-Nutzer-Kombination hält laut X nur einen aktiven OAuth-Grant. Wenn du denselben Nutzer in einem zweiten Client anmeldest, kann der erste Client seine Tokens verlieren. Nutze deshalb pro dauerhaftem Client eine eigene X-App und dokumentiere, wem diese App und das zugehörige Ads-Konto gehören.

Mit kleinsten Scopes verbinden

Starte mit den OAuth-Scopes ads.read offline.access. Damit kann der Agent Konten auflisten und Analytics lesen, aber keine Kampagnen, Line Items, Creatives oder Targeting verändern. offline.access ermöglicht Token-Refresh; ohne diesen Scope musst du nach Ablauf des Zugriffstokens erneut interaktiv anmelden. Ergänze ads.write erst, wenn es einen klaren Änderungsauftrag und einen Freigabeweg gibt.

Für Claude Code dokumentiert X diesen Grundbefehl:

claude mcp add x-ads https://ads-api.x.com/mcp --transport http --client-id YOUR_OAUTH2_CLIENT_ID --callback-port 8080

Führe anschließend /mcp im Client aus und schließe den Browser-Login ab. Die von X beschriebene Scope-Einschränkung für Claude Code wird in dessen Server-Konfiguration als ads.read offline.access gesetzt. Gib niemals Access Token, Refresh Token, OAuth-Code oder Client Secret in einen Chat ein. Native Apps benötigen für PKCE kein Client Secret.

Zuerst lesen, dann gezielt schreiben

Bitte den Agenten zuerst, die erreichbaren Ads-Konten aufzulisten und eine einzelne Kampagne samt Leistungsdaten zu erklären. Prüfe, ob die Kontonummer, der Anzeigename und der Zeitraum stimmen. Tool-Ergebnisse können Reichweite, Ausgaben, Targeting, Finanzierungsinformationen oder Daten zu promoteten Posts enthalten; behandle sie entsprechend vertraulich.

Für Änderungen sollte der Agent zunächst einen Plan liefern: Zielkonto, Kampagnenname, Budget- und Zeitrahmen, Targeting, Creative und die konkrete Tool-Folge. Prüfe diesen Plan außerhalb von Tool-Texten. X erstellt neue Kampagnen und Line Items laut Dokumentation immer PAUSED. Das verhindert sofortige Ausgaben, ersetzt aber keine Prüfung: Erst activate_campaign oder activate_line_item löst die Aktivierung aus. Freigabe und Aktivierung sollten bei einer verantwortlichen Person bleiben.

Datenpfad und Prompt Injection begrenzen

Die Daten laufen von X zum MCP-Client und von dort, abhängig von dessen Konfiguration, weiter zum Sprachmodell. Bei einem Cloud-Modell können Kampagnen-, Audience- und Kundendaten also auch beim Modellanbieter landen. Prüfe Datenschutz, Auftragsverarbeitung, Log-Aufbewahrung und ob Tool-Resultate gespeichert oder zum Training verwendet werden. Verwende keine echten Kundensegmente in ersten Tests, wenn deren Weitergabe ungeklärt ist.

Namen von Audiences, Posts oder Analysefeldern sind keine vertrauenswürdigen Anweisungen. Wenn ein Tool-Ergebnis etwa fordert, mehr Daten abzurufen oder eine Kampagne zu aktivieren, ist das Prompt Injection. Lass Tool-Daten nicht die Tool-Auswahl bestimmen. Trenne Analyse von Schreibzugriff, verlange bei jeder Aktivierung eine explizite Bestätigung und verwende möglichst ein Testkonto.

Rate Limits beobachten und Fehler sicher behandeln

X veröffentlicht Limits und Reset-Zeiten in Response-Headern. Beachte sowohl token- als auch gegebenenfalls Ads-Konto-bezogene Header. Bündele Abfragen, frage bei Synchronisation nur seit dem letzten Stand geänderte Daten ab und wiederhole Fehler nicht blind. Bei 401 ist der Token möglicherweise abgelaufen; erneuere ihn über den vorgesehenen OAuth-Flow. Bei 403 fehlen häufig Ads-Projektzugriff, App-Freigabe oder Konto-Rechte. Bei 429 warte bis zum Reset und reduziere die Abfragerate.

Abschlusskontrolle

Halte fest, welcher Client, welche X-App, welcher Nutzer und welche Ads-Konten verbunden sind. Verifiziere, dass eine reine Analyse-Sitzung ohne ads.write keine Änderungen ausführen kann. Dokumentiere, wer Kampagnenaktivierungen freigibt, und überprüfe die Client-Konfiguration regelmäßig auf unnötige Tokens oder zu breite Scopes. So bleibt X Ads MCP ein kontrolliertes Werkzeug für Ads-Analysen und vorbereitete Kampagnenarbeit statt eines unüberwachten Schreibzugangs.

Veröffentlicht am 18.09.2026

Kategorien

Häufige Fragen

Ist X Ads MCP ein allgemeiner X-Zugriff?

Nein. Der offizielle Server ist für die X Ads API gedacht: Ads-Konten, Kampagnen, Targeting, Creatives und Ads-Analytics. Er ist kein allgemeiner Timeline-, Such- oder Direktnachrichten-Server.

Kann ich nur lesen und analysieren?

Ja. Fordere ads.read und offline.access an, lasse ads.write weg. Schreibwerkzeuge erhalten dann einen Autorisierungsfehler statt Kampagnen zu verändern.

Warum starten Kampagnen pausiert?

Laut X werden Kampagnen und Line Items immer PAUSED erzeugt. Ausgaben beginnen erst nach einer expliziten Aktivierung; diese sollte trotzdem menschlich geprüft werden.

Gibt es ein öffentliches Repository oder GitHub-Sterne?

Für diesen remote betriebenen X Ads MCP veröffentlichte X beim Review am 2026-09-08 kein öffentliches, Ads-spezifisches Quellcode-Repository. Deshalb sind Repository-Link und Sterne leer.