Skip to main content
Glama

MisarSEO MCP Server

research_keywords

Research keyword data (search volume, difficulty, CPC, related ideas) for 1-5 seed keywords in one call — one research run per seed. Returns results, one entry per seed with ok — a single bad seed won't fail the batch. CHARGES CREDITS ON THE PAID DATA PROVIDER: per seed, ~30-100 credits each depending on the source, or a flat ~96 for countries served from Google Ads data (where difficulty and intent are unavailable). On the default free provider the sources are autocomplete plus the operator's own Keyword Planner account and NOTHING IS CHARGED — but volume/CPC/competition are null unless the operator configured a Keyword Planner, and null there means not measured, never zero demand. Keyword difficulty is derived for the SEED keyword only — every other returned row has a null difficulty because it was never scored, not because it is easy. Each seed returns rowCount (every row found) but only topRows, the first 20, are included in the response; say 20 when reporting what you actually saw, and use list_saved_keywords or the dashboard for the rest.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
seedsYes1-5 seed keywords. Each seed is researched independently and returns related keywords with volume/difficulty/CPC. Bulk-friendly — prefer this over multiple single-seed calls.
projectIdYesRequired. The MisarSEO project ID to scope this call to. Get one from list_projects.
resultLimitNoCap on the data provider's own rows per seed. Defaults to 150. It is NOT a cap on `rowCount`: free Google Suggest ideas are appended after the cap is applied, so a seed can legitimately report more rows than this number.
includeClickstreamDataNoRefine search volumes with clickstream data, which disaggregates Google Ads' grouped close-variant volumes (plurals/misspellings). On the paid DataForSEO provider this DOUBLES the credit cost of each seed. Default false (standard Google-Ads-derived volumes). Ignored — no cost, no effect — for countries served from Google Ads data, and on the free data provider, whose autocomplete + Keyword Planner sources have no clickstream refinement at all.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Substantially exceeds what annotations provide. Annotations only flag non-readOnly, openWorld, non-idempotent; the description discloses per-seed credit cost (~30-100, flat ~96 for Google-Ads-served countries), that the default free provider charges nothing, that includeClickstreamData doubles cost, that the paid path is chargeable, and that null volume/CPC/difficulty mean 'not measured,' never zero demand or easy difficulty. This is exactly the extra behavioral context an agent needs before spending credits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Long but information-dense and front-loaded with the core purpose, then cost/behavior. Nearly every clause earns its place (credit model, null semantics, topRows vs rowCount). It is slightly dense and could be split for readability, which keeps it off a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-param, no-output-schema tool with real billing consequences, the description names the returned fields (`results`, per-seed `ok`, `rowCount`, `topRows`), explains truncation (only first 20 rows returned), and covers cost/null semantics. Nothing an agent needs to call it correctly and report honestly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the 3-baseline applies, but the description adds cross-parameter meaning beyond the schema: seeds are researched independently with a per-seed `ok` so one bad seed won't fail the batch, `resultLimit` is 'NOT a cap on rowCount' (free Suggest ideas appended after the cap), and difficulty is derived for the seed only. This clarifies interaction between parameters and results that the schema alone does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with precise scope: 'Research keyword data (search volume, difficulty, CPC, related ideas) for 1-5 seed keywords in one call — one research run per seed.' An agent immediately knows what it produces. It does not, however, explicitly distinguish itself from other keyword-research siblings like get_bing_keyword_research or get_topic_research; the only sibling named (list_saved_keywords) is a follow-up for the untruncated rows.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear usage context: 'Bulk-friendly — prefer this over multiple single-seed calls' and 'use list_saved_keywords or the dashboard for the rest.' This tells the agent when to pick this over a per-seed pattern. It stops short of explicit when-not guidance or contrasting with competing keyword-research tools, so it is clear context rather than full routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.