Skip to main content
Glama

Postkey: Instagram DM Automation and Comment-to-DM

X toolkit status

postkey_x_status
Read-onlyIdempotent

Postkey: Says whether X is ready for this profile (ready, and what is missing), and where this profile stands: how much of each limit is used (rolling hour and 24 hours), whether X actions are paused and why, the STOP count, the profile's time zone and quiet hours, the saved reply counts, the last 10 actions (ids and times only), and a plain list of what this toolkit does and does not do. Use it to see whether X is set up and why answers are wait or deny; a single action is checked with postkey_x_check_before_send. If ready.ok is false, X is not set up for this account and the answer says what is missing. These X tools send nothing to X and no send tool exists (there is no postkey_x_send_dm, postkey_x_post or postkey_x_reply): you reply or post on X with the customer's own X access. Postkey itself publishes posts people schedule in Postkey, and its comment automations send one reply or DM per keyword comment; it never likes, follows, reposts or reads timelines on X. If postkey_x_check_before_send is not available, this connection was not given X access; the person can reconnect and tick "X: ask Postkey before my agent replies".

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
okYesfalse: refused (isError; code, message, guide_topic, url); no change.
readyNook, missing (sentences), next_step.
countsNoPer kind: used and day (rolling 24 hours), usedLastHour and hour.
pausedNotrue: X actions are paused.
time_zoneNoThe profile's time zone.
usage_noteNoNear the month's X allowance: pass on as it is.
quiet_hoursNoWhen nothing is allowed.
last_actionsNoUp to 10: kind, status, ref, at, error_class.
pause_reasonNoWhen paused: why.
saved_repliesNoPer kind: saved, recommended.
stop_list_countNoPeople on the STOP list.
this_toolkit_doesNoWhat these tools do.
free_plan_allowanceNoOn the Free plan: actions used and allowed this month and today, saved replies allowed.
this_toolkit_does_notNoWhat they never do.

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. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "counts": {
      +      "description": "Per kind: used and day (rolling 24 hours), usedLastHour and hour.",
      +      "type": "object"
      +    },
      +    "free_plan_allowance": {
      +      "description": "On the Free plan: actions used and allowed this month and today, saved replies allowed.",
      +      "type": "object"
      +    },
      +    "last_actions": {
      +      "description": "Up to 10: kind, status, ref, at, error_class.",
      +      "items": {
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "ok": {
      +      "description": "false: refused (isError true; code, message, guide_topic, url), nothing changed.",
      +      "type": "boolean"
      +    },
      +    "pause_reason": {
      +      "description": "When paused: why.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "paused": {
      +      "description": "true: X actions are paused.",
      +      "type": "boolean"
      +    },
      +    "quiet_hours": {
      +      "description": "When nothing is allowed.",
      +      "type": "string"
      +    },
      +    "ready": {
      +      "description": "ok, missing (sentences), next_step.",
      +      "type": "object"
      +    },
      +    "saved_replies": {
      +      "description": "Per kind: saved, recommended.",
      +      "type": "object"
      +    },
      +    "stop_list_count": {
      +      "description": "People on the STOP list.",
      +      "type": "number"
      +    },
      +    "this_toolkit_does": {
      +      "description": "What these tools do.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "this_toolkit_does_not": {
      +      "description": "What they never do.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "time_zone": {
      +      "description": "The profile's time zone.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "usage_note": {
      +      "description": "Near the month's X allowance: pass on as it is.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "ok"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses consequential behavior: these tools never send anything to X, no send/DM/reply tool exists, the agent must use the customer's own X access, and Postkey only publishes scheduled posts and one keyword-triggered reply or DM, never liking, following, reposting, or reading timelines. It also carries authorization context (missing X access requires reconnecting) that the annotations cannot express.

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

Conciseness3/5

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

The purpose is front-loaded, but the opening sentence is a long run-on enumerating eight return fields that the output schema likely already covers. The closing sentences about Postkey's own scheduled publishing and comment automations are useful guardrails against hunting for a send tool, yet they describe the toolkit broadly rather than this status call, so the text is longer than it needs to be.

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 zero-parameter, read-only status tool with an output schema, the description goes beyond what is required by explaining the ready.ok failure mode, the meaning of wait/deny answers, and the boundary of what the X toolkit can do. An agent has everything needed to call it and interpret a negative result.

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 tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. The description's field list describes outputs, not inputs, which is appropriate here.

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 a specific verb and resource ('Says whether X is ready for this profile ... and where this profile stands') and then enumerates exactly what the status call returns: limit usage for the rolling hour and 24 hours, pause state, STOP count, time zone and quiet hours, saved reply counts, last 10 actions, and the toolkit's capability list. It explicitly distinguishes itself from the sibling postkey_x_check_before_send, which checks a single action.

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 states when to call it ('Use it to see whether X is set up and why answers are wait or deny') and names the alternative for the per-action case ('a single action is checked with postkey_x_check_before_send'). It also gives a fallback path when the check tool is absent: the connection was not given X access and the person can reconnect and tick the X option.

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