Skip to main content
Glama

MisarSEO MCP Server

get_gsc_ctr_by_position

Read-onlyIdempotent

CTR by ranking position: the site's own historical Search Console clicks/impressions bucketed by position (1-3, 4-10, 11-20, 21+ — mirroring this codebase's existing rank-tracking position-distribution buckets), with the REAL clicks-weighted CTR this project achieved at each bucket. NEVER a fabricated industry-average CTR curve (the generic 'position 1 gets X% CTR' tables third-party vendors publish) — every figure is computed from this project's own archived Search Console history. Free and makes NO live Google call: reads only the archive get_content_decay_report also reads. ALWAYS narrow on state first: not_connected (connect a property), no_data (a property is bound but the archive has no rows at all for this dimension/window — an absence of data, NOT zero traffic), analysed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endDateNoExplicit end date (YYYY-MM-DD). Use with startDate.
dateRangeNoConvenience window over MisarSEO's own archive (default 'last_28_days'). No Google clamp applies — this never calls Google.
dimensionNoBucket by query or page position (default 'query').
projectIdYesRequired. The MisarSEO project ID to scope this call to. Get one from list_projects.
startDateNoExplicit start date (YYYY-MM-DD). Use with endDate.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, and the description adds substantial context beyond them: it reads only the local archive (no Google call), shares its data source with get_content_decay_report, and carefully defines not_connected vs no_data (absence of data, NOT zero traffic) vs analysed. This is exactly the kind of behavioral disclosure that prevents misevaluation of empty results.

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 core definition and packed with useful constraints, but it is long and dense; several clauses (e.g., the parenthetical explaining the generic vendor tables) border on defensive elaboration rather than actionable content.

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 largely carries the return semantics via its state enumeration and bucket explanation, which is the key information an agent needs. It could say more about the returned metrics/shape, but coverage is strong for a read-only analytical tool.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3, but the description adds meaning the schema lacks: the concrete position buckets (1-3, 4-10, 11-20, 21+) and the clicks-weighted CTR semantics. It also explains the date window behavior ('no Google clamp applies'), which supplements the enum values.

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 (CTR bucketed by ranking position) sourced from the site's own archived Search Console history, and explicitly distinguishes it from the generic industry-average CTR curves and from live GSC tools. An agent can tell this apart from get_search_console_performance or get_content_decay_report 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 Guidelines4/5

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

Gives explicit operational guidance ('ALWAYS narrow on state first') and enumerates the state values with their meanings, plus clarifies it is free and makes no live Google call. It does not name sibling alternatives for when a live GSC read is the better choice, so it stops short of full when/when-not routing.

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.