SEOSearch IndexActive in MCP

Research Keywords

research_keywords(seedKeywords: string[], mode?: string, limit?: number)

Expand a seed term into a ranked demand list.

Keyword ideas with monthly search volume, cost-per-click (CPC), paid competition index, organic keyword difficulty and search intent. Navigational searches (people looking for one site) are listed last, not removed.

Input Parameters

3 arguments
ParameterTypeRequirementDefault / ConstraintsDescription
seedKeywordsstring[]required
Array of 1 to 20 search query strings
One or more seed terms to expand into a ranked demand list.
modestringoptional
default: suggestionssuggestions or ideas
suggestions: searches that contain a seed phrase, one request per seed. ideas: the wider category around the seeds in one request, including searches that share no words with them.
limitnumberoptional
default: 50Integer between 1 and 200
Maximum number of keyword suggestions to return.

Return Envelope (OFE / 1.0)

Open Fact Envelope

Every response adheres to the strict ofe/1.0 envelope schema, returning verified data, typed facts, entity references, and follow-up tool suggestions:

data Payload

Keyword ideas with monthly search volume, cost-per-click (CPC), paid competition index, organic keyword difficulty and search intent. Navigational searches (people looking for one site) are listed last, not removed.

coverage & Freshness

Reports returned count vs total items, observation timestamp as_of, and scope notes. Evaluated live per request.

resources (Dataset Exports)

If a query yields high row counts (e.g. >1,000 queries in Search Console), full unpaginated tables are persisted to R2 and linked as an mcpseo:// URI for follow-up retrieval via export_dataset.

next_actions

Provides suggested follow-up tool calls with pre-filled arguments so your AI agent can navigate from discovery to detailed inspection autonomously.

Emitted Facts & Entities

Knowledge Graph

Typed Facts

Facts emitted in the facts[] array with provenance receipts:

Fact TypeClaim DescriptionEmitted Data Fields
seo.keyword_opportunitySearch demand metrics for an expanded keyword idea.
keywordsearch_volumecpccompetitionkeyword_difficultysearch_intent

Registered Entities

Entities registered in the entities[] array to establish subject relationships:

keyword

Discovered search queries.

Request & Response Examples

Live MCP Payloads

Exact JSON schemas transmitted over Model Context Protocol (stdio or HTTP SSE transport):

1. Client Tool Invocation

research_keywords request.json
{
  "tool": "research_keywords",
  "arguments": {
    "seedKeywords": [
      "mcp server",
      "model context protocol"
    ],
    "limit": 25
  }
}

2. Server Envelope Response

research_keywords response.json
{
  "schema_version": "ofe/1.0",
  "domain": "seo",
  "data": {
    "seed_keywords": [
      "mcp server",
      "model context protocol"
    ],
    "mode": "suggestions"
  },
  "facts": [
    {
      "type": "seo.keyword_opportunity",
      "subject": [
        "urn:keyword:mcp+server+examples"
      ],
      "data": {
        "keyword": "mcp server examples",
        "search_volume": 4800,
        "cpc": 2.15,
        "competition": 0.34,
        "keyword_difficulty": 28,
        "search_intent": "informational"
      },
      "provenance": {
        "source_class": "search_index",
        "method": "keyword_suggestions",
        "confidence": 0.75,
        "observed_at": "2026-09-24T00:00:00Z",
        "cache_hit": false
      }
    },
    {
      "type": "seo.keyword_opportunity",
      "subject": [
        "urn:keyword:best+mcp+servers+for+claude"
      ],
      "data": {
        "keyword": "best mcp servers for claude",
        "search_volume": 3200,
        "cpc": 3.4,
        "competition": 0.41,
        "keyword_difficulty": 35,
        "search_intent": "commercial"
      },
      "provenance": {
        "source_class": "search_index",
        "method": "keyword_suggestions",
        "confidence": 0.75,
        "observed_at": "2026-09-24T00:00:00Z",
        "cache_hit": false
      }
    }
  ],
  "entities": [
    {
      "id": "urn:keyword:mcp+server+examples",
      "kind": "keyword",
      "label": "mcp server examples"
    },
    {
      "id": "urn:keyword:best+mcp+servers+for+claude",
      "kind": "keyword",
      "label": "best mcp servers for claude"
    }
  ],
  "coverage": {
    "returned": 2,
    "total": null,
    "as_of": "2026-09-24T00:00:00Z",
    "scope_note": "searches containing a seed phrase, highest search volume first"
  },
  "deltas": [],
  "resources": [],
  "next_actions": [
    {
      "tool": "inspect_serp",
      "args": {
        "keyword": "mcp server examples"
      },
      "use_when": "inspect live rankings for top terms"
    }
  ]
}

LLM Agent Workflow

Claude & Cursor Integration
Step 1

Prompt Trigger

"Find keyword ideas and search volume around 'model context protocol'."
Step 2

Agent Decision & Reasoning

The agent generates related keyword opportunities with difficulty and volume metrics, filtering for high-intent, low-difficulty terms.

Step 3

Recommended Follow-up Tools

Provenance Guarantees & Error Handling

Reliability
Source Classsearch_index
Inspection Methodkeyword_suggestions or keyword_ideas, by mode
OFE Calibration Score0.75 (OFE 1.0 scale)
Cache DurationNone (Live)

Every fact emitted by Vouched includes source_class, method, observed_at ISO timestamp, and a published confidence score. LLM agents can inspect these citations to distinguish first-party verified facts (e.g. Search Console) from modeled competitor estimates.

Billing & API Keys

Paid market data, on Pro and Team. A call typically costs about $0.013 per seed keyword of market data, so Pro's included $4 covers roughly 307 seed keywords. Self-hosted, it uses your own DataForSEO key and bills you directly, with nothing added. See pricing for what each tool costs.

More SEO Tools

6 sibling tools
Self-host on GitHub (MIT)Try on Cloud plan