Skip to main content
Glama

Get a Fast Keywords Result

get_fast_keywords
Read-only

Poll a Fast Keywords run and read its result, including product details, keyword roots, counts, and competitors; wait while in progress and stop on success or failure.

Instructions

Use this to poll a Fast Keywords run started with run_fast_keywords or refresh_fast_keywords, and to read its result. While status is in-progress, wait a few seconds and call again; stop at success or failed. On failed, failureReason and failureMessage say why (safe to show to the user). On success it returns the product (title, brand, price, imageUrl), its variations, keywordCount, lastRefreshedAt, the top keyword roots by search volume (root, aggregateSearchVolume, medianOrganicRank, keywordCount, and a sample of its keywords; totalRoots is how many there are) and the top 10 competitors. insufficientKeywordData: true means the run succeeded but found too few keywords to be useful. The keyword rows themselves are in get_fast_keywords_keywords.

Input Schema

NameRequiredDescriptionDefault
fastKeywordsIdYesThe Fast Keywords result id, from `run_fast_keywords`, `refresh_fast_keywords` or `list_fast_keywords`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.20.1

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true; the description adds the genuinely non-obvious behavior — that this is a polling endpoint, the exact stop conditions, and the fact that failureReason/failureMessage are safe to surface to the user. It also discloses the insufficientKeywordData edge case where success still means unusable results, which no annotation could 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?

Dense but front-loaded: polling loop first, then failure handling, then the success payload. Every sentence carries information, though the long unbroken success-payload clause is a single sprawling sentence that costs some 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?

There is no output schema, so the description carries the full return-value burden and does so: product fields, variations, keywordCount, lastRefreshedAt, roots with their sub-fields, totalRoots, competitors, and the insufficientKeywordData flag. Nothing an agent needs to interpret a result correctly is missing.

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% for the single fastKeywordsId parameter, and the schema already names its provenance (run/refresh/list). The description does not add format or edge-case detail about the id beyond what the schema states, so baseline 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 and resource ("poll a Fast Keywords run ... and read its result") and explicitly names the sibling tools that create the run (run_fast_keywords, refresh_fast_keywords) and the one that holds the keyword rows (get_fast_keywords_keywords). An agent can distinguish it from all nearby tools without opening a 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 an explicit operating loop: call while status is in-progress, wait a few seconds, stop at success or failed. It also routes the agent elsewhere for keyword rows, and explains what to inspect on failure, so both when-to-use and when-not-to-use are covered.

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