Back to Browse

Google Keyword Planner MCP Server

Developer ToolsModerate7.6MCP RegistryLocal
Free

Server data from the Official MCP Registry

Keyword ideas, search volumes, CPC ranges, trends and forecasts from Google Ads Keyword Planner.

About

Keyword ideas, search volumes, CPC ranges, trends and forecasts from Google Ads Keyword Planner.

Security Report

7.6
Moderate7.6Low Risk

The Google Keyword Planner MCP server is a clean, well-structured read-only client for the Google Ads API that requires OAuth credentials supplied via environment variables and sends them only to Google endpoints. Its permissions (network_http to Google APIs and env_vars for credentials) match its stated purpose, and no shell execution, hardcoded secrets, exfiltration, or obfuscated code was found. Remaining issues are minor: a configurable base URL and token endpoint override via environment variables, and a few low-severity quality notes around error handling and input validation. Supply chain analysis found 1 known vulnerability in dependencies (0 critical, 1 high severity).

6 files analyzed · 5 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

What You'll Need

Set these up before or after installing:

Google Cloud OAuth client ID (Desktop app); its project needs Basic access to the Google Ads APIOptional

Environment variable: GOOGLE_ADS_CLIENT_ID

Google Cloud OAuth client secretRequired

Environment variable: GOOGLE_ADS_CLIENT_SECRET

OAuth refresh token for the adwords scopeRequired

Environment variable: GOOGLE_ADS_REFRESH_TOKEN

Google Ads account ID to query, e.g. 123-456-7890Optional

Environment variable: GOOGLE_ADS_CUSTOMER_ID

Manager account ID, if access is through a manager accountOptional

Environment variable: GOOGLE_ADS_LOGIN_CUSTOMER_ID

Default language, e.g. EnglishOptional

Environment variable: KEYWORD_PLANNER_DEFAULT_LANGUAGE

Default locations, comma-separated, e.g. NigeriaOptional

Environment variable: KEYWORD_PLANNER_DEFAULT_LOCATIONS

Legacy and optional. Google retired developer tokens on 9 September 2026Required

