Skip to content
Agentmart
Submit a tool

vibeads/mcp

Manage Google Ads from ChatGPT, Claude or any MCP client.

Connector by vibeads · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)Remote (HTTP)★ 1
Write a review

Install

Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/vibeads-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Remote endpoint

  • https://getvibeads.com/api/mcp Remote (HTTP)

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Manage Google Ads from ChatGPT, Claude or any MCP client. Sign in with OAuth or use an API key.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 26, 2026.

Tools
16 read · 10 write · 0 delete · 3 not yet classified
Secrets
2 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 29

Read from the source code; the running server may list different tools.

Read 16 · Look things up without changing anything.

  • audit_google_ads_account
  • check_approval
  • find_campaigns_to_import
  • generate_strategy
  • get_account_health_score
  • get_campaign_details
  • get_diagnostics
  • get_performance_report
  • get_search_term_analysis
  • get_strategy_status
  • list_campaigns
  • list_google_ads_accounts
Show 4 more tools
  • list_google_recommendations
  • list_keywords
  • list_recommendations
  • research_keywords

Write 10 · Create, change, send or run things.

  • add_ad_group
  • add_keywords
  • add_negative_keywords
  • apply_strategy
  • import_campaigns
  • request_publish
  • resume_campaign
  • set_daily_budget
  • set_keyword_status
  • set_max_cpc

Not yet classified 3 · We could not tell from the name and description.

  • dismiss_google_recommendation
  • pause_campaign
  • preview_ad_group

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • VIBEADS_API_KEY
  • x-vibeads-api-key

Network hosts it talks to 4

  • getvibeads.com · found in remote endpoint, install command, code
  • github.com · found in code
  • glama.ai · found in code
  • qjchjmsgrbtjwbpvuhrb.supabase.co · found in code

Files it touches

  • Your home directory (~)

