Skip to main content
Glama

Get platform analytics

get_platform_analytics
Read-onlyIdempotent

Read analytics for a connected platform. Returns account-level summary data where available, otherwise stored Narrareach note performance and connection readiness. Reads stored data and never refreshes connections (X adds live account numbers when its token is current); for Medium, call refresh_medium_stats first if no stats are stored. Note metrics: impressions and clicks are null when the platform does not report them, not 0. For SUBSTACK, benchmark is the latest saved notes benchmark (see its analysedAt); refresh it with refresh_substack_benchmark. For Substack notes, clicks is the total_clicks count Substack reports for the note; Substack does not document which clicks it includes, and impressions are not available.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
platformYes
recentLimitNoHow many recent posts/notes to include. Default 10.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
handleNo
reasonNo
sourceNo
totalsNo
messageNo
profileNo
summaryNo
platformYes
usernameNo
verifiedNo
benchmarkNo
connectedYes
fetchedAtNo
followersNo
followingNo
readinessNo
growthDataNo
tweetCountNo
cachedStatsNoA JSON value stored by Narrareach.
displayNameNo
publicationNo
recentNotesNo
recentPostsNo
statsCachedAtNo
engagementDataNo
profilePictureNo
connectedAccountNo
verifiedFollowersNo
analyticsAvailableNo
needsExtensionSyncNo
postAnalyticsAvailableNo
profileAnalyticsAvailableNo
officialAnalyticsAvailableNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changed
    • addedOutput schema / properties / followers / anyOf
      Added value: +[
      +  {
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / followers / type
      Removed value: -"integer"
    • addedOutput schema / properties / following / anyOf
      Added value: +[
      +  {
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / following / type
      Removed value: -"integer"
    • addedOutput schema / properties / tweetCount / anyOf
      Added value: +[
      +  {
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / tweetCount / type
      Removed value: -"integer"
    • addedOutput schema / properties / verified / anyOf
      Added value: +[
      +  {
      +    "type": "boolean"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / verified / type
      Removed value: -"boolean"
    • addedOutput schema / properties / verifiedFollowers / anyOf
      Added value: +[
      +  {
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / verifiedFollowers / type
      Removed value: -"integer"
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already cover the read-only/idempotent safety profile, and the description goes well beyond them: it clarifies it reads stored data and never refreshes connections, that X injects live numbers only when the token is current, and that null metrics mean 'not reported' rather than zero. These are non-obvious behaviors an agent must know.

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 purpose, then layered with platform-specific caveats that each carry information. It is dense and runs long, but every sentence earns its place by disambiguating a metric or precondition.

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?

An output schema exists, so return shape needn't be restated, yet the description still usefully explains null-vs-zero metric semantics. It covers X, Medium and Substack thoroughly; the remaining platforms get no equivalent treatment, which is the only meaningful gap.

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 documents recentLimit but leaves platform as a bare enum. The description compensates by attaching per-platform semantics (X token dependency, Medium storage precondition, Substack benchmark and clicks ambiguity) that explain what selecting a platform actually yields, adding real meaning beyond the enum list.

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 and resource ('Read analytics for a connected platform') and immediately scopes the return ('account-level summary data where available, otherwise stored note performance and connection readiness'). This cleanly separates it from siblings like get_stats_insights and the refresh_* tools.

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 concrete routing guidance: 'for Medium, call refresh_medium_stats first if no stats are stored' and points to refresh_substack_benchmark for benchmark freshness. It establishes clear context for when to reach for this tool versus the refreshers, though it offers no explicit exclusions or guidance for the other eight platforms.

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