@channel47/google-ads-mcp 1.1.0 → 1.1.1

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/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  MCP server for Google Ads API access via GAQL (Google Ads Query Language). Built by a practitioner managing 25+ ad accounts daily — not a demo.
7
7
 
8
- Part of [Channel 47](https://channel47.dev), the open-source ecosystem of profession plugins for Claude Code. [Get the newsletter](https://channel47.dev/subscribe) for weekly skill breakdowns from production use.
8
+ Part of [channel47](https://channel47.dev), the open-source ecosystem of profession plugins for Claude Code. [Get the newsletter](https://channel47.dev/subscribe) for weekly skill breakdowns from production use.
9
9
 
10
10
  ## What It Does
11
11
 
@@ -18,7 +18,7 @@ Part of [Channel 47](https://channel47.dev), the open-source ecosystem of profes
18
18
 
19
19
  ### For Claude Code Plugin Users
20
20
 
21
- Bundled with the [media-buyer plugin](https://github.com/channel47/channel47). No manual install required.
21
+ Bundled with the [media-buyer plugin](https://github.com/channel47/plugins). No manual install required.
22
22
 
23
23
  ### Standalone Use
24
24
 
@@ -50,6 +50,30 @@ google-ads-mcp
50
50
  |----------|-------------|
51
51
  | `GOOGLE_ADS_LOGIN_CUSTOMER_ID` | MCC Account ID (10 digits, no dashes) |
52
52
  | `GOOGLE_ADS_DEFAULT_CUSTOMER_ID` | Default account ID for queries |
53
+ | `GOOGLE_ADS_READ_ONLY` | Set to `true` to hide the mutate tool entirely — query and list only |
54
+
55
+ ### MCP Config Example
56
+
57
+ ```json
58
+ {
59
+ "mcpServers": {
60
+ "google-ads": {
61
+ "command": "npx",
62
+ "args": ["-y", "@channel47/google-ads-mcp@latest"],
63
+ "env": {
64
+ "GOOGLE_ADS_DEVELOPER_TOKEN": "your-developer-token",
65
+ "GOOGLE_ADS_CLIENT_ID": "your-client-id",
66
+ "GOOGLE_ADS_CLIENT_SECRET": "your-client-secret",
67
+ "GOOGLE_ADS_REFRESH_TOKEN": "your-refresh-token",
68
+ "GOOGLE_ADS_LOGIN_CUSTOMER_ID": "1234567890",
69
+ "GOOGLE_ADS_READ_ONLY": "true"
70
+ }
71
+ }
72
+ }
73
+ }
74
+ ```
75
+
76
+ Remove `GOOGLE_ADS_READ_ONLY` or set to `false` to enable the mutate tool.
53
77
 
54
78
  ## Tools
55
79
 
@@ -241,15 +265,15 @@ npm install # workspaces — installs all servers
241
265
  npm test # runs all server tests
242
266
  ```
243
267
 
244
- ~200 lines of server code. 3 core tools. Dry-run by default. OAuth 2.0 with environment-based credentials.
268
+ 3 core tools. Dry-run by default. OAuth 2.0 with environment-based credentials.
245
269
 
246
- Pairs with the [media-buyer plugin](https://github.com/channel47/channel47), which adds skills, mutation validation hooks, and GAQL reference docs on top of this server.
270
+ Pairs with the [media-buyer plugin](https://github.com/channel47/plugins), which adds skills, mutation validation hooks, and GAQL reference docs on top of this server.
247
271
 
248
272
  ## Links
249
273
 
250
- - [Channel 47](https://channel47.dev) — open-source profession plugins for Claude Code
274
+ - [channel47](https://channel47.dev) — open-source profession plugins for Claude Code
251
275
  - [Build Notes](https://channel47.dev/subscribe) — weekly skill breakdowns from production use
252
- - [Media Buyer Plugin](https://github.com/channel47/channel47) — the paid-search toolkit this MCP powers
276
+ - [Media Buyer Plugin](https://github.com/channel47/plugins) — the paid-search toolkit this MCP powers
253
277
  - [NPM Package](https://www.npmjs.com/package/@channel47/google-ads-mcp)
254
278
  - [Google Ads API](https://developers.google.com/google-ads/api/docs/start) / [GAQL Reference](https://developers.google.com/google-ads/api/docs/query/overview)
255
279
  - [X](https://x.com/ctrlswing) / [LinkedIn](https://www.linkedin.com/in/jackson-d-9979a7a0/) / [GitHub](https://github.com/channel47)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@channel47/google-ads-mcp",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Google Ads MCP Server - Query and mutate Google Ads data using GAQL",
5
5
  "main": "server/index.js",
6
6
  "bin": {
package/server/index.js CHANGED
@@ -26,7 +26,7 @@ import { getPromptsList, renderPrompt } from './prompts/templates.js';
26
26
 
27
27
  // Server metadata
28
28
  const SERVER_NAME = 'google-ads-mcp';
29
- const SERVER_VERSION = '1.0.0';
29
+ const SERVER_VERSION = '1.1.1';
30
30
 
31
31
  // Validate environment on startup
32
32
  const { valid, missing } = validateEnvironment();