Skip to main content
Glama

rankparse-mcp

get_keyword_rankings

Read-onlyIdempotent

Get stored ranking summaries (current vs previous period) for a website's tracked keywords across Google, Bing, and Yandex. Reads RankParse snapshots synced on a schedule; it is not a live SERP check. Positions are provider-reported averages over each engine's own returned period and are NOT comparable as one blended rank across engines -- compare per engine, not by averaging across them. A missing engine in a keyword's response means that engine is not connected/attached for this site (check enabled_engines in the response), not a zero or bottom rank. Bing and Yandex are opt-in and many accounts do not have them connected, so their absence is normal, not an error. Each present engine also carries an availability field; a null current/previous position with availability other than "available" (e.g. provider_limited, which Bing/Yandex may report, or pending_first_sync, stale, sync_failed) means a data quality/sync issue for that engine, not evidence the keyword ranks nowhere.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax keywords to return (default 100, max 100)
engineNoSearch engine to report on. Defaults to "all" (every engine enabled for this account) -- the primary use case is comparing engines side by side, so leave this unset unless you need one engine only.
offsetNoPagination offset (default 0)
site_idYesLogical RankParse website ID, from list_rank_tracking_sites
keyword_idNoRestrict to one tracked keyword ID, from list_tracked_keywords. Omit to get all keywords for the site.
period_daysNoLength of the current/previous comparison window in days (default 28, max 90)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered; the description then adds substantial behavioral value beyond them: positions are provider-reported averages that must not be blended across engines, a missing engine means 'not connected' rather than zero/bottom rank, Bing/Yandex absence is normal because they are opt-in, and a null position with availability other than 'available' signals a sync/data-quality issue. These caveats prevent a whole class of misinterpretations.

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?

The description is front-loaded: purpose first, then the 'not live' constraint, then progressively deeper interpretation caveats. It is long (roughly 170 words), but nearly every sentence carries a distinct trap-prevention fact, so the length is earned. The only structural weakness is uninterrupted dense prose with no scannable breaks or bulleted caveats.

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?

With no output schema, the description ably pre-explains the response's most dangerous fields — enabled_engines for connectivity and availability for sync/data-quality state — plus the current-vs-previous period semantics. Pagination and defaults are left to the schema, which fully covers them. The absence of any sketch of the overall response shape keeps it just short of a 5.

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 baseline of 3 applies; the schema already documents all six parameters, including the engine parameter's default behavior and its 'leave unset unless you need one engine only' guidance. The description's caveats concern response interpretation (enabled_engines, availability) rather than parameter meaning, so it adds no parameter-level detail — acceptable at baseline but no higher.

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?

The opening clause names a specific verb and resource — "Get stored ranking summaries (current vs previous period) for a website's tracked keywords across Google, Bing, and Yandex" — and adds concrete scope via the engine list. It further distinguishes itself from live-check tools with an explicit "it is not a live SERP check" disclaimer and from history-style tools by framing the data as snapshot summaries over a comparison window.

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?

The description gives clear context: this reads schedule-synced RankParse snapshots rather than live SERP data, which tells an agent when the tool is and is not appropriate. It stops short of a 5 because it never names the natural sibling alternative (get_keyword_rank_history) for historical trend needs; the only exclusion expressed is 'not a live SERP check' without pointing to the alternative tool.

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.

Resources