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 standart bir köprü sağlayarak yapay zeka ajanlarının doğal dil kullanarak kampanya verilerini analiz etmesine ve almasına olanak tanır.
Topluluk kaynakları ve destek
GitHub deposu: google-ads-mcp deposunda demoları ve örnekleri bulabilir, hataları bildirebilir veya özellik önerebilirsiniz.
Hata raporları ve özellik istekleri için Sorunlar sekmesini kullanın.
Topluluk: Google Reklamcılık Topluluğu Discord'daki
#ads-api-ai-toolskanalına katılın.
Teknik genel bakış
Bu MCP sunucusunu uygulayarak Google Ads API kimlik doğrulaması, kaynak getirme ve veri ayrıştırma için özel "yapıştırı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ı kullanıma sunar.
Temel özellikler
- Protokol: MCP (Model Bağlam Protokolü)
- Mod: Salt okunur (mevcut sürüm)
- Dil: Python
- Taşıma: Standart giriş/çıkış (
stdio) veya akış özellikli HTTP (streamable-http/ Cloud Run) - Kimlik doğrulama: OAuth 2.0 veya hizmet hesabı
Etkileşim döngüsünün işleyiş şekli
- İstek: Kullanıcı, "Kampanyamın bu haftaki performansı nasıl?" gibi bir sorgu gönderir.
- Keşif: LLM, mevcut araçlarını inceler ve arama özelliklerini belirler.
google-ads-mcp - Yürütme: MCP sunucusu, Google Ads API'yi sorgulamak için temel Python mantığını yürütür.
- Bağlam ekleme: Yapılandırılmış sonuçlar, LLM'nin bağlam penceresine döndürülür.
- Yanıt: LLM, verileri insanların okuyabileceği bir yanıt haline getirir.
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 Cloud Console'dan aşağıdaki kimlik bilgilerini aldığınızdan emin olun:
- Proje kimliği: Google Cloud proje kimliğiniz (
GOOGLE_PROJECT_ID). Projenizin Explorer erişimi, Temel erişim veya Standart erişim düzeylerine sahip olduğundan emin olmak için Google Ads API'ye genel bakış sayfasını kontrol edin. Erişiminiz yoksa bu erişim düzeylerinden biri için başvuruda bulunun. Geliştirici jetonlarının (GOOGLE_ADS_DEVELOPER_TOKEN) 9 Eylül 2026'da kullanımdan kaldırıldığını ve API erişim seviyeleri Google Cloud projesiyle ilişkili olduğundan Google Ads MCP sunucusunun en yeni sürümünde artık gerekli olmadığını unutmayın. - OAuth kimlik bilgileri: OAuth 2.0 istemci kimliği/istemci gizli anahtarı çifti veya bir uygulama varsayılan kimlik bilgileri grubu.
Yapılandırma
Sunucuyu MCP 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 ve GOOGLE_APPLICATION_CREDENTIALS değerini ADC JSON dosyanıza yönlendirin (veya varsayılan ADC'yi gcloud auth application-default login ile yapılandırın). Hesaplara bir yönetici hesabı üzerinden erişiyorsanız GOOGLE_ADS_LOGIN_CUSTOMER_ID değerini de ayarlayabilirsiniz.
Bu yapılandırmanın tam konumu ve dosya adı için barındırıcınızın dokümanlarına bakın.
{
"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_APPLICATION_CREDENTIALS": "/path/to/credentials.json"
}
}
}
}
İsteğe bağlı: Temsilcinizi beceriler ve Geliştirici Asistanı ile donatma
Google Ads MCP sunucusu, yapay zeka istemcinize canlı hesap verilerine salt okuma erişimi verir. Temsilcinizin geçerli Google Ads Sorgu Dili (GAQL) sorguları oluşturmasına, hesap performansı değişikliklerini teşhis etmesine ve istemci kitaplığı kodu oluşturmasına yardımcı olmak için MCP sunucusunu şu tamamlayıcı araçlarla eşleştirin:
Google Ads API temsilci becerileri: Temsilcinize Google Ads MCP sunucusunu daha düşük jeton ek yüküyle etkili bir şekilde nasıl kullanacağını öğreten,
google-ads-api-mcp-setup,google-ads-api-account-diagnosticsvegoogle-ads-api-quickstartdahil olmak üzere Google Ads API'ye özgü talimatların ve iş akışlarının taşınabilir modülleri. Bunları tek bir komutla yükleyin (Node.js gerekir) veya Antigravity, Claude Code, Codex ve Cursor seçenekleri için Google Ads API temsilci becerileri kılavuzuna bakın:npx skills add google/skills/skills/adsGoogle Ads API Developer Assistant: Google Antigravity ve Claude Code için yerel Protobuf şeması incelemesi, programatik GAQL doğrulaması, istemci kitaplığı kod oluşturma (mutasyon komut dosyaları dahil) ve çevrimdışı dönüşüm sorunlarını giderme özellikleri sunan modüler bir eklentidir. Google Ads API Developer Assistant nedir? başlıklı makaleden nasıl çalıştığını öğrenebilir veya kurulum kılavuzundaki adımları uygulayabilirsiniz.
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. Sunucuyu farklı temsilciler arasında paylaşmak veya web hizmeti olarak çalıştırmak istiyorsanız bu seçenekten yararlanabilirsiniz.
Ön koşullar
- Google Cloud projesi
gcloudkomut satırı aracı yüklü, kimliği doğrulanmış ve etkin bir proje yapılandırılmış olmalıdır:gcloud config set project YOUR_PROJECT_ID
Docker görüntüsü oluşturma ve aktarma
Docker'ı yerel olarak yüklemenize gerek kalmadan görüntüyü derleyip Artifact Registry'ye aktarmak için Cloud Build'i kullanabilirsiniz.
Artifact Registry'de bir depo oluşturun:
gcloud artifacts repositories create mcp-servers \ --repository-format=docker --location=us-central1Proje dizinine gidin:
cd <full path>/google-ads-mcpGörüntüyü oluşturun ve gönderin:
gcloud builds submit \ --tag us-central1-docker.pkg.dev/YOUR_PROJECT_ID/mcp-servers/google-ads-mcp:latest .Dağıtılan sunucuyu en yeni sürüme güncellemek istediğinizde bu adımı uygulamanız gerektiğini unutmayın.
Google Cloud Run'a dağıtma
Gerekli ortam değişkenlerini ayarladığınızdan emin olun:
GOOGLE_PROJECT_ID: Uygun API erişim düzeylerine sahip Google Cloud proje kimliğiniz.GOOGLE_ADS_MCP_OAUTH_CLIENT_ID: Uygulama düzeyinde OAuth kimlik doğrulaması için OAuth 2.0 istemci kimliği (Google Cloud projenizde web uygulaması olarak yapılandırılır). Şu noktalardan emin olun:- Bağlamayı planladığınız tüm yapay zeka istemcileri (ör.
https://claude.ai/api/mcp/auth_callback,https://chatgpt.com/connector_platform_oauth_redirectveyahttps://antigravity.google/oauth-callback) için uygun yetkilendirilmiş yönlendirme URI'lerini eklediniz. https://www.googleapis.com/auth/adwordskapsamını API'ler ve Hizmetler > OAuth kullanıcı rızası ekranı > Veri Erişimi (Kapsam ekle veya kaldır) bölümündeki OAuth kullanıcı rızası ekranına eklediniz.- OAuth kullanıcı rızası ekranı yayınlama durumunuz Test ediliyor (varsayılan) olarak ayarlanmışsa MCP sunucusuna bağlanan Google Hesaplarını API'ler ve Hizmetler > OAuth kullanıcı rızası ekranı > Kitle (Test kullanıcıları > + Kullanıcı ekle) bölümünde Test kullanıcıları olarak eklemişsinizdir.
- Bağlamayı planladığınız tüm yapay zeka istemcileri (ör.
GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET: OAuth istemci kimliğine karşılık gelen OAuth istemci gizli anahtarı.GOOGLE_ADS_MCP_BASE_URL: MCP sunucunuza erişilebilen herkese açık ana URL (ör.https://google-ads-mcp-xyz-uc.a.run.app). Google Cloud Run, bu URL'yi ilk dağıtım sırasında oluşturduğundan önce bu değişken olmadan dağıtım yapın, ardından dağıtımdan sonra hizmeti güncelleyin.FASTMCP_HOST: FastMCP'nin tüm IP adreslerinden gelen bağlantıları kabul etmesine izin vermek için bu değeri0.0.0.0olarak ayarlayın.
Hizmeti Google Cloud Run'a dağıtı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_MCP_OAUTH_CLIENT_ID=YOUR_CLIENT_ID,GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET=YOUR_CLIENT_SECRET,FASTMCP_HOST=0.0.0.0"
Cloud Run dağıtımı tamamladıktan sonra, atanan hizmet URL'sini alın ve hizmeti GOOGLE_ADS_MCP_BASE_URL ortam değişkeniyle güncelleyin:
gcloud run services update google-ads-mcp \
--region us-central1 \
--update-env-vars="GOOGLE_ADS_MCP_BASE_URL=https://your-cloud-run-url.a.run.app"
Kimlik doğrulama ve güvenlik modeli
--allow-unauthenticated ile dağıtım yapıldığında Cloud Run'ın altyapı düzeyindeki IAM kontrolü (roles/run.invoker) devre dışı bırakılır. Böylece harici yapay zeka istemcileri, Google Cloud hizmet hesabı jetonlarına ihtiyaç duymadan bağlanabilir.
Kimlik doğrulama, uygulama katmanına devredilir:
GOOGLE_ADS_MCP_OAUTH_CLIENT_IDveGOOGLE_ADS_MCP_OAUTH_CLIENT_SECRETsağlandığında MCP sunucusu, gelen tüm isteklerde Google OAuth 2.0'ı zorunlu kılar ve kimliği doğrulanmamış arayanlara HTTP 401 yanıtı gönderir. Tüm araç istekleri, kimliği doğrulanmış arayanın OAuth kimliği altında yürütülür.--allow-unauthenticatedparametresinin kullanılmaması, Cloud Run altyapısı IAM'sini zorunlu kılar. Bu durumda, arayanların her istekte Google Cloud OIDC kimlik jetonlarını iletmesi gerekir. Standart yapay zeka istemcileri (ör. Claude ve ChatGPT), Google Cloud IAM kimlik jetonları yerine son kullanıcı OAuth'u kullanarak kimlik doğrulaması yapar. Bu nedenle, bu platformlardan doğrudan bağlantılar için uygulama düzeyinde OAuth ile--allow-unauthenticatedgerekir.
MCP istemcisini yapılandırma
Dağıtımdan sonra MCP istemcinizi Cloud Run URL'si ile yapılandırın. Sunucu, OAuth 2.0 kimlik doğrulaması gerektirdiğinden istemcinin MCP OAuth akışını desteklemesi veya yetkili bir hamiline ait jeton sağlaması gerekir:
- OAuth özellikli istemciler: MCP OAuth keşfini destekleyen istemcilerde (ör. Antigravity) uç noktaya bağlanıldığında Google ile oturum açmak ve
https://www.googleapis.com/auth/adwordskapsamını (Google Cloud Console'da.../auth/adwordsolarak listelenir) vermek için bir kimlik doğrulama istemi tetiklenir. - Üçüncü taraf yapay zeka platformları (Claude, ChatGPT): İstemcinizin bağlayıcı veya entegrasyon ayarlarında,
/mcpyolunu içeren Cloud Run URL'nizi (ör.https://your-cloud-run-url.a.run.app/mcp) işaret eden özel bir bağlayıcı ekleyin, OAuth 2.0 kimlik doğrulamasını (kendi OAuth istemci kimliğinizi ve istemci gizli anahtarınızı kullanarak) seçin ve istemcinin geri çağırma URI'sinin OAuth istemcinizin yetkili yönlendirme URI'lerine eklendiğinden emin olun. (Barındırılan uç nokta pilot programının izin verilenler listesindeki katılımcıları, barındırılan MCP kurulum kılavuzuna da bakabilir.) - OAuth desteği olmayan istemciler: HTTP OAuth akışlarını desteklemeyen istemciler, HTTP 401 yetkisiz yanıtı alır. Bu araçlar için yerel stdio yapılandırmasını kullanın.
OAuth özellikli bir istemci için örnek yapılandırma (ör. ~/.gemini/settings.json):
{
"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şebileceğ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 GAQL isteklerini yürütür.get_resource_metadata: Bir Google Ads API kaynak türü (ör."campaign") hakkında meta verileri alır.Bu, verilerin yapısını ve sorgulama için hangi alanların kullanılabileceğini anlamak açısından yararlıdır.
Başlangıç için örnek istemler
Sunucunun neler yapabileceğini sorma:
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
Sonraki adımlar
- Google Ads API temsilci becerilerini yükleme
- Google Ads API Geliştirici Asistanı hakkında bilgi
- Google Ads API Developer Assistant'ı yükleme ve kullanma