The standard keyword research workflow hasn't meaningfully changed in a decade: open Keyword Planner, type seed terms, export a CSV, open a spreadsheet, cross-reference a competitor-intel tool in another tab, paste the survivors into a campaign draft, and hope nothing got lost between tab four and tab nine. Competitor keyword research with an AI assistant collapses that whole ritual into a conversation — you ask what your competitor is bidding on, and the answer lands in the same chat that can launch the campaign.
This post covers how the two keyword tools in the AdWhispr MCP server — research_keywords and research_competitor_keywords — work conversationally, and why the output being in the conversation is the actual unlock.
The two tools, and when each fires
Both live in the AdWhispr MCP server, which runs inside Claude, ChatGPT, Claude Code, and Cursor (setup: Claude, ChatGPT, Claude Code, Cursor).
research_keywords is the inside-out tool. You describe your product — or the assistant already knows it from get_my_brand — and it returns Google keyword intel around your own space:
I sell cold brew concentrate. What keywords should I be
looking at for a Search campaign?
research_competitor_keywords is the outside-in tool. You name a rival and it pulls what they're bidding on:
What Google keywords is [competitor] targeting? Which of
those are high-intent, and which am I not covering?
The second question is the one legacy tooling makes painful. In the tab-juggling workflow, "what are they bidding on that I'm not" means exporting two keyword sets, VLOOKUP-ing them against each other, and manually flagging intent. Here it's a sentence — the assistant runs both tools, does the diff, and answers in prose you can interrogate.
And interrogation is the point. Keyword research isn't a report, it's a dialogue:
Drop anything branded. Group the rest by intent stage.
Which cluster fits a $40/day starter budget?
Each follow-up refines the working set without ever leaving the thread. No re-export, no version-seventeen spreadsheet.
Where it fits in the bigger research picture
Keyword intel is one lens. The same server gives your assistant the competitor's actual ads — their entire ad library, ingested and AI-classified by hook, format, tone, and offer, with days-running as the performance proxy. That combination matters more than either half alone: keywords tell you where a competitor buys attention, their long-running ads tell you what message earns it. When the keyword diff shows a rival owning a high-intent cluster, your immediate next question — "show me the ads they run against those terms' audience" — is answerable in the same conversation via get_brand_ads.
At the time of writing the research side covers 380+ tracked brands and ~194,000 ads. And the honesty rule applies to keywords the way it applies to ads: signals we can verify, no fabricated performance numbers dressed up as data.
From keyword list to live campaign — without leaving the chat
Here's the part that separates this from every keyword tool you've used: the output of the research tools feeds directly into campaign launch. The AdWhispr server includes execution tools, and the Google ones — launch_search_campaign and launch_pmax_campaign — are generally available.
So the conversation continues:
Connect my Google Ads account.
(connect_ad_account, OAuth, once.)
Launch a Search campaign on the high-intent cluster we just
built — $40/day, send traffic to my product page.
launch_search_campaign fires, and the keyword list you refined three messages ago becomes a live campaign. No export, no import, no re-typing keywords into Google's editor and wondering if you missed a match type. For broader inventory:
Also launch a Performance Max campaign at $60/day using the
same research and the creative in my library.
launch_pmax_campaign picks up both the keyword context and any cloned creative from list_my_creatives. Then the management layer — get_account_performance, update_budget, pause_campaign — keeps the loop in the same thread. The full sequence, prompt by prompt, is in 12 prompts from competitor research to a live campaign.
The legacy workflow, side by side
| Legacy: Planner + spreadsheets | AI assistant + MCP | |
|---|---|---|
| Competitor keyword intel | Separate paid tool, separate tab | research_competitor_keywords, one prompt |
| Your keyword expansion | Keyword Planner, CSV export | research_keywords, same chat |
| Gap analysis | Manual VLOOKUP in a spreadsheet | "Which am I not covering?" |
| Refinement | Re-filter, re-export, re-share | Follow-up questions in-thread |
| Handoff to campaign | Copy-paste into Ads editor | launch_search_campaign / launch_pmax_campaign |
| Context after launch | Gone — lives in a dead spreadsheet | Persists in the conversation |
The last row is the underrated one. Six weeks after launch, when you ask "why did we pick these keywords?", a spreadsheet has no answer. The conversation does — the reasoning, the competitor diff, and the campaign it produced are one artifact.
A realistic first session
If you want to test this today, here's a 15-minute script:
- Set up the connector (adwhispr.com/integrations) — free tier includes 5 MCP tool calls/month, enough for a taste of this exact flow.
- Prompt:
"I sell [product]. What keywords is [competitor] bidding on that I should care about?" - Refine:
"Drop branded terms, keep high intent, fit it to $40/day." - If it holds up, connect your Google Ads account and launch — or upgrade to Pro ($39/mo, 3-day free trial, unlimited research tool calls) and make this the weekly routine. Pricing is flat, not metered per call, so a long refinement dialogue costs the same as a short one.
Keyword research was never hard because the data was hidden. It was hard because the data lived in five disconnected places and the campaign lived in a sixth. Put the research and the launch button in the same conversation, and the spreadsheet layer between them simply stops existing.
Start free at adwhispr.com — and if you want the whole loop beyond keywords, read how to run ads from Claude in 2026.
Ask what they're bidding on. Launch on the answer. Same chat.