Skip to main content
Glama
ambo-sk

Google Ads MCP Worker

by ambo-sk

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 클라이언트

  1. Google Cloud Console → 프로젝트 선택/생성 → Google Ads API 사용 설정.

  2. API 및 서비스 → 사용자 인증 정보 → 사용자 인증 정보 만들기 → OAuth 클라이언트 ID → 데스크톱 앱.

  3. 클라이언트 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 deploy

wrangler.jsonc에서 비밀번호가 아닌 기본값을 설정하세요:

변수

의미

GOOGLE_ADS_CUSTOMER_ID

기본 계정, 숫자만 사용. 도구는 호출 시마다 재정의하도록 customer_id를 받습니다.

GOOGLE_ADS_LOGIN_CUSTOMER_ID

귀하의 MCC ID이며 login-customer-id로 전송됩니다. 관리자 계정이 아니면 비워 둡니다.

GOOGLE_ADS_API_VERSION

기본값은 v25입니다. Google에서 새 버전을 출시하면 여기서 올리세요.

로컬 개발: .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)

도구

설명

health_check

인증 상태, API 버전, 구성된 계정

list_accounts

접근 가능한 계정 (MCC가 구성된 경우 이름 포함)

get_account_info

통화, 시간대, 자동 태그 지정, 테스트 계정 플래그

run_gaql

모든 GAQL 쿼리; 기본적으로 searchStream, page_size/page_token이 주어지면 페이지 매김

get_campaign_performance

비용별 캠페인 실적

get_ad_group_performance

광고 그룹 실적

get_ad_performance

RSA 헤드라인/설명 및 승인 상태를 포함한 광고 실적

get_keyword_performance

일치 유형, 품질평가점수, 입찰가를 포함한 키워드 실적

get_search_terms

실제 검색어 — 제외 키워드 소스

get_negative_keywords

캠페인 / 광고 그룹 / 공유 세트 제외어

get_geo_performance

위치별 실적

get_device_performance

기기별 실적

get_change_history

변경 이벤트 (API는 30일 보관)

list_assets

에셋 및 첨부 수준

get_policy_issues

정책 주제와 함께 게재불가 및 제한된 광고

get_conversion_actions

카테고리, 계산, 재방문 기간이 포함된 전환 작업

list_recommendations

Google의 추천 및 영향 추정치

search_geo_targets

장소 이름 → 지역 타겟 상수 ID

discover_keywords

시드 및/또는 URL의 키워드 아이디어

get_keyword_historical_metrics

고정 키워드 목록의 볼륨/경쟁도

get_keyword_forecasts

가상 캠페인에 대한 예측

쓰기 (25)

도구

설명

create_campaign_budget

일일 예산, 공유 여부

create_campaign

캠페인 + 선택적 예산을 한 번에

update_campaign

이름, 상태, 예산, 날짜, 입찰 전략

create_ad_group / update_ad_group

광고 그룹 및 기본 CPC

add_keywords / update_keyword

긍정 키워드, 입찰가, 최종 URL

add_negative_keywords

캠페인 또는 광고 그룹 제외어

create_responsive_search_ad

고정 기능이 있는 RSA, 전송 전 길이 제한 확인

set_entity_status

리소스 이름으로 모든 항목 일시중지/사용/삭제

add_geo_target

위치 타겟팅 또는 제외, 입찰가 조정 포함

set_campaign_geo_target_type

존재 여부 vs 존재 또는 관심도

set_ad_schedule

요일별 시간대 및 입찰가 조정

add_audience_targeting / create_custom_audience

잠재고객

create_asset / attach_assets / remove_asset_link

사이트링크, 콜아웃, 스니펫, 텍스트, 이미지

create_conversion_action / update_conversion_action

전환 설정, 기본/보조

create_bidding_strategy

포트폴리오 전략

apply_recommendation / dismiss_recommendation

Google의 제안에 대한 조치

mutate

모든 리소스 컬렉션에 대한 원시 변경 — 위의 모든 것을 포함

mutate_batch

임시 ID를 사용한 원자적 googleAds:mutate

mutatemutate_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개월 동안 사용되지 않지 않는 한 만료되지 않습니다.

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (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 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.

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/ambo-sk/mcp-google-ads'

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