Skip to main content
Glama

Postkey: Instagram DM Automation and Comment-to-DM

Post results

postkey_get_post_stats
Read-onlyIdempotent

Postkey: Reports how the profile's published posts did over the last 7, 30 or 90 days by publish time: totals of views, likes, comments and shares across platforms, and the 10 best posts by views. With post_id, that one post only. Use it for post results; for DM automation results use postkey_get_automation_stats, and for one post's status or errors use postkey_get_post.

Input Schema

NameRequiredDescriptionDefault
daysNoThe window, counted back from now: 7, 30 (default) or 90 days.
post_idNoOnly this post (a UUID from postkey_list_posts). Leave out for the whole profile.

Output Schema

NameRequiredDescriptionDefault
okYesfalse: refused (isError; code, message, guide_topic, url); no change.
bestNoUp to 10 by views: post_id, platform, handle, title, caption_start, published, views, likes, comments, shares, link.
daysNoThe window: the last 7, 30 or 90 days, by publish time.
postsNoPublished posts in the window, counted once per social account.
totalsNoviews, likes, comments, shares.
post_idNoWith post_id: the post asked for.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / ok / description
      Previous value: -"false: refused (isError true; code, message, guide_topic, url), nothing changed."New value: +"false: refused (isError; code, message, guide_topic, url); no change."
  2. Changed3 schema fields changed
    • changedInput schema / properties / days / description
      Previous value: -"Default 30."New value: +"The window, counted back from now: 7, 30 (default) or 90 days."
    • changedInput schema / properties / post_id / description
      Previous value: -"Only this post (from postkey_list_posts). Leave out for the whole profile."New value: +"Only this post (a UUID from postkey_list_posts). Leave out for the whole profile."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "best": {
      +      "description": "Up to 10 by views: post_id, platform, handle, title, caption_start, published, views, likes, comments, shares, link.",
      +      "items": {
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "days": {
      +      "description": "The window: the last 7, 30 or 90 days, by publish time.",
      +      "type": "number"
      +    },
      +    "ok": {
      +      "description": "false: refused (isError true; code, message, guide_topic, url), nothing changed.",
      +      "type": "boolean"
      +    },
      +    "post_id": {
      +      "description": "With post_id: the post asked for.",
      +      "type": "string"
      +    },
      +    "posts": {
      +      "description": "Published posts in the window, counted once per social account.",
      +      "type": "number"
      +    },
      +    "totals": {
      +      "description": "views, likes, comments, shares.",
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "ok"
      +  ],
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / post_id
      Added value: +{
      +  "description": "Only this post (from postkey_list_posts). Leave out for the whole profile.",
      +  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
      +  "type": "string"
      +}
  4. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds substantive behavior beyond that: aggregation is keyed by publish time, spans multiple platforms, and includes a fixed top-10-by-views ranking. It does not discuss result limits or how platforms with missing data are handled, but the output schema covers the return shape.

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, front-loaded with purpose, then scope mode, then sibling routing. Every clause carries information; nothing is repeated from the title or annotations.

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?

For a two-parameter read-only analytics tool with full schema coverage, annotations, and an output schema, the description supplies everything needed: what is aggregated, the time basis, the single-post mode, and the sibling boundaries. No gaps remain that would cause a misinvocation.

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 the baseline is 3, but the description adds meaning the schema does not: the window is measured by publish time rather than by when metrics were collected, and post_id collapses the whole report to a single post. That clarification materially affects how an agent interprets the days parameter.

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 ('Reports how the profile's published posts did') plus the exact metrics returned (views, likes, comments, shares, top-10 by views). It also clarifies the two modes — aggregate over a window, or a single post when post_id is supplied — so it is distinguishable from postkey_get_post and postkey_get_automation_stats 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 Guidelines5/5

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

Explicitly routes the agent: 'Use it for post results; for DM automation results use postkey_get_automation_stats, and for one post's status or errors use postkey_get_post.' Both alternatives and the conditions selecting them are named, leaving nothing to inference.

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