list_campaignsLABSCO SUMMARY
It arrives with the judgement already written, and it cannot spend your money by itself.
Generic Google Ads servers hand back rows and leave the reading to you; this one carries rules written for local trades and orders them by severity. The write side is built the same way — an optimization runs inside guardrails, and a publish comes back as a link you have to open and approve.
What it is
VibeAds' own MCP server over a Google Ads account, tuned for local service trades — plumbers, HVAC, electricians, roofers and 33 more categories. Read tools answer in markdown with no GAQL to write; write tools draft strategies and run optimizations through the VibeAds gateway, and anything that spends money waits for a human in the browser.
What you get
- Campaigns listed with status, budget and category, and one campaign opened out in full — metrics, ad groups, targeting, landing pages, diagnostics
- A 0-100 account health score with a letter grade, weighted across tracking, keywords, budget, creative, targeting and performance, whole-account or per campaign
- Search-term analysis over a lookback window you set: the spend going to terms that never convert, and the winners
- 35+ diagnostic rules from the optimization engine, each with severity and a recommended fix, so the worst problem reads first
- A full campaign strategy drafted server-side — keywords, ad copy, three or more ad groups — as a draft that publishes nothing, and a poll for the job while it runs
- Pending recommendations listed and executed one at a time inside blast-radius caps, rate limits and automatic rollback if metrics worsen
- A publish flow that returns a browser approval link, and a poll that follows it from pending through approved to executed
Requirements
Node.js 20 or newer and a VibeAds account. One credential does everything: VIBEADS_API_KEY, a vba_mcp_ key generated in settings and scoped to your account. Read tools work on any plan including the free tier; the write tools need Pro or Max. Runs over stdio from npm as @vibeads/mcp.
Setup effort
One command plus a key — npx -y @vibeads/mcp, then supply credentials
USE CASES
Finding out what to fix first
Score the account, see which of the six dimensions is dragging it down, then read the diagnostics behind that dimension in severity order.
Stopping wasted spend
Pull the search-term report over the window you care about and separate the terms burning budget with no conversions from the ones earning it.
Reviewing one campaign end to end
Open a single campaign — metrics, ad groups, targeting, landing pages — with its own health score alongside, rather than the account average.
Drafting a campaign before committing to it
Have the strategy written server-side, keywords and ad copy included, then poll the job and read the ad groups it produced. Nothing is published at this stage.
Acting on one recommendation at a time
List what is waiting for approval and execute a single item; its siblings stay pending, so a change can be watched before the next one goes in.
Taking a campaign live with a human in the loop
Start the publish flow, open the approval link in a browser to review campaign and budget, then let the poll follow it through to executed.
11 tools
Listed in project docs. Your client may show a different list.
get_campaign_detailsget_account_health_scoreget_search_term_analysisget_diagnosticsgenerate_strategyget_strategy_statuslist_recommendationsapprove_recommendationrequest_publishcheck_approvalBEFORE YOU INSTALL
What to know first
Tools you get
11 tools named in the project's documentation.
Requires
- npx on PATH
- Node.js ≥ 20
- VIBEADS_API_KEY in your environment
Where it runs
All 4 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
npx -y @vibeads/mcpMCP Clients
Claude Desktop
{
"mcpServers": {
"vibeads": {
"command": "npx",
"args": [
"-y",
"@vibeads/mcp"
],
"env": {
"VIBEADS_API_KEY": "<YOUR_VIBEADS_API_KEY>"
}
}
}
}macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json · Linux: ~/.config/Claude/claude_desktop_config.json
Cline, Claude Code, Any MCP client
{
"mcpServers": {
"vibeads": {
"command": "npx",
"args": [
"-y",
"@vibeads/mcp"
],
"env": {
"VIBEADS_API_KEY": "<YOUR_VIBEADS_API_KEY>"
}
}
}
}