Skip to main content
Glama
zelentsov-dev

Google Ads MCP

Google Ads MCP

Google Ads MCP ist ein lokaler, sicherheitsorientierter, schreibgeschützter MCP-Server und ein Codex-Plugin zum Untersuchen von Google-Ads-Konten. Version 0.1.0 stellt begrenzte Tools für Inventar, Berichte, Metadaten, Änderungsverlauf und sicheres GAQL bereit. Es enthält keine Schreib-, Upload-, Planungs-, Lösch-, Optimierungs- oder gehosteten Transportfunktionen.

Die öffentliche Python-Distribution heißt google-ads-operator-mcp. Produkt und Befehl bleiben Google Ads MCP und google-ads-mcp.

Sicherheitsgrenze

  • Jede kontobezogene Anfrage nennt sowohl ein Profil als auch eine Kunden-ID.

  • Google-Anmeldedaten bleiben in Application Default Credentials oder in einer expliziten, nur für den Eigentümer zugänglichen google-ads.yaml außerhalb des Repositorys.

  • accounts.json darf nur einen Umgebungsvariablennamen für das Entwickler-Token enthalten, niemals das Token selbst.

  • allowWrites muss false sein; jeder andere Wert wird abgelehnt.

  • Nur GoogleAdsService, CustomerService und GoogleAdsFieldService werden vom Produktionsadapter instanziiert.

  • Ein Tool erhält normalisierte Zeilen, niemals einen Google-Client oder einen rohen Antwortumschlag.

  • Im MCP-Modus ist stdout für JSON-RPC reserviert. Diagnosen und bereinigte Fehlercodes gehen an stderr.

Lesen Sie SECURITY.md, PRIVACY.md und das Bedrohungsmodell, bevor Sie ein Produktionskonto verbinden.

Related MCP server: appstoreconnect-codex-mcp

Anforderungen

  • Python 3.11, 3.12 oder 3.13

  • uv

  • Zugriff auf die Google Ads API mit einem Entwickler-Token

  • ADC oder eine separat gespeicherte, nur für den Eigentümer zugängliche google-ads.yaml

Verwenden Sie die offizielle Anleitung von Google für das Entwickler-Token, die Python-Client-Konfiguration und Application Default Credentials.

Lokale Einrichtung

uv sync --frozen --all-groups
uv run --frozen google-ads-mcp version
uv run --frozen google-ads-mcp config init

Nach der öffentlichen Veröffentlichung kann die eigenständige CLI auch mit uv tool install google-ads-operator-mcp==0.1.0 installiert werden. Verwenden Sie für das abschließende Abnahme-Gate für das saubere Plugin das Release-Plugin-Archiv und nicht eine Kopie des Quellbaums.

Bearbeiten Sie ~/.config/google-ads-mcp/accounts.json, ersetzen Sie die öffentlichen Konto-IDs und stellen Sie dann die nur für den Eigentümer zugänglichen Berechtigungen wieder her:

Machen Sie GOOGLE_ADS_DEVELOPER_TOKEN aus Ihrem lokalen Secret-Manager verfügbar, ohne seinen Wert im Repository oder im Chat zu hinterlegen, und führen Sie dann aus:

chmod 600 ~/.config/google-ads-mcp/accounts.json
gcloud auth application-default login
uv run --frozen google-ads-mcp config validate
uv run --frozen google-ads-mcp auth doctor --profile production-read-only

Fügen Sie das Entwickler-Token, das OAuth-Refresh-Token, das Client-Secret, ADC-JSON oder YAML-Inhalte nicht in dieses Repository, in ein Issue, in ein Terminalprotokoll oder in einen Chat ein.

Konfiguration

Die Konfigurationsreihenfolge ist --config, dann GOOGLE_ADS_MCP_CONFIG, dann ~/.config/google-ads-mcp/accounts.json.

{
  "profiles": [
    {
      "name": "production-read-only",
      "loginCustomerId": "1234567890",
      "defaultCustomerId": "0987654321",
      "auth": {
        "type": "adc",
        "developerTokenEnv": "GOOGLE_ADS_DEVELOPER_TOKEN"
      },
      "allowWrites": false
    }
  ]
}

