Skip to main content
Glama
Upload-Post

Upload-Post

Official

Get cached post analytics

get_cached_post_analytics
Read-only

Replay previously fetched post metrics without calling platforms, avoiding the 5-min rate limit. Use when scanning many posts or paging through a profile's history.

Instructions

Replays per-post metrics Upload-Post already fetched, instead of calling the platforms again. ONLY contains posts previously fetched through get_post_analytics; there is no background refresh, so captured_at is the last time that post was read live and a post never queried live will be absent. Unlike get_post_analytics it never hits the platforms, so it is not subject to the live analytics rate limit (100 requests / 5 minutes) — prefer it when scanning many posts or paging through a profile's history. Paginated: pass next_cursor from the response back as cursor until has_more is false.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
userYesProfile username whose posts to read.
limitNoPosts per page. Defaults to 50, max 200.
sinceNoStart date, YYYY-MM-DD. Defaults to 30 days ago.
untilNoEnd date, YYYY-MM-DD. Defaults to today.
cursorNoOpaque cursor from a previous response's `next_cursor`.
platformNoRestrict to one platform. Omit for all platforms.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.11.1
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedOutput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
  2. Addedv0.7.0

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the readOnly annotation, it discloses important behaviors: no background refresh, `captured_at` reflects the last live read, posts not previously fetched are absent, and the tool is exempt from the live rate limit. It also documents pagination behavior (`next_cursor`/`has_more`) in the description, which is not visible in the schema annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences carry the full load: purpose, cache freshness, rate-limit advantage, and pagination. Every clause earns its place — no filler or schema duplication. The purpose is front-loaded, and the comparison to the sibling comes early enough for fast decision-making.

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?

Given the output schema exists and the parameter schema covers everything, the main risks for an agent are misunderstanding that this is cached and lacks fresh data, and not knowing when to avoid it. The description fully addresses these, and also provides the pagination loop, the absence of refresh, and the `captured_at` meaning. No critical behavior remains unexplained.

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?

The schema already describes all six parameters at 100% coverage, including defaults, max values, formats, and enums. The description adds semantic value beyond the schema by using the `cursor` contract (`next_cursor` from response back as `cursor` until `has_more` is false), which directly clarifies how the pagination parameter should be used in practice.

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 opens with the specific verb-reource pair: 'Replays per-post metrics Upload-Post already fetched' and immediately distinguishes the tool from the live `get_post_analytics` by noting it does not hit platforms again. It also explains the scope ('ONLY contains posts previously fetched'), so an agent can tell precisely what this tool returns and how it differs from siblings without opening the 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?

It explicitly tells agents when to prefer this tool: 'prefer it when scanning many posts or paging through a profile's history' and names the key difference from `get_post_analytics` — no platform calls and no rate limit. It also warns about the limitation ('a post never queried live will be absent'), which implicitly tells the agent when to choose the live variant instead.

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