Keyword Planner
Provides tools for querying Google Ads Keyword Planner data, including keyword search volume, 24-month historical trends, year-over-year and 3-month growth, peak months, advertiser competition, top-of-page bid estimates, related keyword ideas from seeds or URLs, and resolving place names to Google location IDs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Keyword Plannerwhat's the monthly search volume and year-over-year growth for 'pour over coffee' in the US?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
keyword-planner-mcp
Google Ads Keyword Planner for AI agents and the terminal. Ask how many people search for something, whether that demand is growing, when it peaks, and what advertisers pay for it, and get the answer from Google's own numbers.
$ npx keyword-planner-mcp ideas "coffee brewing" --sort growth --limit 5
Keyword ideas (US, en), sorted by growth
keyword volume/mo yoy 3mo last 12 months peak comp top-of-page bid
cold brew concentrate recipe 6,600 +212% +48% ▁▁▂▃▅▇██▆▄▅▇ 2025-08 low 14 $0.42-$1.85
pour over coffee kettle 9,900 +64% +12% ▁▁▂▂▂▃▃▃▄▄▅█ 2025-12 high 88 $0.61-$2.40
coffee grinder burr vs blade 2,900 +31% -6% ▁▁▁▁▁▁▁██▁▁▁ 2025-08 medium 52 $0.38-$1.60
french press ratio 4,400 -18% -22% █▆▆▆▃▃▃▃▃▃▁▁ 2025-01 low 9 $0.22-$0.95
aeropress inverted method no data
1 keyword(s) have no data: Google has too few searches to report, which is not the same as zero.Illustrative output with made-up numbers (run node examples/sample-table.mjs); real runs return Google's figures for your query.
Every keyword comes with 24 months of history, so year-over-year is real and you can tell a topic that is growing from one that spiked once and is cooling. It runs as an MCP server (Claude Code, Cursor, Claude Desktop and others) and as a CLI. It is read-only: it never creates campaigns or spends money.
Why this one
Keyword tools either charge a monthly subscription for numbers that start as Google's, or hand an agent one average volume and no direction. This gives the agent the full picture from the source:
24 months of history, plus trend and seasonality for every keyword: true year-over-year, last 3 months, peak month, and a sparkline. (Planner returns 12 months unless asked; this asks for 24, so year-over-year compares the same months a year apart.)
"No data" is kept separate from zero. Too few searches to report is a different answer from nobody searching.
Exact-keyword lookups use Google's historical-metrics endpoint, so the keyword you asked about is the one you get, with close variants listed. Related-ideas endpoints can quietly drop or merge it.
Ideas from seeds, a page URL, or a whole site, sortable by volume, growth or lowest competition.
Places by name.
--geo "Ohio;Texas"resolves through Google, so you don't have to look up location ids.A clear error when Google retires an API version. A retired version answers with a bare 404 page that looks like "the API is down"; this tells you which setting to change.
Related MCP server: mcp-seo-keywords
Setup
Keyword Planner is part of the Google Ads API, so you need:
A Google Ads account. It's free, and no campaign or spend is required.
A developer token with Basic or Standard access, from Google Ads API Center (Tools > Setup > API Center). Test-account tokens return no data.
An OAuth client (Google Cloud console, Desktop app) and a refresh token with the
https://www.googleapis.com/auth/adwordsscope.
Then set these in your environment. See .env.example.
Variable | |
| from API Center |
| your OAuth client |
| for the account you research with |
| that account's id, e.g. |
| only if you reach it through a manager account |
Credentials are read from the environment only. They are sent in request
headers, never URLs, and error messages are scrubbed of them before printing.
The API version defaults to v25; override it with GOOGLE_ADS_API_VERSION.
MCP server
claude mcp add keyword-planner -- npx -y keyword-planner-mcp mcp # Claude CodeFor Cursor, Claude Desktop and others:
{ "mcpServers": { "keyword-planner": { "command": "npx", "args": ["-y", "keyword-planner-mcp", "mcp"] } } }Tool | What it does |
| Volume, 24-month history, trend, competition and bids for up to 1,000 keywords you name |
| Related keywords from up to 20 seeds, a URL or a site; sort by volume, growth or competition |
| Place name to Google location id |
All three are annotated read-only. Each takes geo (country code, place name,
or id; several separated by ;) and language (e.g. en, es).
Claude Code plugin
/plugin marketplace add GroMarketing/keyword-planner-mcp
/plugin install keyword-planner@keyword-planner-mcpIt installs the MCP server and a keyword-research skill. The skill tells
Claude how to read the numbers honestly: volumes are rounded buckets,
competition means advertiser competition rather than SEO difficulty, and a big
year-over-year jump with a falling 3-month trend is a spike that's cooling.
CLI
npx keyword-planner-mcp metrics "remotion" "video editor" --geo US
npx keyword-planner-mcp metrics --file keywords.txt --csv > volumes.csv
npx keyword-planner-mcp ideas "crm for nonprofits" --sort competition --limit 50
npx keyword-planner-mcp ideas --site example.com --min-volume 100 --json
npx keyword-planner-mcp ideas "pizza" --geo "Columbus, Ohio"
npx keyword-planner-mcp geo "Ohio"Installed globally (npm i -g keyword-planner-mcp), the command is
keyword-planner. --csv puts each of the 24 months in its own column for spreadsheets.
Reading the numbers
Volumes are rounded buckets (1,000, 1,300, 1,600, 1,900, 2,400 and so on). Accounts with little ad spend may see wider ranges. 1,900 vs 2,400 is the same demand.
yoyis the last 3 months against the same 3 months a year earlier.3mois the last 3 months against the 3 before.peakis the busiest of the last 12 months. Google's newest data lags about a month, so "last 3 months" ends at its latest available month.compis advertiser competition in Google Ads (low/medium/high plus a 0-100 index). It is not organic ranking difficulty.Bids are Google's estimated top-of-page range, in your account's currency.
Close variants ("video editor", "video editors") share one number.
Library
import { keywordMetrics, keywordIdeas, resolveTargeting } from 'keyword-planner-mcp';
const t = await resolveTargeting({ geo: 'US', language: 'en' });
const rows = await keywordMetrics(['remotion', 'video editor'], t);Limits
Keyword Planner allows about one request per second per account. Requests from one process (CLI run or MCP server) share a single queue paced to stay under that; separate processes are not coordinated.
Seed ideas take up to 20 seeds per request. Metrics take up to 1,000 keywords.
Numbers are Google Search only (not YouTube, Bing or Amazon).
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Your agent needs to know what people actually search — volume, ideas, how hard the term is, and whether interest is rising or was a spike last March. **What you can ask for** • "What is the monthly volume and difficulty for these 200 keywords?" • "Give me keyword ideas around this seed, with questions people ask." • "Which keywords does this competitor rank for that we do not?" • "Is interest in this term growing, and where?" • "What does this page already rank for?" **How to use it** Point any MCP client at https://mcp.aisa.one/seo-keywords/mcp and sign in with OAuth — there is no key to create or paste. 49 tools: Google and Bing volume and suggestions, keywords for a site or a URL, clickstream volumes, Google Trends and Ads traffic estimates, plus Semrush difficulty, question keywords, broad match and paid keywords, and Similarweb's keyword and landing page sets. **Why this rather than the source** Three sources for the same number, so a suspicious volume can be checked rather than believed. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Size the demand here, then ask the same agent who ranks for it and who links to them — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo/mcp for all of it at once — rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.
Real SEO data for AI assistants: page audits, Keyword Planner volumes, Search Console history.
Bulk keyword search volume, CPC, competition and difficulty, plus an optional Google Trends summary.
SEO data for Google keywords, domains, backlinks and AI visibility. Pay per lookup, no subscription.
Related MCP Servers
- AlicenseAqualityAmaintenanceProvides AI agents with read-only access to Google Search Console data, including search analytics, index coverage, and sitemap status. It enables users to query clicks, impressions, and ranking performance or check URL indexing status through natural language.4175 npm9MIT
- AlicenseNot gradedqualityBmaintenanceProvides search volume and keyword difficulty data via DataForSEO Labs, enabling AI agents to perform SEO keyword research through natural language queries.381 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables natural-language, read-only analysis of your own Google Search Console and Google Analytics 4 data, including search performance, engagement, sitemap health, ranking opportunities, and deterministic SEO audits through MCP clients like ChatGPT.MIT
- AlicenseAqualityCmaintenanceSEO and AI-visibility checks an agent buys per call: keyword research, on-page audits, Google rank and SERP data, backlinks, and AI-citation checks across ChatGPT, Claude, Gemini and Perplexity. 19 tools, $0.005–0.30 each, paid in USDC on Solana via x402 — no account and no API key.1999 npmMIT