Skip to main content
Glama

Read or write the reply for a thread

draft_reply
Idempotent

The reply Kasspian wrote for one of the user's threads, written to that room's rules, or writes it if none exists yet. Input: the handle from my_new_threads (planId#index). The user posts it themselves; this tool never posts.

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": {
      "handle": "<handle>"
    },
    "name": "draft_reply"
  }
}

Input Schema

NameRequiredDescriptionDefault
handleYesplanId#index from my_new_threads

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, idempotentHint=true, openWorldHint=true, and destructiveHint=false, and the description usefully explains why a non-read-only tool is safe: it never posts and the user publishes manually, so the write is confined to draft generation. The get-or-create semantics also align with the idempotent hint, adding real context. It stops short of saying whether an existing reply is ever overwritten or how generation is triggered.

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?

It is short and the key constraint (the user posts it; this tool never posts) is placed last for emphasis. But the first sentence is structurally confusing, blending a description of the reply with the conditional write, so the read/write duality has to be re-parsed. Tightening that sentence would cost nothing and gain clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with annotations and no output schema, the description covers input provenance and the posting boundary. It doesn't indicate what a call actually returns (draft text? a planId reference? the room rules applied?), which matters because there is no output schema to fall back on. That gap keeps it at merely adequate.

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% for the single handle parameter, so the baseline is 3. The description restates the schema's own wording (planId#index from my_new_threads) without adding format, validation, or failure-mode detail beyond the schema. No extra meaning is contributed.

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?

The description states a specific resource (the reply for one of the user's threads, written to that room's rules) and a get-or-create behavior: it returns the existing reply or generates one if none exists. It also grounds the tool by naming my_new_threads as the handle source, which separates it from mark_reply. The opening sentence is grammatically tangled (a noun phrase fused with 'or writes it'), which slightly blurs the read-vs-write framing.

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?

It tells the agent where the input comes from (the handle from my_new_threads) and clarifies the boundary that the user posts the reply themselves, so this tool is not the publishing step. However, it never states when to call this versus mark_reply or what to do if the handle is invalid, and no exclusions are given beyond the no-posting note.

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