Skip to main content
Glama

List App Keywords

sonar_app_keywords
Read-onlyIdempotent

List the keywords tracked for an app in the caller's Sonar workspace, with latest difficulty, popularity, results count, note, and starred_at (favorite/target marker) per keyword. Returns the tracked-keyword ids used by sonar_update_keyword_note and sonar_star_keyword, and the keyword_ids used by sonar_keyword_rankings. Cursor-paginated (default 50 per page). Requires an Indie plan (trial counts).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoPage size (1-200). Server default applies when omitted.
app_idYesSonar app UUID — the `id` returned by sonar_list_apps or sonar_create_product. NOT a store id.
cursorNoPagination cursor from a previous call's `next_cursor`. Omit for the first page.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds non-annotation context the agent actually needs: cursor pagination with a default of 50 per page and an Indie plan requirement (trial counts), plus the ID-passing contract. This is more than the annotations supply.

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?

Three sentences, all front-loaded with the purpose first, then the output contract, then pagination and plan constraints. Every sentence carries information; only the enumeration of return fields is slightly dense but remains useful for tool selection.

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

Completeness4/5

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

No output schema exists, so the description must convey the return shape, and it does name the key fields and the ID families that downstream tools consume. Plan gating and pagination are also stated. What is missing is any indication of what to do when the app has no tracked keywords (empty result) or ordering of results.

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 coverage is 100%, and the schema already documents limit (range, server default), app_id (UUID source and the 'NOT a store id' warning) and cursor (from next_cursor). The description's mention of 'default 50 per page' is the one detail that goes beyond the schema, which does not state the default value. Baseline 3 applies when the schema carries the parameter detail.

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 ('List the keywords tracked for an app in the caller's Sonar workspace') and enumerates the fields returned (difficulty, popularity, results count, note, starred_at). It is distinguishable from sonar_competitor_keywords, sonar_discovered_keywords and sonar_keyword_search, though it never explicitly names those siblings as alternatives.

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

Usage Guidelines3/5

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

It clarifies which identifier family to pass (tracked-keyword ids for note/star tools vs keyword_ids for rankings), which is genuinely useful routing context. However, there is no explicit when-to-use vs when-not-to-use guidance, and the siblings that also return keywords (sonar_competitor_keywords, sonar_discovered_keywords, sonar_keyword_search) are not contrasted.

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.