Google Ads MCP sunucusu: Geliştirici entegrasyon kılavuzu

Model Context Protocol (MCP), büyük dil modellerinin (LLM'ler) harici veriler ve uygulamalarla güvenli bir şekilde etkileşim kurmasını sağlayan açık bir standarttır. Google Ads MCP sunucusu, Google Ads API'ye standartlaştırılmış bir köprü sağlar. Bu sayede yapay zeka temsilcileri, doğal dili kullanarak kampanya verilerini analiz edip alabilir.

Topluluk kaynakları ve desteği

Teknik genel bakış

Bu MCP sunucusunu uygulayarak Google Ads API kimlik doğrulaması, kaynak getirme ve veri ayrıştırma için özel "bağlayıcı kod" yazma ihtiyacını ortadan kaldırırsınız. Sunucu, LLM'nin bağımsız olarak keşfedip çağırabileceği belirli araçlar sunar.

Temel özellikler

  • Protokol: MCP (Model Context Protocol)
  • Mod: Salt okunur (mevcut sürüm)
  • Dil: Python
  • Taşıma: Standart giriş/çıkış (stdio)
  • Kimlik doğrulama: OAuth 2.0 veya hizmet hesabı

Etkileşim döngüsünün işleyiş şekli

  1. İstek: Bir kullanıcı "Kampanya performansım bu hafta nasıl?" gibi bir sorgu gönderiyor.
  2. Keşif: LLM, mevcut araçlarını inceler ve google-ads-mcp arama özelliklerini belirler.
  3. Yürütme: MCP sunucusu, Google Ads API'yi sorgulamak için temel Python mantığını yürütür.
  4. Bağlam yerleştirme: Yapılandırılmış sonuçlar, LLM'nin bağlam penceresine döndürülür.
  5. Yanıt: LLM, verileri insan tarafından okunabilecek bir yanıta dönüştürür.

Başlayın

Google Ads MCP sunucusunu yapılandırmak ve kullanmak için aşağıdaki adımları uygulayın.

Ön koşullar

Yapılandırmadan önce Google Ads Geliştirici Konsolu'ndan aşağıdaki kimlik bilgilerine sahip olduğunuzdan emin olun:

  • Geliştirici jetonu: 22 karakterlik benzersiz erişim dizeniz.
  • Proje kimliği: Google Cloud proje tanımlayıcınız.
  • OAuth kimlik bilgileri: OAuth2 istemci kimliği/istemci gizli anahtarı çifti veya bir grup varsayılan uygulama kimlik bilgisi.

Yapılandırma

Sunucuyu MCP ile uyumlu bir ana makineye entegre etmek için ana makinenizin MCP yapılandırma dosyasına (ör. settings.json) aşağıdaki girişi ekleyin. Bu yapılandırmanın tam konumu ve dosya adı için barındırıcınızın dokümanlarına bakın.

JSON

{
  "mcpServers": {
    "google-ads-mcp": {
      "command": "pipx",
      "args": [
        "run",
        "--spec",
        "git+https://github.com/googleads/google-ads-mcp.git",
        "google-ads-mcp"
      ],
      "env": {
        "GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID",
        "GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_DEVELOPER_TOKEN"
      }
    }
  }
}

Google Cloud'da dağıtım

Bu MCP sunucusunu yerel olarak barındırmak yerine Google Cloud Run'da veya başka bir bulut tabanlı altyapıda barındırabilirsiniz. Bu, sunucuyu farklı aracılarla paylaşmak veya web hizmeti olarak çalıştırmak istediğinizde yararlıdır.

Ön koşullar

  1. Google Cloud projesi.
  2. gcloud komut satırı aracı yüklendi, kimliği doğrulandı ve etkin bir proje yapılandırıldı:

    gcloud config set project YOUR_PROJECT_ID
    

Docker görüntüsü oluşturma ve aktarma

Görüntüyü derlemek ve Artifact Registry'ye aktarmak için Cloud Build'i kullanabilirsiniz. Bunun için Docker'ın yerel olarak yüklü olması gerekmez.

  1. Artifact Registry'de bir depo oluşturun:

    gcloud artifacts repositories create mcp-servers --repository-format=docker --location=us-central1
    
  2. Görüntüyü oluşturup gönderin:

    gcloud builds submit --tag us-central1-docker.pkg.dev/YOUR_PROJECT_ID/mcp-servers/google-ads-mcp:latest .
    

    Bu adımın, dağıtılan sunucuyu en son sürüme güncellemek istediğiniz her seferde gerçekleştirilmesi gerektiğini unutmayın.

Google Cloud Run'a dağıtma

Gerekli ortam değişkenlerini ayarladığınızdan emin olun:

  • GOOGLE_PROJECT_ID: Google Cloud proje kimliğiniz.
  • GOOGLE_ADS_DEVELOPER_TOKEN: MCP sunucusunun kullanmasını istediğiniz geliştirici jetonu.
  • GOOGLE_ADS_MCP_OAUTH_CLIENT_ID: MCP sunucusunun kullanmasını istediğiniz OAuth istemci kimliği.
  • GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET: MCP sunucusunun kullanmasını istediğiniz OAuth istemci sırrı.
  • GOOGLE_ADS_MCP_BASE_URL: MCP sunucunuza erişilebilen temel URL: Bu, ilk dağıtımınızdan sonra Google Cloud Run tarafından otomatik olarak atanır. Ortam değişkenlerini dağıtımdan sonra güncelleyebilirsiniz.
  • FASTMCP_HOST: FastMCP'nin tüm IP adreslerinden gelen bağlantıları kabul etmesine izin vermek için bu değeri 0.0.0.0 olarak ayarlayın.
gcloud run deploy google-ads-mcp \
  --image us-central1-docker.pkg.dev/YOUR_PROJECT_ID/mcp-servers/google-ads-mcp:latest \
  --platform managed \
  --region us-central1 \
  --allow-unauthenticated \
  --set-env-vars="GOOGLE_PROJECT_ID=YOUR_PROJECT_ID,GOOGLE_ADS_DEVELOPER_TOKEN=YOUR_DEVELOPER_TOKEN,GOOGLE_ADS_MCP_OAUTH_CLIENT_ID=YOUR_CLIENT_ID,GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET=YOUR_CLIENT_SECRET,GOOGLE_ADS_MCP_BASE_URL=YOUR_BASE_URL,FASTMCP_HOST=0.0.0.0"

MCP istemcisini yapılandırma

Dağıtımdan sonra, Cloud Run URL'sini kullanmak için MCP istemci yapılandırmanızı (örneğin,~/.gemini/settings.json) güncelleyin.

{
  "mcpServers": {
    "google-ads-mcp": {
      "httpUrl": "https://your-cloud-run-url.a.run.app/mcp"
    }
  }
}

Temel özellikler (araçlar)

Sunucu, hesap keşfi ve performans raporlaması için tasarlanmış araçlar sunar:

  • list_accessible_customers: Kimliği doğrulanmış kullanıcının erişebildiği Google Ads müşteri kimliklerinin ve hesap adlarının listesini döndürür.
  • search: Kaynak metriklerini, bütçeleri ve durumu getirmek için Google Ads Sorgu Dili (GAQL) isteklerini yürütür.
  • get_resource_metadata: Bir Google Ads API kaynak türüyle (ör. "kampanya") ilgili meta verileri alır.

    Bu, verilerin yapısını ve hangi alanların sorgulanabileceğini anlamak için yararlıdır.

Başlamak için örnek istemler

Sunucunun neler yapabileceğini sorun:

What can the google-ads-mcp server do?

Müşteriler hakkında soru sorma:

What customers do I have access to?

Kampanyalar hakkında soru sorma:

How many active campaigns do I have?
How is my campaign performance this week?
Give me a report of the top spending campaigns split by device category over the
last 7 days for account 1234567890