Skip to main content
Glama

MisarSEO MCP Server

get_content_decay_report

Read-onlyIdempotent

Finds pages whose clicks declined by a meaningful amount between two adjacent windows, read entirely from MisarSEO's own archived Search Console history (the top-200-per-day per-page archive the nightly sync fills in). Read-only and FREE (no credits), and makes NO live Search Console call — unlike get_cannibalisation_report, this spends no Google quota, so it is rate limited only against ordinary abuse. Requires Search Console to be connected for the project. Returns exactly ONE of three states, which are three different facts — branch on state before reading anything else: not_connected (nothing is bound; tell the user to connect a property), insufficient_history (bound, but one of the two comparison windows has no archived rows at all — an absence of data, NOT a clean bill of health), analysed (we looked; findings may legitimately be empty and coverage is the proof). In both of the first two states nothing was measured, so never report either as 'no content decay found'. window selects the RECENT period length; the EARLIER period compared against it is the same length immediately before it, not a calendar-month split. minEarlierClicks (default 10) and declineThresholdPct (default 20) are this codebase's own chosen defaults, not a published vendor formula. A page that fell out of the archive's top-200-per-day entirely reports recentClicks: 0 — correctly the most severe decay, not a data hole.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
windowNoThe RECENT period length (default last_28_days). The EARLIER period compared against it is the same length immediately before it — a period-over-period comparison, not a calendar-month split.
projectIdYesRequired. The MisarSEO project ID to scope this call to. Get one from list_projects.
minEarlierClicksNoA page must have had at least this many clicks in the earlier window to be considered at all (default 10) — a noise floor, not part of the decay definition.
declineThresholdPctNoHow big a decline (percent) is required to be reported (default 20). 0 disables reporting entirely.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare the read-only/idempotent safety profile, but the description adds substantial behavior beyond them: no live Search Console call, rate limiting only against abuse, the Search Console connection prerequisite, and a three-state result contract with explicit branching instructions. This is exactly the kind of context annotations cannot carry.

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 purpose, then behavior, then the state-branching contract, and essentially every sentence earns its place. It is dense and slightly long, but there is little waste; the state-branch guidance in particular is load-bearing.

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 must carry the return semantics — and it does, spelling out all three states, warning that findings may legitimately be empty, and noting coverage as the proof. For a read-only report tool with no output schema, nothing an agent needs to interpret results is missing.

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 coverage is 100%, so most parameter text is redundant with the schema. However the description adds genuine meaning: window's earlier period is the same length immediately before (not a calendar split), the defaults are this codebase's own and not a vendor formula, and a page dropping out of the top-200 reports recentClicks: 0. That is real semantic value over the documented parameters.

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 precise verb+resource+scope: 'Finds pages whose clicks declined by a meaningful amount between two adjacent windows,' and immediately clarifies the data source (MisarSEO's archived Search Console history). It explicitly contrasts itself with the sibling get_cannibalisation_report, so an agent can route without opening either 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 clear selection context: read-only, FREE, spends no Google quota unlike get_cannibalisation_report, and requires Search Console to be connected. It names one alternative and the condition that differentiates it. It does not enumerate when this beats other GSC-based siblings like get_search_console_performance, so it stops short of full when/when-not coverage.

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.