Skip to main content
Glama

Save a character draft

update_character_draft
DestructiveIdempotent

Save the whole draft. Every save carries every answer. Returns: The draft.

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": {
      "campaign": "<campaign>",
      "draft": "<draft>"
    },
    "name": "update_character_draft"
  }
}

Input Schema

NameRequiredDescriptionDefault
stepNoThe question to reopen on.
draftYesThe draft, in the shape `get_character_draft` returns.
campaignYesThe campaign, by its slug (what its link says) or its id.

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 already declare destructiveHint=true and idempotentHint=true, and the description supplies the reason: "Every save carries every answer", i.e. the whole draft is replaced each time, which is the concrete danger an agent needs to know. It also notes the return value ("The draft") in the absence of an output schema. It stops short of stating what happens to answers omitted from the payload.

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 short fragments, front-loaded with the action and the full-replacement rule, with the return value last. No filler or restated title, and every clause carries information.

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 mutation tool with a nested free-form draft object and no output schema, the description covers the replacement semantics and the return value but leaves the draft lifecycle (start, save, finish) and the step parameter unexplained. An agent could call it correctly, but not confidently place it among its siblings.

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 description coverage is 100%, with campaign, draft, and step all documented in the schema itself, so the baseline is 3. The description adds nothing about the optional step parameter or the expected shape of the nested draft object beyond the schema's reference to get_character_draft.

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 verb and resource ("Save the whole draft") and clarifies the write is a full replacement rather than a partial patch. It does not name or differentiate itself from the close siblings start_character_draft, finish_character_draft, or get_character_draft, so an agent must infer the lifecycle position from the tool name alone.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance: nothing says whether to call this versus finish_character_draft, or what the optional step parameter is for (reopening a question). The only implicit cue is "save", which an agent could confuse with finalizing the draft.

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.