Skip to main content
Glama

Keyword Research

sonar_keyword_search
Read-onlyIdempotent

Research a keyword and related terms. Returns up to 10 rows — the seed keyword plus the store's top autocomplete suggestions — each with difficulty (0-100), popularity score, and results count. Use this to find keywords worth targeting; for metrics on terms you already know, sonar_keyword_metrics is cheaper. On prepaid API credits it costs 10 credits per call (rows that could not be computed are refunded); it needs a Sonar API key or connected account and is not part of the free tier. Answers within about 30 seconds. Each row carries measured_at (difficulty) and popularity_measured_at (popularity, can be older), ISO 8601 UTC; stale: true means at least one of them is older than 7 days. A related term that couldn't be computed in time is re-checked while the call's time budget allows (through the metrics endpoint, 1 credit per keyword served); one still not ready comes back marked pending (queued, not charged) — get it later with sonar_keyword_metrics.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesSeed keyword to research (e.g. "meditation", "recipe app").
storeYesApp store. "ios" for Apple App Store, "android" for Google Play.
countryNoOne of Sonar's 72 keyword-research markets, as an ISO 3166-1 alpha-2 code (e.g. "us", "gb", "de", "jp", "br"). Keyword data isn't available for other storefronts. Default "us".us

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / country / description
      Previous value: -"ISO 3166-1 alpha-2 country code (e.g. \"us\", \"gb\", \"de\"). Default \"us\"."New value: +"One of Sonar's 72 keyword-research markets, as an ISO 3166-1 alpha-2 code (e.g. \"us\", \"gb\", \"de\", \"jp\", \"br\"). Keyword data isn't available for other storefronts. Default \"us\"."
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnly/idempotent/non-destructive/openWorld), but the description discloses the real behavioral burdens: cost (10 credits per call, refunds for uncomputed rows), auth requirements (Sonar API key or connected account, not free tier), latency (~30 seconds), and the `stale`/`pending` state semantics with their thresholds. This is well beyond what the structured fields convey.

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?

Purpose, return shape, and the sibling comparison are front-loaded and each subsequent sentence carries real information about credits, staleness, and pending behavior. It is dense and long for a 3-parameter tool, but nearly every clause earns its place; minor trimming of the pending/refund detail would tighten it.

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?

With no output schema, the description carries the full burden and does so: it enumerates the return columns, explains `measured_at`/`popularity_measured_at` as ISO 8601 UTC, defines the 7-day `stale` threshold, and explains the `pending` state. An agent has everything needed to call and interpret results correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents query, store, and country (including the 72-market constraint). The description reinforces the store/autocomplete relationship but adds no format or syntax detail beyond the schema, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific verb+resource ("Research a keyword and related terms") and immediately defines the output: up to 10 rows, seed keyword plus top autocomplete suggestions, each with difficulty, popularity, and results count. It also explicitly distinguishes itself from sonar_keyword_metrics, so an agent can route between the two without opening either schema.

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

Usage Guidelines5/5

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

Gives explicit when-to-use guidance ("find keywords worth targeting") and names the alternative with the selecting condition ("for metrics on terms you already know, sonar_keyword_metrics is cheaper"). It further clarifies the pending/re-check handoff to sonar_keyword_metrics, leaving little to inference.

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.