Environment variable: GOOGLE_ADS_DEVELOPER_TOKEN

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-afeezadebayo-google-keyword-planner": {
      "env": {
        "GOOGLE_ADS_CLIENT_ID": "your-google-ads-client-id-here",
        "GOOGLE_ADS_CUSTOMER_ID": "your-google-ads-customer-id-here",
        "GOOGLE_ADS_CLIENT_SECRET": "your-google-ads-client-secret-here",
        "GOOGLE_ADS_REFRESH_TOKEN": "your-google-ads-refresh-token-here",
        "GOOGLE_ADS_DEVELOPER_TOKEN": "your-google-ads-developer-token-here",
        "GOOGLE_ADS_LOGIN_CUSTOMER_ID": "your-google-ads-login-customer-id-here",
        "KEYWORD_PLANNER_DEFAULT_LANGUAGE": "your-keyword-planner-default-language-here",
        "KEYWORD_PLANNER_DEFAULT_LOCATIONS": "your-keyword-planner-default-locations-here"
      },
      "args": [
        "-y",
        "google-keyword-planner-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Google Keyword Planner MCP server

An MCP server that gives Claude and other MCP clients direct access to Google Ads Keyword Planner data: keyword ideas, average monthly searches, competition, top-of-page bid ranges, monthly trends and click and cost forecasts.

Built by Afeez Adebayo. MIT licensed.

What you can ask

  • "Find 100 keyword ideas for online accounting software in Nigeria, sorted by search volume."
  • "Get search volume for these 50 keywords in the UK and US, with their trends."
  • "Pull keyword ideas from https://example.com/pricing."
  • "Forecast clicks and cost for these exact-match keywords at a ₦300 max CPC for 30 days."

Tools

ToolWhat it does
generate_keyword_ideasIdeas from seed keywords, a URL, keywords plus a URL, or a whole site. Returns average monthly searches, competition, low and high top-of-page bids, 3-month change, change across the period (first to last month shown), and optional monthly volumes. Filter by minimum volume and sort by searches, competition, bid or relevance.
get_search_volumeHistorical metrics for up to 10,000 exact keywords, with close variants and a list of keywords Google returned no data for. Optional month range.
forecast_keywordsImpressions, clicks, cost, CTR and average CPC for keywords at a given max CPC over 1 to 365 days.
find_locationsLook up Google location IDs by place name.
list_languagesList targetable languages with codes and IDs.
list_accessible_customersList the Google Ads accounts your login can access.
check_connectionConfirm credentials and show the account, currency and defaults.

Locations and languages accept plain names ("Nigeria", "Lagos", "English") as well as Google IDs. Bids and costs are shown in your Google Ads account currency.

What you need

Keyword Planner data comes from the Google Ads API. Since 9 September 2026, Google no longer uses developer tokens: API access belongs to the Google Cloud project that owns your OAuth client. You need:

  1. A Google Ads account. It must be enabled, but it doesn't need running campaigns. A manager account is optional.

  2. A Google Cloud project with the Google Ads API enabled. In the Google Cloud console, create a project and enable the Google Ads API. This gives Test access, which only works with test accounts.

  3. Basic access for that project. Keyword Planner isn't included in Explorer access, so you need Basic access:

    • Configure the OAuth consent screen (Google Auth Platform > Branding) and complete brand verification.
    • Open the Google Ads API Overview page for the project and apply for Basic access. Google reviews it automatically, usually within minutes of brand verification.
    • If your project is on the Google Cloud free trial, Google may reject the application; upgrading the billing account to a paid tier fixes this (you won't be charged for the Google Ads API).
  4. An OAuth client ID of type Desktop app, in the same project. Set the consent screen's publishing status to In production, because refresh tokens from apps in Testing status expire after 7 days.

  5. A refresh token. Clone this repository and run:

    npm install
    GOOGLE_ADS_CLIENT_ID=your-client-id GOOGLE_ADS_CLIENT_SECRET=your-secret npm run auth
    

    Open the printed link, sign in with the Google account that can access your Ads account, and copy the refresh token it prints.

Install

Claude Desktop (one click)

Download google-keyword-planner.mcpb from the latest release and open it. Claude Desktop asks for your credentials and stores the secrets securely.

Any MCP client (from source)

git clone https://github.com/afeezadebayo/google-keyword-planner-mcp.git
cd google-keyword-planner-mcp
npm install && npm run build

Then add it to your client config:

{
  "mcpServers": {
    "google-keyword-planner": {
      "command": "node",
      "args": ["/path/to/google-keyword-planner-mcp/server/index.js"],
      "env": {
        "GOOGLE_ADS_CLIENT_ID": "...",
        "GOOGLE_ADS_CLIENT_SECRET": "...",
        "GOOGLE_ADS_REFRESH_TOKEN": "...",
        "GOOGLE_ADS_CUSTOMER_ID": "123-456-7890",
        "GOOGLE_ADS_LOGIN_CUSTOMER_ID": "",
        "KEYWORD_PLANNER_DEFAULT_LANGUAGE": "English",
        "KEYWORD_PLANNER_DEFAULT_LOCATIONS": "Nigeria"
      }
    }
  }
}

For Claude Code:

claude mcp add google-keyword-planner \
  -e GOOGLE_ADS_CLIENT_ID=... -e GOOGLE_ADS_CLIENT_SECRET=... \
  -e GOOGLE_ADS_REFRESH_TOKEN=... -e GOOGLE_ADS_CUSTOMER_ID=123-456-7890 \
  -- node /path/to/google-keyword-planner-mcp/server/index.js

Configuration

VariableRequiredNotes
GOOGLE_ADS_CLIENT_IDYesOAuth client (Desktop app). Its Cloud project needs Basic access.
GOOGLE_ADS_CLIENT_SECRETYes
GOOGLE_ADS_REFRESH_TOKENYesFrom npm run auth.
GOOGLE_ADS_CUSTOMER_IDYesThe account to query. Dashes are fine.
GOOGLE_ADS_LOGIN_CUSTOMER_IDNoYour manager account ID, if you access the account through one.
GOOGLE_ADS_API_VERSIONNoDefaults to v25. Change it when Google retires a version.
KEYWORD_PLANNER_DEFAULT_LANGUAGENoUsed when a request doesn't name a language.
KEYWORD_PLANNER_DEFAULT_LOCATIONSNoComma-separated names or IDs used when a request doesn't name locations.
GOOGLE_ADS_DEVELOPER_TOKENNoLegacy. Google retired developer tokens on 9 September 2026; it's only sent if you set it.

Good to know

  • Volumes are estimates. Keyword Planner rounds search volumes into ranges and groups close variants. Accounts with little or no ad spend may see broader ranges.
  • Rate limits. Keyword Planner allows a limited number of requests per minute. The server retries rate-limit and server errors automatically with back-off.
  • Errors explain the fix. Common problems (a Cloud project with only Test access, a missing manager account ID, an expired refresh token) come back with a plain-English explanation of how to fix them.
  • Privacy. The server runs on your machine and talks only to Google. Credentials stay in your MCP client's config.

Development

npm install
npm run typecheck
npm run build
npm test   # runs every tool against a local mock of the Google Ads API

Releases are automated: bumping version in package.json and pushing to main builds the bundle, creates a GitHub release and publishes the listing to the official MCP Registry.

Reviews

No reviews yet

Be the first to review this server!