Skip to main content
Glama

Postkey: Instagram DM Automation and Comment-to-DM

Save reply wording for X

postkey_x_save_templates
Destructive

Postkey: Saves the customer's own reply variants for one kind, replacing the set saved before. Replies on X should come from these, not from generated text: X's rules require prior approval for AI-generated replies. Recommended: at least 3 DM replies and 10 mention replies (the Free plan keeps up to 10 in all, so 3 and 7 there). Each needs 20 or more characters that are not a link and at most 1 link, and variants must differ. Only save wording the customer typed or approved in this conversation: never write reply text yourself. The customer can also write and edit these on the X page in Postkey. Read the current set with postkey_x_list_templates first. Sends nothing to X and no X send tool exists: act with the customer's own X access (full scope: postkey_x_status).

Input Schema

NameRequiredDescriptionDefault
kindYesWhich kind of reply these are for. The other kind's set is not touched.
namesNoOptional short names, in the same order as texts. Default Variant 1, Variant 2 and so on.
textsYesThe reply variants, one per entry, up to 30, each 1 to 1000 characters. Replaces every saved variant of this kind.

Output Schema

NameRequiredDescriptionDefault
okYesfalse: refused (isError; code, message, guide_topic, url); no change.
kindNodm_reply or mention_reply.
savedNoVariants saved for this kind.
warningNoPresent when fewer than recommended are saved.
usage_noteNoNear the month's X allowance: pass on as it is.

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 / kind / description
      Previous value: -"Which kind of reply these are for."New value: +"Which kind of reply these are for. The other kind's set is not touched."
    • changedInput schema / properties / texts / description
      Previous value: -"The reply variants, one per entry."New value: +"The reply variants, one per entry, up to 30, each 1 to 1000 characters. Replaces every saved variant of this kind."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "kind": {
      +      "description": "dm_reply or mention_reply.",
      +      "type": "string"
      +    },
      +    "ok": {
      +      "description": "false: refused (isError true; code, message, guide_topic, url), nothing changed.",
      +      "type": "boolean"
      +    },
      +    "saved": {
      +      "description": "Variants saved for this kind.",
      +      "type": "number"
      +    },
      +    "usage_note": {
      +      "description": "Near the month's X allowance: pass on as it is.",
      +      "type": "string"
      +    },
      +    "warning": {
      +      "description": "Present when fewer than recommended are saved.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "ok"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=false, and the description adds real context beyond them: the write replaces the entire prior set for that kind, nothing is sent to X, no X send tool exists, and the customer's own X access with full scope is required. It also discloses plan-dependent capacity (Free keeps up to 10) which no annotation covers. It stops short of describing error behavior, keeping it at 4.

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-loads the action and scope, then constraints, then routing to list_templates and status. Dense but every clause is actionable; only the plan-limit aside and the repeated 'sends nothing' framing could be trimmed slightly.

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 destructive variadic write with an output schema already covering returns, the description supplies purpose, prerequisites, validation rules, capacity limits, provenance constraints, and the note that no send path exists. Nothing an agent needs to call it safely 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 100%, so the baseline is 3, but the description adds validation meaning the schema does not carry: each variant needs 20+ characters, at most 1 link, variants must differ, and recommended counts (3 DM / 10 mentions, 3/7 on Free). This meaningfully tightens and explains the parameters beyond minLength/maxLength.

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 ("Saves the customer's own reply variants for one kind") and immediately scopes it against the read sibling ("Read the current set with postkey_x_list_templates first"). An agent can distinguish this from save_edit_template and the other save/list tools 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?

Gives explicit when-to-use context (replies on X must come from these because X requires prior approval for AI-generated replies) and an explicit prerequisite (read the current set with postkey_x_list_templates first). It also states a hard when-not rule: "never write reply text yourself" and only save wording the customer typed or approved.

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