Keyword Research
Requires
The free Ryze MCP connector (https://connector.get-ryze.ai/mcp). Claude Code: claude mcp add ryze --transport http https://connector.get-ryze.ai/mcp. claude.ai / Desktop / Cursor: add it as a custom connector with the same URL. Setup: https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp
Seed → ideas → metrics → clusters. Volumes come from Google Ads planner data (the source everyone else resells), enriched with DataForSEO intent/difficulty.
Workflow
- Expand the seed.
google_ads__generateKeywordIdeaswith the seed keyword(s) and/or the user's URL. Collect up to ~200 ideas. - Metrics.
google_ads__generateKeywordHistoricalMetricson the candidate list — monthly volume, competition, CPC range, 12-month trend. - Intent + difficulty (optional enrich). If the workspace exposes DataForSEO tools, call the Labs
keyword_overviewendpoint for the top ~50 (search intent, keyword difficulty, SERP features). Request shape:native__get_provider_docsproviderdataforseo. Skip silently if unavailable — Google metrics alone are enough for a v1 plan. - What they already rank for.
google_search_console__runRawSearchAnalytics(dimensionquery, filtered to the topic) — mark keywords the site already has positions for; those are optimize-not-create. - Cluster. Group by intent and topic into content clusters: pillar + supporting pages. For each cluster: target keyword, supporting keywords, total volume, intent, existing page (if any) or "new page".
Output
One table per cluster (keyword, volume, CPC, intent, current position if any), then a ranked plan: which clusters to attack first and why (volume × winnability — favor clusters where the site already has striking-distance positions). Plain language, no filler.
Rules
- Never invent volumes. If a metrics call fails, show the keyword without numbers and say why.
- CPC belongs in the output — it tells the user what the traffic is worth, and this doubles as an ads negative-keyword source.