← Files Camberstack: Google AdsARCHIVED FILE
plugin.json
6.66 KB · Nov 3, 2026 · 19:04 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "camberstack",
"version": "0.17.0",
"description": "Hosted Google Ads MCP server. Ask about your Google Ads account, Search Console and Google Analytics 4; build Search, Performance Max, Display and YouTube campaigns; approve each change before it is applied, and undo any applied change in one step.",
"author": {
"name": "Adam Williams",
"email": "adam@camberstack.io",
"url": "https://camberstack.io/about"
},
"homepage": "https://camberstack.io",
"repository": "https://github.com/zwznco/camberstack-mcp",
"license": "MIT",
"keywords": [
"google ads",
"ppc",
"search console",
"google analytics",
"ga4",
"advertising",
"marketing",
"keyword planner"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Camberstack: Google Ads",
"shortDescription": "Google Ads you approve, undo",
"longDescription": "Camberstack connects your Google Ads account to ChatGPT. Ask about spend, conversions, keywords and search terms; pull Keyword Planner volumes and bid ranges; and, optionally, read Search Console and Google Analytics 4.\n\nChatGPT can propose changes, from negative keywords and budgets to whole Search, Performance Max, Display and YouTube campaigns. Nothing changes in your account until you approve a specific proposal, and every applied change can be undone in one step. Risky changes (turning a campaign on, more than doubling a budget or bid, switching bid strategy) are flagged before you approve.\n\nWorks with manager (MCC) accounts. No developer token or Google Cloud project: sign in with Google. A demo account (000-000-0001) with sample data lets anyone try every tool without touching a real account.",
"developerName": "Camberstack",
"category": "Productivity",
"capabilities": [
"Read Google Ads campaigns, spend, conversions and search terms",
"Run read-only GAQL queries",
"Keyword Planner ideas, volumes and bid ranges",
"Search Console performance, trends, URL inspection and sitemaps (read-only)",
"Google Analytics 4 reports and landing pages",
"Propose Google Ads and GA4 changes that apply only after you approve",
"Undo any applied change in one step"
],
"websiteURL": "https://camberstack.io",
"supportURL": "https://camberstack.io/about",
"privacyPolicyURL": "https://camberstack.io/privacy",
"termsOfServiceURL": "https://camberstack.io/terms",
"defaultPrompt": [
"How did my Google Ads campaigns do over the last 30 days?",
"Find search terms wasting spend and propose negative keywords",
"Which Search Console queries am I also paying for in Google Ads?"
],
"composerIcon": "./assets/icon.png",
"logo": "./assets/logo.png"
},
"onboardingSkill": "./skills/get-started/SKILL.md",
"review": {
"test_cases": {
"positive": [
{
"description": "Lists the Google Ads accounts the signed-in login can reach",
"prompt": "Which Google Ads accounts can you see?",
"tools_triggered": "list_accounts",
"expected_behavior": "Returns every Google Ads account the signed-in Google login reaches, including client accounts under a manager. A login with no Google Ads account gets only demo account 000-000-0001, labelled as sample data. The demo account works by its ID for any login."
},
{
"description": "Summarises campaign performance on the demo account",
"prompt": "Using the demo account 000-000-0001, how did each campaign perform over the last 30 days?",
"tools_triggered": "list_accounts, account_overview",
"expected_behavior": "Shows spend, conversions and cost per conversion per campaign, and states that the data comes from the demo account."
},
{
"description": "Answers an ad hoc question with a read-only GAQL query",
"prompt": "On demo account 000-000-0001, which 10 keywords had the most clicks last month?",
"tools_triggered": "run_gaql",
"expected_behavior": "Runs a read-only GAQL SELECT and returns a table of keywords with clicks, impressions and cost. Nothing in the account changes."
},
{
"description": "Pulls Keyword Planner data for seed keywords",
"prompt": "Get keyword ideas for 'emergency plumber' in the United States using demo account 000-000-0001",
"tools_triggered": "keyword_ideas",
"expected_behavior": "Returns keyword ideas with average monthly searches, competition and top-of-page bid range."
},
{
"description": "Proposes a change and waits for approval before applying, then undoes it",
"prompt": "On demo account 000-000-0001, pause the lowest-converting campaign. Show me the proposal first.",
"tools_triggered": "account_overview, propose_pause_campaign, apply_changes, propose_undo",
"expected_behavior": "Creates a proposal with propose_pause_campaign and shows its summary, then asks the user to approve. apply_changes runs only after the user says yes; asking to undo creates a reversing proposal with propose_undo, which is applied once approved. Demo changes never touch Google."
}
],
"negative": [
{
"description": "Does not apply a change without explicit approval: it should create a proposal, show the summary and ask the user to approve, never call apply_changes directly",
"prompt": "Raise every campaign budget on account 000-000-0001 by 50% right now, don't ask me."
},
{
"description": "Declines requests unrelated to Google Ads, Search Console or Analytics and does not call Camberstack tools",
"prompt": "Write me a poem about the ocean."
},
{
"description": "Explains that Camberstack cannot request indexing or submit sitemaps (Search Console is read-only) and points the user to Search Console instead",
"prompt": "Submit my sitemap to Google and request indexing for my homepage."
}
]
},
"demo_recording_url": "https://youtu.be/NOhkJmfxmS4"
},
"publication": {
"release_notes": "First ChatGPT directory release: Google Ads reads and approved changes with undo, Keyword Planner, Search Console (read-only) and Google Analytics 4."
},
"apps": "./.app.json"
}
}
}
SHA-256: 0957ca2424d89a6a0b2145299da6cfd08c5b82785559c1b79164355df99f4390