Für ein vorhandenes Google-Client-YAML verwenden Sie {"type":"googleAdsYaml","path":"/absolute/owner-only/google-ads.yaml"}. Relative Pfade und symbolische Links werden abgelehnt. Der Server durchsucht weder das Arbeitsverzeichnis noch das Repository nach YAML-Anmeldedaten.

CLI

google-ads-mcp version
google-ads-mcp config init
google-ads-mcp config validate
google-ads-mcp auth doctor --profile <name>
google-ads-mcp accounts discover --profile <name>
google-ads-mcp serve --stdio

MCP-Tools

Die feste v0.1-API-Oberfläche ist:

auth_check                customers_list
customer_get              customer_hierarchy
account_health            campaigns_query
campaign_inventory        resource_metadata
reports_catalog           report_run
change_events_query       gaql_validate
gaql_search

Typisierte Listen geben höchstens 200 Elemente pro Seite zurück. Ein einzelner Google-Lesevorgang ist auf 1.000 normalisierte Zeilen begrenzt. Fünf-Minuten-Cursor sind an das Profil und die genaue Anfrage gebunden, mit höchstens 20 aktiven Cursorn pro Profil. Sicheres GAQL hat keinen Cursor und erfordert ein einzelnes, kommentarfreies SELECT, eine nicht sensible Ressource und LIMIT 1..1000.

Siehe docs/tools.md für Parameter, Evidenzsemantik und Berichtsverhalten.

Codex-Plugin

Das Repository-Stammverzeichnis ist das Plugin-Stammverzeichnis. .mcp.json ruft ./bin/google-ads-mcp-launcher auf, das nur die eingefrorene uv-Umgebung über stdio ausführt. Das implizite google-ads-operator-Skill behandelt alle Konto-Strings als nicht vertrauenswürdige Daten und schlägt niemals nicht verfügbare Mutations-Tools vor.

Das Repository erstellt oder ändert bewusst keinen persönlichen Marketplace-Eintrag. Die Installation aus dem Release-Archiv wird während der Abnahme separat validiert.

Verifizierung

uv run --frozen ruff check .
uv run --frozen pyright
uv run --frozen pytest
uv run --frozen python scripts/validate_read_only.py
uv run --frozen python scripts/validate_gaql_templates.py
uv run --frozen python ~/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py .
uv run --frozen python ~/.codex/skills/.system/skill-creator/scripts/quick_validate.py skills/google-ads-operator

Automatisierte Verifizierung ist keine Abnahme an einem Live-Konto. Die Gates für das Testkonto und den produktions-schreibgeschützten Zugriff in docs/acceptance.md bleiben vor v0.1.0 erforderlich.

Lizenz

Apache-2.0. Google Ads ist eine Marke von Google LLC. Dieses Projekt ist unabhängig und wird nicht von Google unterstützt.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

UpdatingMaintainers
UpdatingResponse time
Release cycle
0Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables read-only access to SentinelOne's platform through MCP, allowing security investigations, threat hunting, and asset inventory queries via natural language.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only interaction with App Store Connect via MCP tools, including listing apps, versions, builds, and review submissions, with compliance boundaries and no write operations by default.
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Read-only MCP server for Google Ads, enabling querying campaigns, ad groups, ads, insights, and keywords without create/update/delete operations.
    9
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides read-only access to Google Ads account data including campaigns, ad groups, keywords, and performance reports. Enables querying via GAQL through an MCP interface.
    MIT

View all related MCP servers

Related MCP Connectors

  • Read-only MCP access to sessions, funnels, campaigns, errors, live visitors, and anomalies.

  • Read-only access to your VortexIQ store data: audits, KPIs, alerts, Brand DNA, reports, Ask VIQ.

  • Read-only Frasma MCP: profile, knowledge search, diagnostic handoff. No email.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zelentsov-dev/google-ads-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server