Skip to main content
Glama

Send a text reply

send_conversation_reply
Destructive

Send a text reply in an Instagram conversation and wait for confirmation. Posts the message via the worker, then returns the stored reply for verification.

Instructions

Send a text reply. Required API key scope: conversations:write. POST /conversations/{id}/reply Sends via the worker and waits up to 20 s for Instagram to confirm, then returns the stored message.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>",
      "body": "<body>"
    },
    "name": "send_conversation_reply"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesPath parameter `id`.
bodyYesJSON request body.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=true, so the description is not on the hook for the safety profile. It still adds real value beyond them: the auth scope requirement, that sending is delegated to a worker, that it blocks up to 20 seconds awaiting Instagram confirmation, and that it returns the stored message. It does not state what happens on timeout/failure, which is the main remaining gap for a blocking mutation.

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?

Four short, front-loaded statements: action, required scope, route, then runtime behavior. Nothing is padded, though the bare path line duplicates context the agent can infer from the tool name rather than adding new meaning.

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 mutation with no output schema, the description covers the essentials an agent needs before calling: it is a write, it needs conversations:write, it may block up to 20 s, and it returns the stored message. Combined with annotations that already flag destructiveness and non-idempotency, little is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/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. The description adds nothing about the two parameters — it never clarifies that `id` is the conversation ID (the schema only says 'Path parameter `id`') nor references the 1–1000 character bound on `message`, so semantics rest entirely on the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb+resource ('Send a text reply') and pins it to the endpoint POST /conversations/{id}/reply, which makes the conversation-reply target unambiguous. The 'text' qualifier implicitly separates it from sibling send_conversation_photo, though it never names the sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The required scope 'conversations:write' and the endpoint path imply the correct context, but there is no explicit when-to-use / when-not-to-use statement and no mention of when to prefer send_conversation_photo or other conversation tools. Usage has to be inferred from the name and scope.

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