Skip to main content
Glama

Edit a character made here

update_custom_sheet
DestructiveIdempotent

Rewrite a custom character's sheet from the creator's answers. Imported sheets are refused: change those where they came from and sync. Returns: The character bundle.

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>",
      "character": "<character>",
      "draft": "<draft>"
    },
    "name": "update_custom_sheet"
  }
}

Input Schema

NameRequiredDescriptionDefault
draftYesThe guided creator's answers. Anything left out keeps the creator's default.
campaignYesThe campaign, by its slug (what its link says) or its id.
characterYesThe character, by its slug.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is known; the description's "Rewrite" is consistent with that. It adds the refusal rule for imported sheets and that a character bundle is returned, which is useful context beyond annotations. However, it does not spell out the destructive semantics an agent would want — e.g. that omitted fields fall back to the creator's defaults rather than being preserved — leaving that only in the schema.

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?

Two short sentences plus a returns clause, front-loaded with the core action and immediately followed by the constraint. Nothing is padded; the only weak spot is that "The character bundle" is vague, though with no output schema it still signals a return payload.

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 destructive, nested-payload rewrite with no output schema, the description covers the core action, the refusal rule, and the return value, which is adequate. It omits how the rewrite interacts with an in-progress draft versus a finished sheet and what a partial draft does to existing values, gaps that matter given the tool's complexity.

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%, so the baseline is 3. The description's "from the creator's answers" maps loosely to the draft parameter and campaign/character are untouched, adding no syntax or format detail beyond what the schema already documents extensively.

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?

"Rewrite a custom character's sheet from the creator's answers" gives a specific verb (rewrite) and resource (a custom character sheet) and scopes it to sheets created in-app. It distinguishes from imported sheets but never explains how it relates to close siblings like update_character_draft or finish_character_draft, so the boundary with the draft tools is left to inference.

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

Usage Guidelines4/5

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

It gives an explicit exclusion with a redirect: imported sheets are refused, so change them at the source and sync (i.e., sync_character). That is real when-not-to-use guidance with a named alternative. It stops short of stating when this should be used instead of update_character_draft/finish_character_draft, which an agent would likely also consider.

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.