Skip to main content
Glama

Scan Competitor Keywords

sonar_scan_competitor

WRITE tool — runs an AI keyword discovery scan on a tracked competitor: generates the search terms the competitor's listing is optimized for (brand terms included), queues them for SERP verification, and verifies the first batch inline (~30s), recording both apps' ranks. Returns generated/queued/verified_now counts; the rest verify in the background over the following hours — read results with sonar_competitor_keywords. Each account can scan a limited number of different competitors per UTC day (50 on trial and Indie, 250 on Agency); re-scanning one already scanned today is free, and past the limit the tool reports when it resets. Requires an Indie plan (trial counts) and an authorized Sonar account or an API key with the write scope.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
own_app_idYesSonar app UUID of your own app the scan compares against. The competitor must be linked to this app.
competitor_app_idYesSonar app UUID of the competitor to scan — the `competitor.id` from sonar_track_competitor, or an `id` from sonar_list_apps where is_own is false. NOT a store id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the write/async profile is partly covered. The description goes well beyond that by disclosing the async execution model (~30s inline verification, remainder in background over hours), the exact return counts, and quota/auth constraints — exactly the kind of context annotations cannot carry. It stops short of stating what happens to previously generated keyword sets on re-scan.

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?

Front-loaded with the 'WRITE tool' label and the core action, then layered with returns, async behavior, and limits. Dense and largely waste-free, but delivered as a single long block where a sentence break before the quota/auth section would improve scannability.

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?

No output schema exists, yet the description specifies the return payload (generated/queued/verified_now counts) and explains why only a partial result returns inline. Combined with quota, plan, and auth requirements, an agent has everything needed to invoke this correctly and interpret the response.

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 both UUID parameters are already documented in the schema with their provenance and the 'NOT a store id' caveat. The description only implies the linkage requirement ('tracked competitor' must be linked to own_app_id), which the schema also states. Baseline 3 applies since the schema does the heavy lifting.

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 and resource — 'runs an AI keyword discovery scan on a tracked competitor' — and enumerates the concrete outputs (generated terms, SERP verification queue, inline verification, recorded ranks for both apps). The word 'tracked' plus the explicit read-path pointer to sonar_competitor_keywords cleanly separates it from siblings like sonar_track_competitor and sonar_competitor_keywords.

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 context (scan a tracked competitor to discover its optimized terms), names the companion read tool, and states prerequisites: Indie plan required, authorized Sonar account or API key with write scope. It also documents the operational conditions — daily competitor limits (50 trial/Indie, 250 Agency), free re-scans of the same competitor, and reset reporting past the limit.

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.