@getmcpads/google-ads-mcp-server 1.0.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/README.md +139 -106
- package/dist/cli.js +1649 -423
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1658 -432
- package/dist/index.js.map +1 -1
- package/package.json +15 -8
- package/server-card.json +4461 -0
- package/server.json +61 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
## 2.0.0 - 2026-09-20
|
|
3
|
+
|
|
4
|
+
- Add descending image/video asset pagination.
|
|
5
|
+
- Add account-scoped upload processing reads and return the native upload ID.
|
|
6
|
+
- Retain API v25, standalone MCC discovery and credential redirect protection.
|
|
7
|
+
- Require Node.js 22.12 or newer and check Node 22/24 in CI.
|
|
8
|
+
- Update vulnerable dependencies and regenerate the MCP catalog.
|
|
9
|
+
- No hosted creative UI or MCP Apps integrations.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## 1.1.0
|
|
13
|
+
|
|
14
|
+
- Synchronize applicable platform features with GetMCPAds commit b1471be while retaining local read-only exploration tools and credential configuration.
|
|
15
|
+
- Expose 34 read tools and 10 explicitly enabled write tools.
|
|
16
|
+
- Add MCP annotations, parameter descriptions, structured results, server identity and an offline-generated discovery card.
|
|
17
|
+
- Preserve preview/confirmation boundaries; test provider request construction and errors with mocked APIs.
|
|
18
|
+
- Refuse credential-bearing redirects and document provider-specific limitations.
|
|
19
|
+
|
|
20
|
+
No live advertiser mutation is performed by the release tests.
|
package/README.md
CHANGED
|
@@ -1,34 +1,67 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
+
# Google Ads MCP server
|
|
4
|
+
|
|
5
|
+
### Turn Google Ads questions into useful answers.
|
|
6
|
+
|
|
7
|
+
Explore performance, research keywords and prepare campaign changes from your MCP client.
|
|
8
|
+
|
|
9
|
+
[](https://github.com/getmcpads-com/google-ads-mcp-server/releases/latest)
|
|
3
10
|
[](https://github.com/getmcpads-com/google-ads-mcp-server/actions/workflows/ci.yml)
|
|
4
11
|
[](LICENSE)
|
|
5
|
-
[](package.json)
|
|
13
|
+
|
|
14
|
+
[Watch the demo](https://www.getmcpads.com/home/film/get-mcp-ads-film-1080p.mp4) · [What's new](#whats-new) · [Install](#install-this-release) · [Tool reference](#tools) · [Try hosted getmcpads](https://www.getmcpads.com/tools/google-ads?utm_source=github&utm_medium=readme&utm_campaign=google-ads)
|
|
15
|
+
|
|
16
|
+
[](https://www.getmcpads.com/home/film/get-mcp-ads-film-1080p.mp4)
|
|
17
|
+
|
|
18
|
+
**[Play the 27-second product film](https://www.getmcpads.com/home/film/get-mcp-ads-film-1080p.mp4)**
|
|
19
|
+
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
The film demonstrates hosted getmcpads with staged data. Its creative galleries and MCP Apps interface belong to the hosted product. This repository provides the standalone native API tools.
|
|
23
|
+
|
|
24
|
+
**35 read tools** · **10 write tools**, disabled by default.
|
|
25
|
+
|
|
26
|
+
Run locally with your own platform credentials and a client that supports stdio MCP, such as Claude Desktop, Claude Code or Cursor. Your requests go directly to the platform. For managed connections, including supported ChatGPT setups, use the hosted option.
|
|
27
|
+
|
|
28
|
+
## What's new
|
|
6
29
|
|
|
7
|
-
|
|
8
|
-
**Google Ads API**. It lets Claude, ChatGPT, Cursor or any MCP client read and analyse your
|
|
9
|
-
Google Ads data, plan keywords, and change campaigns if you choose to.
|
|
30
|
+
**[v2.0.0: Native tools and security update](https://github.com/getmcpads-com/google-ads-mcp-server/releases/tag/v2.0.0) · September 20, 2026**
|
|
10
31
|
|
|
11
|
-
|
|
32
|
+
- Add descending image/video asset pagination.
|
|
33
|
+
- Add account-scoped upload processing reads and return the native upload ID.
|
|
34
|
+
- Retain API v25, standalone MCC discovery and credential redirect protection.
|
|
35
|
+
- Require Node.js 22.12 or newer and check Node 22/24 in CI.
|
|
36
|
+
- Update vulnerable dependencies and regenerate the MCP catalog.
|
|
37
|
+
|
|
38
|
+
[Full changelog](CHANGELOG.md) · [Source synchronization details](SOURCE_SYNC.md) · [All releases](https://github.com/getmcpads-com/google-ads-mcp-server/releases)
|
|
39
|
+
|
|
40
|
+
### Upgrade notes
|
|
41
|
+
|
|
42
|
+
Requires **Node.js 22.12 or newer**. CI covers Node 22 and 24. Version 2.0.0 drops Node 18 and 20 support. Read the current tool schemas before reusing saved arguments. Writes remain optional and require explicit confirmation. Hosted creative integrations and MCP Apps UI are outside this release.
|
|
43
|
+
|
|
44
|
+
## Install this release
|
|
45
|
+
|
|
46
|
+
This is a GitHub source release. npm and MCP Registry versions are published separately. The commands below select this exact version; unpinned `npx` examples later in this document select the version currently available on npm.
|
|
12
47
|
|
|
13
48
|
```bash
|
|
14
|
-
|
|
49
|
+
git clone --branch v2.0.0 --depth 1 https://github.com/getmcpads-com/google-ads-mcp-server.git
|
|
50
|
+
cd google-ads-mcp-server
|
|
51
|
+
npm ci
|
|
52
|
+
npm run build
|
|
15
53
|
```
|
|
16
54
|
|
|
17
|
-
|
|
55
|
+
Configure your MCP client to run `node` with the absolute path to `dist/cli.js` and the platform credentials documented below.
|
|
18
56
|
|
|
19
|
-
> **Prefer
|
|
20
|
-
> version of this server, with Google Ads alongside Meta Ads, TikTok Ads, Pinterest Ads, GA4 and
|
|
21
|
-
> Search Console behind a single endpoint, hosted OAuth, and cross-platform reporting.
|
|
22
|
-
> Same tools, same safety model, no setup.
|
|
23
|
-
|
|
24
|
-
---
|
|
57
|
+
> **Prefer a managed connection?** [Use Google Ads with hosted getmcpads](https://www.getmcpads.com/tools/google-ads?utm_source=github&utm_medium=readme&utm_campaign=google-ads). Connect your account, select the data your assistant may access and use the hosted MCP connection. See the site for current features and plans.
|
|
25
58
|
|
|
26
59
|
## What you get
|
|
27
60
|
|
|
28
61
|
| | |
|
|
29
62
|
|---|---|
|
|
30
|
-
| **
|
|
31
|
-
| **
|
|
63
|
+
| **35 read tools** | Campaigns, ad groups, budgets, bidding strategies, search terms, landing pages, Performance Max assets and placements, Shopping, recommendations, change history |
|
|
64
|
+
| **10 write tools** | Off by default. Status, budgets, bids, schedules, renames, campaign creation. Each one **previews before it applies** |
|
|
32
65
|
| **Full Keyword Planner** | Keyword ideas, historical metrics, forecasts, ad group themes, geo target suggestions |
|
|
33
66
|
| **130 metrics, 84 dimensions** | With a compatibility matrix that catches invalid combinations before they hit the API |
|
|
34
67
|
| **5 resources** | Live catalogues the model can read: metrics, dimensions, compatibility rules, 11 workflow recipes |
|
|
@@ -51,41 +84,6 @@ covers them through `google_ads_run_readonly_rpc` and dedicated tools.
|
|
|
51
84
|
|
|
52
85
|
---
|
|
53
86
|
|
|
54
|
-
## How this compares to Google's own MCP server
|
|
55
|
-
|
|
56
|
-
Google shipped an official Google Ads MCP server in April 2026. It takes the opposite design
|
|
57
|
-
approach, and the comparison is more nuanced than for other platforms.
|
|
58
|
-
|
|
59
|
-
| | Google's official server | This server | [getmcpads.com](https://www.getmcpads.com) |
|
|
60
|
-
|---|---|---|---|
|
|
61
|
-
| Tools | **3**: list accounts, GAQL search, resource metadata | **38** (31 read + 7 write) | 38, plus 5 other platforms |
|
|
62
|
-
| Hosting | Self-hosted (pipx) or Cloud Run | **Self-hosted.** stdio, local process | Hosted for you |
|
|
63
|
-
| Requires knowing GAQL | **Yes**, for anything beyond listing accounts | No, catalogues drive the query | No |
|
|
64
|
-
| Keyword Planner | ❌ | ✅ ideas, history, forecasts | ✅ |
|
|
65
|
-
| Reach Planner, audience insights | ❌ | ✅ via read-only RPC | ✅ |
|
|
66
|
-
| Performance Max diagnostics | Via hand-written GAQL | ✅ dedicated tools | ✅ |
|
|
67
|
-
| Writes | ❌ read-only by design | ✅ **preview first**, applied only on `confirm: true` | ✅ preview first |
|
|
68
|
-
| Metric compatibility | None | **Query planner splits incompatible requests** | Same planner |
|
|
69
|
-
| Auditable | Yes, it is open too | **Yes.** Apache-2.0 | This server, audited |
|
|
70
|
-
|
|
71
|
-
**Be fair about it.** Google's server is self-hostable too, so "your data stays on your
|
|
72
|
-
machine" is not a difference here. Its 3 tools are a deliberate minimalist design: one GAQL
|
|
73
|
-
tool can express most of the reporting surface, and a model fluent in GAQL will do a lot with
|
|
74
|
-
very little.
|
|
75
|
-
|
|
76
|
-
The difference is where the knowledge lives. There, it lives in the model, which has to write
|
|
77
|
-
correct GAQL against a schema of thousands of fields. Here, it lives in the server, in
|
|
78
|
-
catalogues and a compatibility matrix. Add to that the planning services GAQL cannot reach at
|
|
79
|
-
all, and writes that cannot fire on the first call.
|
|
80
|
-
|
|
81
|
-
**Choose Google's** if your model writes good GAQL and you only need reporting.
|
|
82
|
-
**Choose this one** if you want named metrics instead of query language, Keyword Planner and
|
|
83
|
-
Reach Planner access, or guarded writes.
|
|
84
|
-
**Choose [getmcpads.com](https://www.getmcpads.com)** if you want this server's capabilities
|
|
85
|
-
without running it, or you need more than one ad platform in the same conversation.
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
87
|
## Getting credentials
|
|
90
88
|
|
|
91
89
|
This is the heaviest setup of any advertising platform. Four values are needed, and one of
|
|
@@ -123,6 +121,16 @@ to this server so you can revoke it on its own.
|
|
|
123
121
|
If the accounts you query sit under an MCC, set `GOOGLE_ADS_LOGIN_CUSTOMER_ID` to the manager
|
|
124
122
|
account ID. Dashes are accepted and stripped. Skip it for a standalone account.
|
|
125
123
|
|
|
124
|
+
You can also leave it unset. Google refuses any request against a managed account unless the
|
|
125
|
+
call names its manager, with a `USER_PERMISSION_DENIED` that mentions neither the account nor
|
|
126
|
+
the manager, so it reads as missing access rather than as a missing header. When the variable
|
|
127
|
+
is unset and the account you query is not directly accessible, the server asks the managers it
|
|
128
|
+
can reach which accounts they hold, and announces the one that holds yours. The answer is
|
|
129
|
+
resolved once and kept for the life of the process.
|
|
130
|
+
|
|
131
|
+
Setting the variable is still faster: it skips that discovery entirely, and it is the right
|
|
132
|
+
choice when every account you query sits under the same MCC.
|
|
133
|
+
|
|
126
134
|
Run **`google_ads_health_check`** as your first call. It verifies all four credentials, lists
|
|
127
135
|
the accounts you can actually reach, and reports what is missing, without printing any secret.
|
|
128
136
|
|
|
@@ -182,8 +190,8 @@ npm start
|
|
|
182
190
|
| `GOOGLE_ADS_CLIENT_ID` | none | **Required.** OAuth client ID |
|
|
183
191
|
| `GOOGLE_ADS_CLIENT_SECRET` | none | **Required.** OAuth client secret |
|
|
184
192
|
| `GOOGLE_ADS_REFRESH_TOKEN` | none | **Required.** From the consent flow |
|
|
185
|
-
| `GOOGLE_ADS_LOGIN_CUSTOMER_ID` | none | Optional. Manager (MCC) account ID |
|
|
186
|
-
| `GOOGLE_ADS_ENABLE_WRITES` | *unset* | Set to `1` to register the
|
|
193
|
+
| `GOOGLE_ADS_LOGIN_CUSTOMER_ID` | none | Optional. Manager (MCC) account ID. Resolved automatically when unset |
|
|
194
|
+
| `GOOGLE_ADS_ENABLE_WRITES` | *unset* | Set to `1` to register the 10 write tools |
|
|
187
195
|
| `LOG_LEVEL` | `info` | `debug`, `info`, `warn`, `error` |
|
|
188
196
|
|
|
189
197
|
Check your setup at any time:
|
|
@@ -240,61 +248,68 @@ Two further guardrails:
|
|
|
240
248
|
|
|
241
249
|
## Tools
|
|
242
250
|
|
|
251
|
+
Every tool is listed below. See [server-card.json](server-card.json) for complete parameter and output schemas.
|
|
252
|
+
|
|
243
253
|
<details>
|
|
244
|
-
<summary><b>
|
|
254
|
+
<summary><b>35 read tools</b></summary>
|
|
245
255
|
|
|
246
|
-
### Discovery and health
|
|
247
256
|
| Tool | Purpose |
|
|
248
|
-
|
|
249
|
-
| `
|
|
250
|
-
| `
|
|
251
|
-
| `
|
|
252
|
-
| `
|
|
257
|
+
| --- | --- |
|
|
258
|
+
| `google_ads_list_accounts` | List Google Ads customer accounts accessible with the current credentials. |
|
|
259
|
+
| `google_ads_get_account_details` | Get detailed information for a specific Google Ads customer account. |
|
|
260
|
+
| `google_ads_run_gaql` | Execute a raw GAQL (Google Ads Query Language) query. |
|
|
261
|
+
| `google_ads_get_insights` | Query Google Ads performance insights with intelligent query planning. |
|
|
262
|
+
| `google_ads_get_campaigns` | List campaigns for a Google Ads account with status, budget, channel type, and bidding strategy. |
|
|
263
|
+
| `google_ads_get_adgroups` | List ad groups for a Google Ads account, optionally filtered by campaign. |
|
|
264
|
+
| `google_ads_get_keyword_performance` | Get keyword-level performance data from keyword_view resource. |
|
|
265
|
+
| `google_ads_validate_query` | Validate metric/dimension/resource compatibility BEFORE executing a query. |
|
|
266
|
+
| `google_ads_health_check` | Read-only connectivity check. |
|
|
267
|
+
| `google_ads_get_account_hierarchy` | List accessible customers and, where possible, manager/client relationships from GAQL customer_client. |
|
|
268
|
+
| `google_ads_get_conversion_actions` | List conversion actions with status, type, category, primary/include-in-conversions flags, owner customer, and last activity dates when supported. |
|
|
269
|
+
| `google_ads_get_change_events` | Fetch recent change_event rows. |
|
|
270
|
+
| `google_ads_get_recommendations` | List Google Ads recommendations with type, resource, campaign/ad group links, dismissed state, and impact when supported. |
|
|
271
|
+
| `google_ads_get_budgets` | List campaign budgets with amount, status, delivery method, and recommended budget fields when supported. |
|
|
272
|
+
| `google_ads_get_bidding_strategies` | List portfolio bidding strategies. |
|
|
273
|
+
| `google_ads_get_search_terms` | Fetch search term performance from search_term_view or campaign_search_term_insight depending on reportType. |
|
|
274
|
+
| `google_ads_get_landing_pages` | Fetch landing_page_view performance with final URL, campaign/ad group context, traffic, conversion, and landing-page quality metrics when supported. |
|
|
275
|
+
| `google_ads_get_pmax_assets` | List Performance Max asset group assets from asset_group_asset with asset group/campaign context and optional date-range performance metrics. |
|
|
276
|
+
| `google_ads_get_simulations` | Read-only planning/forecast query for campaign, ad group, or portfolio bidding simulations. |
|
|
277
|
+
| `google_ads_get_paid_organic_search_terms` | Read-only paid/organic search terms report. |
|
|
278
|
+
| `google_ads_get_shopping_products` | Read-only Merchant Center product catalog/eligibility report via shopping_product. |
|
|
279
|
+
| `google_ads_get_shopping_performance` | Read-only Shopping performance report keyed by Merchant Center product dimensions. |
|
|
280
|
+
| `google_ads_get_pmax_placements` | Read-only Performance Max placement diagnostics from performance_max_placement_view. |
|
|
281
|
+
| `google_ads_get_pmax_asset_diagnostics` | Read-only Performance Max asset group diagnostics. |
|
|
282
|
+
| `google_ads_list_image_assets` | List the account's image asset library (FROM asset) with stable, publicly served full-size URLs on tpc.googlesyndication.com, dimensions, file size, and mime type. |
|
|
283
|
+
| `google_ads_list_video_assets` | List the account's YouTube video assets (FROM asset) with derived watch, embed, and public thumbnail URLs. |
|
|
284
|
+
| `google_ads_get_demand_gen_assets` | List Demand Gen ads (video responsive, multi-asset, carousel) with their referenced creatives resolved: stable image URLs and YouTube video IDs with embed and thumbnail URLs. |
|
|
285
|
+
| `google_ads_generate_keyword_historical_metrics` | Get Keyword Planner search-volume history for supplied keywords. |
|
|
286
|
+
| `google_ads_generate_keyword_ideas` | Discover Keyword Planner ideas from up to 20 seed keywords, a URL, keywords plus URL, or a whole site. |
|
|
287
|
+
| `google_ads_generate_keyword_forecast_metrics` | Forecast impressions, clicks, CTR, CPC, cost, conversions, and CPA for a temporary keyword campaign. |
|
|
288
|
+
| `google_ads_search_fields` | Search Google's live GoogleAdsField catalog. |
|
|
289
|
+
| `google_ads_suggest_geo_targets` | Resolve up to 25 location names or geo target IDs to Google Ads geoTargetConstants. |
|
|
290
|
+
| `google_ads_generate_ad_group_themes` | Organize supplied keywords into existing Google Ads ad groups. |
|
|
291
|
+
| `google_ads_run_readonly_rpc` | Advanced read-only escape hatch for allowlisted Google Ads services outside GAQL: Audience Insights, Reach Planner, benchmarks, creator/trending insights, targeting suggestions, Smart Campaign suggestions, identity verification, invoices, and payments accounts. |
|
|
292
|
+
| `google_ads_get_video_upload` | Read the processing state and YouTube video ID of one Google Ads upload in the selected customer. |
|
|
253
293
|
|
|
254
|
-
|
|
255
|
-
| Tool | Purpose |
|
|
256
|
-
|---|---|
|
|
257
|
-
| `google_ads_get_campaigns` / `google_ads_get_adgroups` | List entities and their settings |
|
|
258
|
-
| `google_ads_get_budgets` / `google_ads_get_bidding_strategies` | Budgets and bidding configuration |
|
|
259
|
-
| `google_ads_get_conversion_actions` | Conversion actions and their settings |
|
|
260
|
-
| `google_ads_get_change_events` | Change history: who changed what, and when |
|
|
294
|
+
</details>
|
|
261
295
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|---|---|
|
|
265
|
-
| `google_ads_get_insights` | The main reporting tool. Named metrics, no GAQL required |
|
|
266
|
-
| `google_ads_validate_query` | Check a metric and dimension combination *before* running it |
|
|
267
|
-
| `google_ads_get_keyword_performance` / `google_ads_get_search_terms` | Keyword and query performance |
|
|
268
|
-
| `google_ads_get_landing_pages` | Landing page performance |
|
|
269
|
-
| `google_ads_get_paid_organic_search_terms` | Paid and organic side by side |
|
|
270
|
-
| `google_ads_get_simulations` | Bid and budget simulations |
|
|
271
|
-
| `google_ads_get_recommendations` | Google's own recommendations for the account |
|
|
272
|
-
|
|
273
|
-
### Performance Max and Shopping
|
|
274
|
-
| Tool | Purpose |
|
|
275
|
-
|---|---|
|
|
276
|
-
| `google_ads_get_pmax_assets` / `google_ads_get_pmax_asset_diagnostics` | Asset groups, assets and their issues |
|
|
277
|
-
| `google_ads_get_pmax_placements` | Where Performance Max actually served |
|
|
278
|
-
| `google_ads_get_shopping_performance` / `google_ads_get_shopping_products` | Shopping performance and product data |
|
|
296
|
+
<details>
|
|
297
|
+
<summary><b>10 write tools</b></summary>
|
|
279
298
|
|
|
280
|
-
|
|
281
|
-
| Tool | Purpose |
|
|
282
|
-
|---|---|
|
|
283
|
-
| `google_ads_generate_keyword_ideas` | Keyword ideas from seeds or a URL |
|
|
284
|
-
| `google_ads_generate_keyword_historical_metrics` | Volumes, competition, trends |
|
|
285
|
-
| `google_ads_generate_keyword_forecast_metrics` | Forecast clicks, cost and conversions |
|
|
286
|
-
| `google_ads_generate_ad_group_themes` | Suggested ad group groupings |
|
|
287
|
-
| `google_ads_suggest_geo_targets` | Resolve place names to geo target constants |
|
|
299
|
+
Disabled by default. Calls preview unless explicitly confirmed. Check the configuration and exact schema before use.
|
|
288
300
|
|
|
289
|
-
### Escape hatches
|
|
290
301
|
| Tool | Purpose |
|
|
291
|
-
|
|
292
|
-
| `
|
|
293
|
-
| `
|
|
294
|
-
| `
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
302
|
+
| --- | --- |
|
|
303
|
+
| `google_ads_upload_video` | Upload MP4/WebM/QuickTime bytes (max 16 MiB) to the Google-managed YouTube channel for the selected ad account. |
|
|
304
|
+
| `google_ads_remove_video_upload` | Remove a video upload owned by the selected ad account. |
|
|
305
|
+
| `google_ads_apply_plan` | Preview, validate and atomically apply a Google Ads v25 build/change plan: campaigns, budgets, ad groups, RSA/Display/Demand Gen ads, image/text/YouTube assets, PMax asset groups and links, keywords, geographic/language targeting listing groups and conversion action configuration (no conversion event uploads). |
|
|
306
|
+
| `google_ads_update_campaign_status` | Pause, re-enable or remove a Google Ads campaign. |
|
|
307
|
+
| `google_ads_create_campaign` | Create a Google Ads campaign. |
|
|
308
|
+
| `google_ads_update_campaign_budget` | Change the daily budget of a Google Ads campaign. |
|
|
309
|
+
| `google_ads_rename_campaign` | Rename a Google Ads campaign. |
|
|
310
|
+
| `google_ads_update_campaign_schedule` | Change the start or end date of a Google Ads campaign. |
|
|
311
|
+
| `google_ads_update_adgroup_status` | Pause, re-enable or remove a Google Ads ad group. |
|
|
312
|
+
| `google_ads_update_adgroup_bid` | Change the default CPC bid of a Google Ads ad group. |
|
|
298
313
|
|
|
299
314
|
</details>
|
|
300
315
|
|
|
@@ -334,14 +349,20 @@ Full policy and reporting instructions: [SECURITY.md](SECURITY.md).
|
|
|
334
349
|
|
|
335
350
|
## Looking for a managed, multi-platform version?
|
|
336
351
|
|
|
337
|
-
|
|
352
|
+
[Try hosted Google Ads](https://www.getmcpads.com/tools/google-ads?utm_source=github&utm_medium=readme&utm_campaign=google_ads_hosted) if you want to use this source without operating a local server.
|
|
353
|
+
getmcpads also connects advertising, Search Console and GA4 through one MCP URL.
|
|
354
|
+
Source availability and plan limits are listed on the site; connecting an account is still required.
|
|
338
355
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
356
|
+
1. Follow the [Google Ads connection guide](https://www.getmcpads.com/guides/sources/google-ads).
|
|
357
|
+
2. Select the account or property your assistant may read.
|
|
358
|
+
3. Connect [Claude](https://www.getmcpads.com/guides/setup/claude),
|
|
359
|
+
[ChatGPT](https://www.getmcpads.com/guides/setup/chatgpt) or
|
|
360
|
+
[Codex](https://www.getmcpads.com/guides/setup/codex).
|
|
361
|
+
4. Try a read-only review: “Compare campaign spend and conversions across equal periods. State missing data and do not change anything.”
|
|
342
362
|
|
|
343
|
-
|
|
344
|
-
|
|
363
|
+
See the [current hosted tool catalogue](https://www.getmcpads.com/tools/google-ads)
|
|
364
|
+
and [pricing](https://www.getmcpads.com/pricing) before choosing a paid plan.
|
|
365
|
+
This Apache 2.0 adapter remains independently useful with your own credentials.
|
|
345
366
|
|
|
346
367
|
---
|
|
347
368
|
|
|
@@ -357,3 +378,15 @@ Please read [SECURITY.md](SECURITY.md) before reporting anything security-relate
|
|
|
357
378
|
Google, Google Ads and the Google Ads API are trademarks of Google LLC.
|
|
358
379
|
**This project is not affiliated with, endorsed by, or sponsored by Google LLC.**
|
|
359
380
|
It is an independent client of a public API.
|
|
381
|
+
|
|
382
|
+
## MCP contracts and desktop bundle
|
|
383
|
+
|
|
384
|
+
Every tool declares read/write annotations, parameter descriptions and a structured output schema. Successful calls expose the payload as `structuredContent.result`; errors retain `isError: true`. The generated [server card](server-card.json) contains definitions only.
|
|
385
|
+
|
|
386
|
+
Run `npm run bundle -- /path/to/output` to build a `.mcpb` desktop bundle from the current catalog. Credentials are entered locally during installation. Write tools remain disabled unless explicitly enabled.
|
|
387
|
+
|
|
388
|
+
## More from getmcpads
|
|
389
|
+
|
|
390
|
+
[Meta Ads](https://github.com/getmcpads-com/meta-ads-mcp-server) · [Google Analytics 4](https://github.com/getmcpads-com/google-analytics-mcp-server) · [Google Search Console](https://github.com/getmcpads-com/google-search-console-mcp-server) · [TikTok Ads](https://github.com/getmcpads-com/tiktok-ads-mcp-server) · [Pinterest Ads](https://github.com/getmcpads-com/pinterest-ads-mcp-server) · [X Ads](https://github.com/getmcpads-com/x-ads-mcp-server)
|
|
391
|
+
|
|
392
|
+
Maintained by **Emmanuel** at [getmcpads](https://www.getmcpads.com). Questions: [hello@getmcpads.com](mailto:hello@getmcpads.com).
|