Tools (29)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_ad_groupAdd the previewed ad group

    Adds the ad group the user saw in preview_ad_group and agreed to, by its proposalId. On a published campaign it starts serving in Google Ads right away with its keywords and three ads, within the campaign's current daily budget, and VibeAds builds its landing page and generates images for it (3 credits). On a draft campaign it is saved and goes live when the campaign is published. If the preview came from a recommendation, adding it approves that recommendation, and the other recommendations in its session are recorded as rejected. Each preview can be added once; a repeat call returns the firs…

  • add_keywordsAdd keywords to an ad group

    Adds up to 20 keywords to one ad group of a published campaign in Google Ads right away. They bid the ad group's default max CPC and spend within the campaign's existing daily budget. Match types are EXACT and PHRASE (the default); "near me" and similar words come off, as Google's editorial rules ask. A keyword already in the ad group, or one a negative keyword in the campaign blocks, is left out, and the reply says why. The change is listed on the campaign's Optimize tab in VibeAds, where Undo removes the keywords. Requires a Pro or Max plan.

  • add_negative_keywordsAdd negative keywords

    Adds up to 20 negative keywords to a published campaign in Google Ads right away: to the whole campaign, or to one ad group with adGroup. Searches a negative keyword matches stop showing the campaign's ads. Match types are EXACT and PHRASE (the default); a one-word PHRASE negative blocks every search containing that word. A negative that would block one of the campaign's own keywords, or one already there, is left out, and the reply lists them with the reason. The change is listed on the campaign's Optimize tab in VibeAds, where Undo removes it. An assistant can make 20 changes to a campaign a…

  • apply_strategyCreate a draft campaign

    Turns a completed generate_strategy preview into a draft campaign: the campaign with its ad groups, keywords, targeting, ad copy and extensions. It takes the same jobId once get_strategy_status reports completed, and request_publish works on the campaignId it returns. Costs 6 VibeAds credits plus 3 per ad group for image generation. The campaign is a draft: it is not live and spends no ad money. Each preview becomes one campaign. A second call with the same jobId returns an error naming the campaign the preview already created, unless an earlier call failed and left that draft empty, which the…

  • audit_google_ads_accountAudit a Google Ads account

    Audits one of the user's connected Google Ads accounts, read live from Google Ads: up to 25 Search campaigns over the last 30 days, whether or not they are in VibeAds, against the 25 checks of VibeAds' free account audit (conversions, wasted spend, budget, click-through rate, cost per conversion, Quality Score and its parts, ad extensions, search terms, devices, search partners and more; the cost per click and landing page speed checks run on campaigns in VibeAds, which hold the figures they need). It returns a 0-100 health score and letter grade for the account and for each campaign, the issu…

  • check_approvalCheck an approval

    Reports on an approval: a link created by request_publish, a publish request_publish started itself (published true), or a link set_daily_budget, set_max_cpc or resume_campaign returned (approvalRequired). actionType says which: publish_campaign or apply_recommendation. status is one of: pending, approved, rejected, expired, executing, executed, failed. Pending means the user has not yet approved the link, which happens in their browser and not through this connection. For apply_recommendation, change says what it is (budget_increase, bid_change or resume_campaign), and executed means the chan…

  • dismiss_google_recommendationDismiss a Google recommendation

    Dismisses one of Google's recommendations by its resourceName from list_google_recommendations: Google stops showing it on the account's Recommendations page. No campaign, budget, keyword or ad changes. Requires a Pro or Max plan.

  • find_campaigns_to_importFind campaigns to import

    Reads every campaign in one of the user's connected Google Ads accounts directly from Google Ads (up to 50, removed ones left out) and marks each with inVibeAds, whether VibeAds already manages it. It answers what campaigns a Google Ads account already has, including the ones VibeAds has not seen. It is for bringing existing campaigns into VibeAds: the user picks the ones to bring in, and import_campaigns copies them. Each campaign has its name, googleCampaignId, status, type, daily budget, and the last 30 days of impressions, clicks, spend and conversions. VibeAds' optimizer, reports and reco…

  • generate_strategyDraft a campaign strategy

    Previews a draft campaign strategy server-side: keywords, ad copy, and 3 or more ad groups for a service category, budget, and locations. Pro and Max drafts include an ad group for searches of the business's own name, and on the Max plan, competitor ad groups for up to 5 competitors named in competitors; for a competitor given with its website, VibeAds reads that public website to write those ads. Costs 13 VibeAds credits. Returns a jobId: get_strategy_status reports progress with it, and apply_strategy turns the finished preview into a draft campaign. The preview creates no campaign, publishe…

  • get_account_health_scoreGet account health score

    Compute a 0-100 account health score across 6 dimensions (Tracking, Keywords, Budget, Creative, Targeting, Performance) by rolling up the latest diagnostics from all campaigns. Returns a letter grade A-F and per-dimension breakdown. Optionally scope to a single campaign.

  • get_campaign_detailsGet campaign details

    Get a detailed view of a single VibeAds campaign: budget, bidding strategy, ad groups, targeted locations, landing pages, last 7 days of performance metrics (impressions, clicks, CTR, CPC, spend, conversions, CPA), and any active diagnostics.

  • get_diagnosticsGet diagnostics

    Return up to limit issues (default 20, max 50) from the optimizer's most recent run on each campaign, highest severity first: rule, campaign, problem, affected metric with current value vs benchmark, recommended fix and estimated impact. The optimizer runs every 12 hours on published campaigns with synced Google Ads data, so new or unpublished campaigns have none. It returns no recommendation IDs; list_recommendations lists the pending changes, each with the tool that carries it out. Can filter by severity and scope to one campaign.

  • get_performance_reportGet a performance report

    Reads one campaign's figures, or a whole Google Ads account's, for a period the user chooses, live from Google Ads: impressions, clicks, spend, conversions, conversion value, click-through rate, average cost per click, cost per conversion and conversion rate. The period is a preset (the last 7, 30 or 90 days, this month or last month) or a start and end date, up to 90 days; two reports compare two periods, such as September with August. breakdown splits the figures by day, device, hour of the day, ad group, keyword or location. The campaign is one in VibeAds (campaignId) or any campaign in a c…

  • get_search_term_analysisAnalyze search terms

    Analyze each campaign's most recently synced search terms to find wasted spend (terms costing at least min_cost with zero conversions, up to 15, highest cost first) and winners (at least 5 clicks and 1 conversion, up to 10, highest conversion rate first). The synced list holds the up-to-100 highest-cost search terms over the 7 days before the campaign's latest Google Ads sync, so every figure describes those 7 days; lookback_days only sets how old that sync may be. Search terms are the queries people typed, not the account's keywords. Can be scoped to one campaign (full UUID or a unique prefix…

  • get_strategy_statusCheck strategy status

    Checks a strategy generation job started with generate_strategy. Returns status and phase while running, and the drafted ad groups (with keyword and headline counts) once complete. Generation usually finishes within a few minutes (the server allows up to 6), and every VibeAds tool call counts toward a limit of 60 calls per hour per connection, so checks are best spaced out. Once it is complete, apply_strategy with the same jobId creates the draft campaign; request_publish works on a draft campaign, not on a preview. Requires a Pro or Max plan.

