Google Ads MCP Worker
Google Ads MCP Worker
Cloudflare Worker에서 실행되는 Google Ads MCP 서버입니다. mcp-gsc와 동일한 구조입니다: TypeScript, fetch를 통한 REST, Google 클라이언트 라이브러리 없음.
FGRibreau/mcp-google-ads (Rust, API v23)을 API v25로 재구현
인증: OAuth2 리프레시 토큰. Google Ads API는 서비스 계정을 허용하지 않으므로 GSC JWT 방식은 여기 해당되지 않습니다.
전송: Streamable HTTP (
/mcp) 및 레거시 SSE (/sse)
쓰기 작업은 보호되지 않습니다. 드라이런, 예산 상한, 입찰가 상한, 2단계 확인, 감사 로그가 없습니다. 모든 변경 도구는
customer_id가 가리키는 계정에 즉시 적용됩니다.create_campaign,create_ad_group,create_responsive_search_ad는 기본적으로PAUSED로 설정되지만, 이는 재정의할 수 있는 기본값일 뿐 잠금 장치가 아닙니다. 설정을 신뢰할 때까지 이 도구를 테스트 계정에 연결하세요.
설정
1. Google Ads 개발자 토큰
관리자(MCC) 계정 → 도구 및 설정 → API 센터 → 개발자 토큰 신청. 기본 액세스가 승인될 때까지 토큰은 테스트 계정에서만 작동합니다.
2. OAuth 클라이언트
Google Cloud Console → 프로젝트 선택/생성 → Google Ads API 사용 설정.
API 및 서비스 → 사용자 인증 정보 → 사용자 인증 정보 만들기 → OAuth 클라이언트 ID → 데스크톱 앱.
클라이언트 ID와 클라이언트 보안 비밀번호를 기록해 둡니다.
3. 리프레시 토큰
npm install --legacy-peer-deps
npm run token -- <CLIENT_ID> <CLIENT_SECRET>브라우저를 열고 adwords 범위를 요청한 다음 GOOGLE_ADS_REFRESH_TOKEN을 출력합니다.
관리하려는 Ads 계정에 액세스 권한이 있는 Google 계정으로 로그인하세요.
4. 배포
npx wrangler secret put GOOGLE_ADS_DEVELOPER_TOKEN
npx wrangler secret put GOOGLE_ADS_CLIENT_ID
npx wrangler secret put GOOGLE_ADS_CLIENT_SECRET
npx wrangler secret put GOOGLE_ADS_REFRESH_TOKEN
npx wrangler secret put MCP_AUTH_TOKEN # any long random string: openssl rand -hex 32
npm run deploywrangler.jsonc에서 비밀번호가 아닌 기본값을 설정하세요:
변수 | 의미 |
| 기본 계정, 숫자만 사용. 도구는 호출 시마다 재정의하도록 |
| 귀하의 MCC ID이며 |
| 기본값은 |
로컬 개발: .dev.vars.example을 .dev.vars로 복사한 다음 npm run dev를 실행하세요.
5. 클라이언트 연결
claude mcp add --transport http gads https://gads-mcp.<your-subdomain>.workers.dev/mcp \
--header "Authorization: Bearer <MCP_AUTH_TOKEN>"Claude Desktop / stdio 전용 클라이언트:
{
"mcpServers": {
"gads": {
"command": "npx",
"args": [
"mcp-remote",
"https://gads-mcp.<your-subdomain>.workers.dev/mcp",
"--header",
"Authorization: Bearer <MCP_AUTH_TOKEN>"
]
}
}
}그런 다음 health_check를 호출하세요. OAuth 상태, 개발자 토큰 존재 여부, 연결 가능한 계정을 보고합니다.
도구
도구 46개. 모든 고객 범위 도구는 선택적 customer_id를 받습니다.
읽기 (21)
도구 | 설명 |
| 인증 상태, API 버전, 구성된 계정 |
| 접근 가능한 계정 (MCC가 구성된 경우 이름 포함) |
| 통화, 시간대, 자동 태그 지정, 테스트 계정 플래그 |
| 모든 GAQL 쿼리; 기본적으로 |
| 비용별 캠페인 실적 |
| 광고 그룹 실적 |
| RSA 헤드라인/설명 및 승인 상태를 포함한 광고 실적 |
| 일치 유형, 품질평가점수, 입찰가를 포함한 키워드 실적 |
| 실제 검색어 — 제외 키워드 소스 |
| 캠페인 / 광고 그룹 / 공유 세트 제외어 |
| 위치별 실적 |
| 기기별 실적 |
| 변경 이벤트 (API는 30일 보관) |
| 에셋 및 첨부 수준 |
| 정책 주제와 함께 게재불가 및 제한된 광고 |
| 카테고리, 계산, 재방문 기간이 포함된 전환 작업 |
| Google의 추천 및 영향 추정치 |
| 장소 이름 → 지역 타겟 상수 ID |
| 시드 및/또는 URL의 키워드 아이디어 |
| 고정 키워드 목록의 볼륨/경쟁도 |
| 가상 캠페인에 대한 예측 |
쓰기 (25)
도구 | 설명 |
| 일일 예산, 공유 여부 |
| 캠페인 + 선택적 예산을 한 번에 |
| 이름, 상태, 예산, 날짜, 입찰 전략 |
| 광고 그룹 및 기본 CPC |
| 긍정 키워드, 입찰가, 최종 URL |
| 캠페인 또는 광고 그룹 제외어 |
| 고정 기능이 있는 RSA, 전송 전 길이 제한 확인 |
| 리소스 이름으로 모든 항목 일시중지/사용/삭제 |
| 위치 타겟팅 또는 제외, 입찰가 조정 포함 |
| 존재 여부 vs 존재 또는 관심도 |
| 요일별 시간대 및 입찰가 조정 |
| 잠재고객 |
| 사이트링크, 콜아웃, 스니펫, 텍스트, 이미지 |
| 전환 설정, 기본/보조 |
| 포트폴리오 전략 |
| Google의 제안에 대한 조치 |
| 모든 리소스 컬렉션에 대한 원시 변경 — 위의 모든 것을 포함 |
| 임시 ID를 사용한 원자적 |
mutate 및 mutate_batch는 탈출구입니다. Google이 추가하는 모든 항목이나 명명된 도구가 없는 리소스(공유 세트, 사용자 목록, 에셋 그룹, 실험, 라벨)는 코드 변경 없이 이를 통해 처리됩니다.
수동 드라이런을 원하면 둘 다 validate_only를 허용합니다.
검사
npm run typecheck # tsc --noEmit
npm test # pure-logic selfcheck: micros, dates, resource names, bidding payloads참고
금액은 통화 단위(
25.5)로 전달되며 내부적으로 마이크로 단위로 변환됩니다.변경 페이로드는
YYYYMMDD날짜를 사용하고, 보고는YYYY-MM-DD를 사용합니다. 도구는 모든 곳에서YYYY-MM-DD를 받아 변환합니다.updateMask는 snake_case 필드 이름을 사용합니다.mutate에 대한 작업을 직접 작성하는 경우 관련이 있습니다.액세스 토큰은 Worker 격리 단위로 캐시되며, 리프레시 토큰은 해지되거나 6개월 동안 사용되지 않지 않는 한 만료되지 않습니다.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Manage Google, Meta, Amazon, TikTok, LinkedIn & ChatGPT ads. 430 tools for campaigns & analytics.
OpenAI Ads MCP for ChatGPT Ads campaigns, creatives, audiences, insights, and conversions.
Search Meta, Google Ads, LinkedIn, and TikTok ad libraries plus creative analysis via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ambo-sk/mcp-google-ads'
If you have feedback or need assistance with the MCP directory API, please join our Discord server