google-ads-mcp
google-ads-mcp
Claude에서 지출 효율성, 노출 점유율, 에셋 성과를 진단하기 위한 Google Ads용 MCP 서버입니다.
캠페인, 키워드, RSA, 에셋, 잠재고객, 지역/기기 구분, 노출 점유율, 경매 통찰력, 예산 페이싱을 아우르는 22가지 도구와 원시 GAQL 탈출구를 제공합니다. 단순히 "내 캠페인 나열"과 같은 대시보드 스타일의 쿼리가 아닌, 실제 진단을 수행하는 B2B 검색 광고 팀과 대행사를 위해 구축되었습니다.
이 프로젝트의 존재 이유
대부분의 Google Ads MCP 서버는 "캠페인 나열 + 기본 지표" 수준에서 멈춥니다. 이 서버는 검색 광고 팀이 실제로 묻는 질문들을 해결합니다: 교체할 수 있도록 LOW로 표시된 RSA 에셋은 무엇인가, 전환 없이 예산만 소진하는 키워드는 무엇인가, 경매 통찰력에서 노출 점유율을 잃고 있는 대상은 누구인가, 모바일 대 데스크톱 CPA 격차는 얼마인가, 현재 예산 제한이 걸린 캠페인은 무엇인가. 이러한 질문들은 성과를 개선하기 위해 필요한 핵심 요소이며, 여기서는 모두 일급 도구로 제공됩니다.
공식 googleads/google-ads-mcp와 차별화되는 점: RSA 에셋 성과 라벨, 경매 통찰력, 노출 점유율 분석, 지역/기기 구분, 잠재고객 타겟팅 검사, 예산 페이싱 기능을 제공합니다.
Related MCP server: adops-mcp
예시 프롬프트
설치 후 Claude에게 다음과 같이 질문해 보세요:
"이번 달 경쟁사 대비 내 노출 점유율은 어떤가요? 가장 자주 밀리는 상대는 누구인가요?"
"교체할 수 있도록 성과 라벨이 LOW인 모든 RSA 에셋을 보여주세요."
"지난 30일 동안 전환 없이 가장 많은 비용을 지출한 키워드는 무엇인가요?"
"모든 캠페인에 걸쳐 모바일과 데스크톱의 CPA 차이는 어떻게 되나요?"
"현재 예산 제한이 걸린 캠페인이 있나요? 노출 점유율 손실(예산)을 보여주세요."
"내 리마케팅 잠재고객 목록을 나열하고 검색 광고에서 타겟팅할 만큼 규모가 큰 목록이 무엇인지 알려주세요."
데모
🎥 워크스루 영상 곧 공개 예정 — Claude에서 60초 이내에 낭비되는 지출을 진단하는 방법.
기능
카테고리 | 도구 |
계정 | 계정 나열, 계정 정보 |
캠페인 | 캠페인 나열, 캠페인 성과, 광고 그룹 성과 |
키워드 | 키워드 성과, 검색어 보고서 |
전환 | 캠페인별 전환, 전환 액션 나열 |
광고 문구 / RSA | 광고 강도가 포함된 RSA 나열, RSA 에셋 성과 라벨 |
에셋 / 확장 | 계정 에셋 나열, 캠페인 에셋 |
잠재고객 | 사용자 목록 나열, 캠페인 잠재고객 타겟팅 |
성과 | 지역 성과, 기기 성과, 노출 점유율, 경매 통찰력 |
예산 | 예산 나열, 예산 페이싱 |
탈출구 | 원시 GAQL 쿼리 |
사전 요구 사항
Node.js 20+
Google Ads 개발자 토큰 (여기서 신청)
Google Cloud Console에서 발급받은 OAuth 2.0 자격 증명 (클라이언트 ID + 비밀번호)
https://www.googleapis.com/auth/adwords범위가 포함된 새로 고침 토큰
환경 변수
변수 | 필수 | 설명 |
| 예 | Google Ads 개발자 토큰 |
| 예 | OAuth 2.0 클라이언트 ID |
| 예 | OAuth 2.0 클라이언트 비밀번호 |
| 예 | OAuth 2.0 새로 고침 토큰 |
| 예* | 기본 고객 ID (대시 제외). 도구 호출 시 재정의 가능. |
| 아니요 | MCC 액세스를 위한 관리자 계정 ID |
사용법
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"google-ads": {
"command": "npx",
"args": ["-y", "google-ads-mcp"],
"env": {
"GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_TOKEN",
"GOOGLE_ADS_CLIENT_ID": "YOUR_CLIENT_ID",
"GOOGLE_ADS_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"GOOGLE_ADS_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN",
"GOOGLE_ADS_CUSTOMER_ID": "1234567890"
}
}
}
}Claude Code
{
"mcpServers": {
"google-ads": {
"command": "node",
"args": ["/path/to/google-ads-mcp/dist/index.js"],
"env": {
"GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_TOKEN",
"GOOGLE_ADS_CLIENT_ID": "YOUR_CLIENT_ID",
"GOOGLE_ADS_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"GOOGLE_ADS_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN",
"GOOGLE_ADS_CUSTOMER_ID": "1234567890"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"google-ads": {
"command": "npx",
"args": ["-y", "google-ads-mcp"],
"env": {
"GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_TOKEN",
"GOOGLE_ADS_CLIENT_ID": "YOUR_CLIENT_ID",
"GOOGLE_ADS_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"GOOGLE_ADS_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN",
"GOOGLE_ADS_CUSTOMER_ID": "1234567890"
}
}
}
}Docker
docker build -t google-ads-mcp .
docker run --rm \
-e GOOGLE_ADS_DEVELOPER_TOKEN=YOUR_TOKEN \
-e GOOGLE_ADS_CLIENT_ID=YOUR_CLIENT_ID \
-e GOOGLE_ADS_CLIENT_SECRET=YOUR_CLIENT_SECRET \
-e GOOGLE_ADS_REFRESH_TOKEN=YOUR_REFRESH_TOKEN \
-e GOOGLE_ADS_CUSTOMER_ID=1234567890 \
google-ads-mcp도구 참조
도구 | 설명 |
| 원시 GAQL 쿼리 실행 — 사용자 지정 보고서를 위한 탈출구 |
| 액세스 가능한 모든 Google Ads 계정 나열 |
| 이름, 통화, 시간대, 관리자 플래그, 상태 |
| 상태, 채널 유형, 입찰 전략이 포함된 캠페인 |
| 노출수, 클릭수, CTR, CPC, 비용, 전환수, CPA, ROAS |
| 캠페인 컨텍스트가 포함된 광고 그룹 지표 |
| 일치 유형, 품질 점수, 비용, 전환수가 포함된 키워드 |
| 광고를 트리거한 실제 사용자 쿼리 — 제외 키워드 및 기회 발견 |
| 캠페인별 전환 × 전환 액션 |
| 카테고리, 유형, 집계 방법이 포함된 모든 전환 액션 |
| 모든 헤드라인, 설명, 광고 강도, 승인 상태가 포함된 RSA |
| 에셋별 성과 라벨: BEST / GOOD / LOW / PENDING / LEARNING |
| 계정 에셋: 사이트링크, 콜아웃, 구조화된 스니펫, 이미지 |
| 필드 유형과 함께 캠페인에 연결된 에셋 |
| 규모 및 일치율이 포함된 사용자 목록 (리마케팅, 고객 일치) |
| 입찰 조정 및 포함/제외가 포함된 캠페인 잠재고객 |
| 국가, 지역, 도시별 성과 |
| MOBILE / DESKTOP / TABLET별 비용, 전환수, CPA 구분 |
| 캠페인별 검색 IS, 노출 점유율 손실(예산), 노출 점유율 손실(순위) |
| 경쟁사 대비 노출 점유율, 중복 비율, 순위 우위 점유율 |
| 모든 예산: 금액, 게재 방식, 기간, 권장 예산 |
| 활용률 %가 포함된 캠페인별 비용 대 예산 |
소스에서 빌드
git clone https://github.com/ZLeventer/google-ads-mcp.git
cd google-ads-mcp
npm install
npm run build라이선스
MIT — Copyright (c) 2026 Zach Leventer
Available Tools
22 toolsgads_account_infoA
Get basic info for the current Google Ads account: name, currency, timezone, manager flag, status.
Inputs: customer_id.
gads_ad_group_performanceB
Ad group performance with campaign context. Optional campaign_id filter. Default last 28 days, enabled ad groups.
Inputs: start_date, end_date, customer_id, limit, +2 more.
gads_auction_insightsB
Auction Insights report: impression share, overlap rate, outranking share, top-of-page %, and absolute top % vs competitors. Optional campaign filter.
Inputs: customer_id, start_date, end_date, campaign_id.
gads_budget_pacingA
Cost vs budget per campaign for the specified period with utilization percentage. Flags over- and under-pacing campaigns. Default last 28 days.
Inputs: customer_id, start_date, end_date.
gads_campaign_assetsA
Assets linked to campaigns with field type and status. Shows which extensions are active on which campaigns.
Inputs: customer_id, campaign_id.
gads_campaign_audience_targetingA
Audiences attached to campaigns with targeting setting (observation vs targeting) and bid modifier. Shows both inclusion and exclusion lists.
Inputs: customer_id, campaign_id.
gads_campaign_performanceA
Campaign-level performance: impressions, clicks, CTR, avg CPC, cost, conversions, conv value, CPA, ROAS. Defaults to last 28 days, enabled campaigns, sorted by cost desc.
Inputs: start_date, end_date, customer_id, limit, +2 more.
gads_conversions_by_campaignB
Conversions and conversion value broken down by campaign × conversion action. Sorted by conversions desc. Default last 28 days.
Inputs: start_date, end_date, customer_id, limit.
gads_device_performanceA
Clicks, cost, CTR, conversions, and CPA split by MOBILE / DESKTOP / TABLET per campaign. Default last 28 days.
Inputs: customer_id, start_date, end_date, campaign_id.
gads_geo_performanceB
Performance broken down by geographic location (country, region, city). Surfaces top and bottom geo segments by cost and conversions.
Inputs: customer_id, start_date, end_date, campaign_id, +1 more.
gads_keyword_performanceA
Keyword-level performance with match type, quality score, clicks, cost, conversions. Filter by campaign_id or ad_group_id. Default last 28 days, enabled keywords.
Inputs: start_date, end_date, customer_id, limit, +3 more.
gads_list_accountsA
List all Google Ads customer accounts the authenticated user has access to. Useful for finding customer IDs.
Inputs: no named parameters.
gads_list_assetsB
List account-level assets: sitelinks, callouts, structured snippets, images, call extensions, and more. Filter by asset type.
Inputs: customer_id, asset_type, limit.
gads_list_audiencesB
List user lists (remarketing audiences, customer match lists) in the account with size, eligibility, and match rate.
Inputs: customer_id, limit.
gads_list_budgetsB
All campaign budgets with daily/total amount, delivery method (STANDARD/ACCELERATED), period, and whether a recommended budget exists.
Inputs: customer_id.
gads_list_campaignsB
List campaigns in the account with name, status, channel type, bidding strategy, and date range. Filter by status (default ENABLED).
Inputs: status, customer_id, limit.
gads_list_conversion_actionsC
List all conversion actions configured in the account: name, category, type, whether included in Conversions metric, counting type.
Inputs: customer_id, status.
gads_list_rsasB
List Responsive Search Ads with all headlines, descriptions, Ad Strength rating, and approval status. Filter by campaign or ad group.
Inputs: customer_id, campaign_id, ad_group_id, limit.
gads_rsa_asset_performanceA
Asset-level performance labels (BEST / GOOD / LOW / PENDING / LEARNING) for RSA headlines and descriptions. Identifies which assets to keep, test, or replace.
Inputs: customer_id, ad_group_id, date_range.
gads_run_gaqlA
Escape hatch: run any raw GAQL query against Google Ads. Use when preset tools don't cover the report shape you need. Docs: developers.google.com/google-ads/api/docs/query/overview
Inputs: query (required), customer_id.
gads_search_terms_reportA
Search terms that triggered ads (the actual user queries, not your keywords). Essential for finding wasted spend and negative keyword candidates. Default last 28 days.
Inputs: start_date, end_date, customer_id, limit, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
TDQS
Scored across 22 tools
Each tool targets a distinct aspect of Google Ads (account info, campaign performance, keyword performance, asset management, etc.). Even related tools like campaign_performance and ad_group_performance are clearly differentiated by level. No two tools appear to serve the same purpose.
All tools share the 'gads_' prefix and use lowercase with underscores. The naming follows a descriptive phrase pattern (e.g., gads_campaign_performance, gads_rsa_asset_performance). While not strictly verb_noun, the convention is consistent and readable.
22 tools is well-scoped for a comprehensive Google Ads server. It covers listing entities, performance reports across dimensions, conversion analysis, budget pacing, auction insights, and an escape hatch. Each tool earns its place without overwhelming the user.
The tool set covers most common reporting and listing needs (campaigns, ad groups, keywords, assets, audiences, conversions, etc.). Missing write operations (create/update/delete) but these are often out of scope for a reporting-focused MCP server. The GAQL escape hatch compensates for any missing report shapes.
Maintenance
Related MCP Connectors
Google Ads MCP server: 17 tools for reporting, campaigns, keywords, assets. Writes preview first.
Google Ads MCP server — manage campaigns, keywords, and metrics.
Microsoft Ads MCP server: 11 tools for search, PMax, Google Ads imports. Read-only by default.
Hosted MCP server for marketing agencies: connect Google Ads, GA4, Search Console, Meta, LinkedIn and more to Claude or ChatGPT. Pull reports and make changes via OAuth login, no setup.
Related MCP Servers
AlicenseNot gradedqualityFmaintenanceMCP server for managing Google Ads, Meta Ads, LinkedIn Ads, and TikTok Ads via AI. 210+ tools including account audits, wasted spend detection, and PMax insights.2MIT- AlicenseAqualityCmaintenanceCross-platform ad management MCP server for Google Ads and Meta Ads. Campaign analytics, A/B testing with z-test, anomaly detection, and budget reallocation. 15 tools, 60 tests.1792 npmMIT
- AlicenseNot gradedqualityDmaintenanceA comprehensive Google Ads MCP server providing ~47 tools for full read/write access to Google Ads accounts, including campaign management, ad creation, keyword management, and reporting.2Apache 2.0
- AlicenseNot gradedqualityDmaintenanceMCP server for managing Google Ads campaigns through the official Google Ads API, covering accounts, campaigns, budgets, keywords, search terms, and keyword ideas. It provides tools for both reading and mutating live ads data, such as pausing campaigns, updating budgets, and adding keywords.MIT