Skip to main content
Glama

Sync an imported character

sync_character
Destructive

Re-read an imported character's sheet from its source. Resets what has been spent to what the sheet reports, except the parts named in keep. Homebrew, custom items, companions and layout are never touched. 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>"
    },
    "name": "sync_character"
  }
}

Input Schema

NameRequiredDescriptionDefault
keepNoParts to keep rather than reset.
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.9/5.0
Behavior4/5

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

Beyond the destructive/openWorld annotations, the description discloses exactly what gets overwritten (spent values are reset to what the sheet reports) and what is explicitly preserved (homebrew, custom items, companions, layout). That is real behavioral context an agent could not infer from the hints alone. It does not mention that the call is non-idempotent or whether re-syncing twice is costly, which the annotations flag but the prose never explains.

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?

Four short sentences: purpose, the reset rule, the preserved-state carve-out, and the return value. Nothing is redundant and the core semantics (default reset, keep as exception) are front-loaded.

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

Completeness4/5

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

A destructive mutation with no output schema, the description still covers what changes, what is safe, and what comes back ("the character bundle"). The main residual gap is the import precondition and the non-idempotency implication, which matter for an agent deciding whether to retry or call repeatedly.

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, and the description adds meaning: `keep` is characterized as an exception list against a default of full reset, and the always-preserved categories (homebrew, custom items, companions, layout) tell the agent which state is out of scope for `keep` entirely. It stops short of explaining the individual enum values, which the schema already enumerates.

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?

"Re-read an imported character's sheet from its source" names a specific verb (re-read/sync), the resource (imported character sheet), and the source of truth, which implicitly separates it from manual mutators like update_character_state or update_character_draft. It stops short of explicitly naming those siblings, so an agent must infer the distinction.

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?

Usage is implied: this is the tool to reach for when the upstream sheet has changed and the local copy must be reconciled. There is no explicit "use this instead of X" or precondition statement (e.g. that the character must have been imported), so the agent must derive the selection rule.

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.