Show 14 more tools
  • import_campaignsImport campaigns from Google Ads

    Brings up to 3 campaigns the user chose from find_campaigns_to_import into VibeAds, by their googleCampaignIds. VibeAds copies each campaign's ad groups, keywords, ads, targeting and extensions and then manages it like a campaign it published: it syncs its numbers from Google Ads (starting now), its optimizer reviews it within 12 hours, and get_campaign_details, list_recommendations and pause_campaign work on it with the returned campaignId. Nothing changes in Google Ads. Costs 1 VibeAds credit per campaign. With more than one Google Ads account, customerId names the account the campaigns are …

  • list_campaignsList campaigns

    Lists the user's campaigns in VibeAds, newest first (default 25, max 100): the Google Ads campaigns VibeAds published or imported, and drafts. This is the list for a request to see the user's campaigns in VibeAds, "my Google Ads campaigns in VibeAds" included, and it works with or without a Google Ads connection. Each campaign has its name, full campaign ID, status, whether it is published to Google Ads, category and business city, daily budget, and created date, and the list names the plan the user's VibeAds account is on (Free, Pro or Max). It has no performance metrics (get_campaign_details…

  • list_google_ads_accountsList connected Google Ads accounts

    Lists every Google Ads account connected to the user's VibeAds account, switched on or not: name, ID, whether it is the default, and inUse, whether VibeAds manages it. A client account reached through a manager account (MCC) carries managerAccount, the manager it sits under, and managerAccounts lists each manager with its number of connected clients. It is useful for agencies, to tell clients apart before reading, importing or publishing, and when a choose_google_ads_account answer names accounts. Accounts are switched on and off in VibeAds Settings, up to as many as the plan runs at once. Rea…

  • list_google_recommendationsList Google's recommendations

    Reads Google's own recommendations for one of the user's Google Ads accounts, as on the account's Recommendations page in Google Ads (up to 25, open ones), optionally for one campaign. Each has its resourceName, type, a title in plain words, the campaigns it is for (and whether each is in VibeAds), what it would change (for a budget, the daily budget now and after; for a keyword, its text and match type; for ad text, the lines Google would add), and Google's weekly estimate where Google gives one. applyIn says where the change is made. chat: applyWith is the tool and the exact arguments that m…

  • list_keywordsList a campaign's keywords

    Lists one published campaign's ad groups, keywords and negative keywords, read live from Google Ads: each keyword's match type, status (ENABLED or PAUSED), max CPC (its own, or its ad group's default) and its last 30 days of clicks, cost and conversions, and each ad group's default max CPC. adGroup narrows the list to one ad group. add_keywords, add_negative_keywords, set_keyword_status and set_max_cpc name keywords and ad groups the way this list shows them. Without a Google Ads connection, the answer has a link for the user to connect it. Reading changes nothing. Available on every plan.

  • list_recommendationsList pending recommendations

    Lists the changes VibeAds recommends for the user's campaigns that are waiting for the user's decision, from the 25 most recent optimization sessions. Each session has a sessionId and its campaign; each recommendation has a recommendationId, the change it would make, the reason, a risk level, a blast radius (how much harm the change could do if it is wrong), the estimated impact, and applyWith: the tool and the exact arguments that carry it out, the recommendation's sessionId and recommendationId included (add_negative_keywords, set_keyword_status, set_max_cpc, set_daily_budget, or preview_ad_…

  • pause_campaignPause a campaign

    Pauses one of the user's published campaigns in Google Ads, by its campaignId from list_campaigns or import_campaigns. While it is paused no ads show and nothing is spent. Nothing is deleted. resume_campaign starts it again, and so does Start ads on the campaign's page in VibeAds. A draft that is not in Google Ads yet has nothing to pause, and a campaign that is already paused is left as it is. Requires a Pro or Max plan.

  • preview_ad_groupPreview a new ad group

    Writes a new ad group for one of the user's campaigns and shows what adding it would do, without adding anything: its keywords, its three ads, its landing page, its images, and the daily budget each ad group would get. It works for an ad group the user names (campaignId and name, for a service the campaign does not cover yet) or for the optimizer's recommended ad group (sessionId and recommendationId from list_recommendations, where approval is preview_then_add). add_ad_group adds it with the returned proposalId once the user agrees. Nothing changes in Google Ads, the campaign's budget is not …

  • request_publishPublish a draft campaign

    Publishes a draft campaign to Google Ads, where it can spend its daily budget, billed to the advertiser's own Google Ads account. For a connection the user made by signing in to VibeAds, when the user allows AI assistants to publish Search campaigns up to a daily budget and this campaign is within it, publishing takes two calls. The first publishes nothing and returns needsConfirmation with dailyBudgetUsd, the most the campaign can spend a day. The second, with confirmedDailyBudget set to that amount once the user agrees to it, starts publishing and returns published true. In every other case …

  • research_keywordsResearch keywords

    Looks up keyword ideas in Google's Keyword Planner for seed keywords, a public web page, or both, in the places named: a city such as "Austin, TX", a ZIP code, a county, a state or a whole country, up to 10. Each idea has its average monthly searches over the last 12 months, its competition (LOW, MEDIUM or HIGH, and 0 to 100) and the top-of-page bid range in the Google Ads account's currency, highest search volume first. The figures are Google's, for English-language searches, read through the user's connected Google Ads account; nothing is added to any campaign. Given a web page, Google reads…

  • resume_campaignStart a paused campaign again

    Starts one of the user's paused campaigns again in Google Ads, where it can spend its daily budget, billed to the advertiser's own Google Ads account. It follows the same rules as request_publish. For a connection the user made by signing in to VibeAds, when the campaign's daily budget is within what the user allows AI assistants, it takes two calls: the first changes nothing and returns needsConfirmation with dailyBudgetUsd, and the second, with confirmedDailyBudget set to that amount once the user agrees to it, starts the campaign, and VibeAds emails the user that it started. A campaign can …

  • set_daily_budgetSet a daily budget

    Sets a published campaign's daily budget, in dollars. A decrease, or an increase of up to 20%, changes in Google Ads right away and is listed on the campaign's Optimize tab in VibeAds, where Undo puts the old budget back. The 20% is measured from the lowest daily budget the campaign had in the last 24 hours. A larger increase, or any increase from a connection made with a VibeAds API key, is a change the user approves: the reply has approvalRequired and an approvalUrl they open in VibeAds, and nothing changes until then (check_approval reports the outcome). An assistant can change a campaign's…

  • set_keyword_statusPause or turn on keywords

    Pauses up to 20 keywords of a published campaign in Google Ads right away, or turns paused ones back on (status paused or enabled). A paused keyword shows no ads and spends nothing; one turned back on spends within the campaign's daily budget. Keywords are named by their text, with matchType or adGroup when two ad groups hold the same text, as list_keywords shows them. The change is listed on the campaign's Optimize tab in VibeAds, where Undo reverses it. With sessionId and recommendationId, it carries out that recommendation from list_recommendations, whose applyWith gives these arguments: Vi…

  • set_max_cpcSet a max CPC

    Sets the max CPC (the most Google charges for one click) of one ad group, of one keyword in it, or of up to 20 keywords each with its own bid (keywords), on a published campaign that uses Manual CPC bidding; on other bidding strategies Google sets the bids and the reply says so. A decrease, or an increase up to double the current max CPC and at most $50 a click, changes in Google Ads right away, within the campaign's daily budget, and is listed on the campaign's Optimize tab in VibeAds, where Undo puts the old max CPC back. A larger increase is a change the user approves: the reply has approva…

Compare and alternatives

    Featured in

    Signals

    Stars
    1
    Forks
    0
    Open issues
    0
    Last commit
    Oct 20, 2026 (8 days ago)
    Last release
    Oct 20, 2026 (8 days ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    Registry name
    io.github.vibeads/mcp
    Version
    0.2.28
    Auth
    API key
    Packages
    npm @vibeads/mcp
    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026
    Cite this page

    vibeads/mcp. Agent Mart. https://agentmart.dev/connectors/vibeads-mcp (last updated 2026-10-24)