Skip to main content
Glama
markaestro

Markaestro

Official

Get post analytics history

get_post_analytics_history
Read-onlyIdempotent

Retrieve a post's metric snapshots from 1h to 90d, growth between stages, current totals, and polling status by post ID.

Instructions

How one post earned its numbers over time: the metric snapshots taken 1h, 6h, 24h, 72h, 7d, 14d, 30d, 60d, and 90d after publish (a post published directly on the platform starts with a discovered snapshot), with the growth between stages, plus the current totals and whether polling is still active. Takes any id from get_analytics or list_post_analytics. Answers NOT_FOUND for posts outside this brand.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
postIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.3

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, closed-world, and non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: the exact snapshot cadence, the special case for posts published directly on the platform ('starts with a discovered snapshot'), the 'polling is still active' flag, and the cross-brand error contract (NOT_FOUND). It doesn't discuss rate limits or latency, so a 4 rather than 5.

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?

Two sentences, front-loaded with what the tool returns and scoped to the provenance and error behavior in the second. It is dense but nearly every clause carries information; the parenthetical about the discovered snapshot is a slight digression but still relevant.

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?

With no output schema, the description correctly carries the burden of describing the return payload (snapshots, growth deltas, totals, polling state) and the failure mode (NOT_FOUND outside the brand). For a single-parameter read tool with full annotation coverage, nothing an agent needs to invoke or interpret it 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 0% on a single required postId param, so the description must compensate. It does so meaningfully by specifying that the id can come from either get_analytics or list_post_analytics, telling the agent the acceptable id provenance. It never states the type/format (string) or whether ids are interchangeable across tools, leaving a small gap.

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 description states a specific verb and resource ('how one post earned its numbers over time') and enumerates the exact payload: metric snapshots at 1h/6h/24h/72h/7d/14d/30d/60d/90d, inter-stage growth, current totals, and polling status. This clearly distinguishes it from siblings like get_analytics (aggregate) and list_post_analytics (list), so an agent can choose 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?

It explicitly routes input sourcing: 'Takes any id from get_analytics or list_post_analytics,' which tells the agent how this tool chains with those siblings. What's missing is an explicit when-to-use statement versus get_analytics (current totals vs. historical trajectory) and any exclusions, so it stops short of full when/when-not guidance.

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