---
title: "Claude Google Ads Integration — Run Google Ads from Claude | Adscriptly"
description: Connect Claude to Google Ads through the hosted Adscriptly MCP server. 45 read tools plus scoped, approval-gated writes over OAuth 2.1 — search terms, auction insights, keyword and asset reports, and raw GAQL, answered inside the chat.
image: https://adscriptly.com/opengraph-image.png
canonical: https://adscriptly.com/claude-google-ads
source: https://adscriptly.com/llms.txt
---
MCP Server

# Claude Google Ads

Point Claude at your Google Ads account and ask it questions in English. The Adscriptly MCP server answers with real account data — 57 tools covering search terms, auction insights, keywords, assets, change history and raw GAQL. Reads are the default. Writes are a separate scope your client asks you to approve.

[Connect Claude to Google Ads](https://adscriptly.com/signup?next=/dashboard/ai-chat) [Read the setup docs](https://adscriptly.com/docs/mcp)

## Three steps, no API keys

The endpoint is hosted. You add it once as a remote MCP server, sign in through Adscriptly, and the account context follows the conversation.

Claude.ai

1. Customize → Connectors → Add custom connector.
2. Paste https://adscriptly.com/api/mcp, select Connect, then sign in to Adscriptly.

Claude Code

1. claude mcp add --transport http adscriptly https://adscriptly.com/api/mcp
2. claude mcp login adscriptly

ChatGPT

1. Settings → Security and login → Developer mode.
2. Create an app at chatgpt.com/plugins with https://adscriptly.com/api/mcp as the server URL.

## 57 tools Claude can call

Every name below is a tool the server actually exposes. Claude picks the one your question needs; you never learn the names.

Ask anything

Raw GAQL, resource discovery, and queued report generation with bounded status checks.

- run_gaql
- execute_gaql_query
- list_gaql_resources
- list_accounts
- get_account_currency
- generate_report_file
- get_report_file_status

Where the money went

Spend and outcomes at every level, without exporting a single CSV.

- get_campaign_performance
- get_ad_group_report
- get_keyword_report
- get_keyword_performance
- get_search_terms_report
- get_landing_page_report
- get_placement_report

Who saw it

Every segment Google will break performance down by.

- get_device_report
- get_location_report
- get_user_location_report
- get_age_report
- get_gender_report
- get_income_report
- get_parental_report
- get_schedule_report

Creative and assets

Down to which RSA headline is carrying the ad group.

- get_ad_performance
- get_ad_creatives
- get_rsa_ad_performance_report
- get_asset_performance_report
- get_image_assets
- get_image_asset_urls
- get_asset_usage
- analyze_image_assets
- get_extension_inventory

Competitive and diagnostic

Impression share, overlap, and who changed what, when.

- get_auction_insights
- get_keyword_metrics
- get_keyword_ideas
- get_keyword_kpis
- get_change_history
- get_campaign_settings
- get_live_campaign_statuses
- get_live_ad_group_statuses

Conversions

Including the outcomes Adscriptly sent back, not just the ones Google counted.

- get_conversion_analytics
- get_conversion_stats
- get_conversion_action_report
- get_call_details_report
- get_dashboard_analytics
- get_adscriptly_search_terms

Changes, behind approvalapproval

A separate scope, annotated destructive, surfaced by the client for approval.

- execute_mutate
- execute_gtm_mutate
- apply_negative_keywords
- approve_negative_keywords
- approve_positive_keywords
- dismiss_negative_keywords
- get_pending_negative_keywords
- get_pending_positive_keywords
- get_negative_keyword_agent_status
- get_gtm_tags
- get_sync_status
- trigger_sync

## What it is allowed to do

Read and write are different scopes, and the client is told which is which.

Authentication OAuth 2.1, Dynamic Client Registration, S256 PKCE. No API keys in a config file. Google credentials Never handed to the model. The server holds the connection; the client holds a token for Adscriptly. Reads Available as soon as you pick an account for the conversation. Writes A separate scope. Annotated as destructive so the client asks before it runs. Entitlement Connecting is free. Tools run on an active plan or trial; without one the assistant is handed a link to start one instead of an error.

## Questions

### Does Claude get write access to my Google Ads account?

Not by default. Read tools and write tools are separate scopes. Writes run through execute_mutate, which is annotated as a destructive operation so the client surfaces it for approval before anything changes in the account.

### Which Claude clients work with it?

Any client that speaks remote MCP over HTTP. Claude.ai adds it under Customize → Connectors → Add custom connector, and Claude Code adds it with claude mcp add --transport http. ChatGPT connects through the same endpoint in developer mode.

### How does it authenticate?

OAuth 2.1 with Dynamic Client Registration and S256 PKCE. You sign in to Adscriptly once from inside the client; no API keys are pasted into a config file, and no Google credentials are handed to the model.

### Can Claude write GAQL against my account?

Yes. run_gaql and execute_gaql_query take a raw GAQL string, and list_gaql_resources tells the model which resources and fields it is allowed to select from, so it can compose a query it has not seen before.

### What does it cost?

The MCP server is included with any paid plan or an unexpired free trial. Every request checks for an active plan, so an expired trial stops answering rather than degrading silently.

## Ask your ad account a question.

Free for 7 days, then $129/mo. We'll remind you 3 days before your first charge. Cancel anytime.

[Get Started For Free](https://adscriptly.com/signup?next=/dashboard/ai-chat) [Read the docs](https://adscriptly.com/docs)[![](https://img.logo.dev/claude.ai?token=pk_Gqyn4kIpSmSBRdvJf3B-Yw&size=76&format=png) Connect Claude with  
Google & Meta Ads in 1 click ›](https://adscriptly.com/marketing-mcp)
