Skip to main content
Glama

Embers: Tabletop RPG Toolkit

Spawn a linked character sheet in another ruleset

vault_spawn_linked_character

Create a linked sibling sheet for a character the user may edit (their own, or any for an admin with Admin Mode on), in a different ruleset; the new sheet belongs to the source's owner — the same persona with sheets in multiple rulesets, tied together by a shared linkGroup id. The server builds the new sheet from the target ruleset's template and copies only the descriptive/identity fields in the sync manifest (name, description, image, appearance, personality, and similar); mechanical and build data (class, level, attributes, skills, rules/items/spells, notes) stays ruleset-local and starts fresh. After the spawn, edits to a manifest field on any linked sheet cascade to its siblings automatically. Play campaign assignments of the source are replicated onto campaign legs matching the new ruleset where they exist. One sheet per ruleset per group: vault answers 409 when the source is already that ruleset or a linked sibling already occupies it, 403 when the source's owner lacks the grant for a restricted ruleset, and 404 for an unknown source or one the user may not edit. This is NOT vault_clone_character — clone deep-copies the whole ruleset-specific sheet; spawn deliberately does not.

Input Schema

NameRequiredDescriptionDefault
idYesMongo `_id` of the source character (owned by the calling user, or any character for an admin with Admin Mode on). The new sheet belongs to the source's owner, so the ruleset grant and the character limit are the owner's.
rulesetNoRuleset code for the new linked sheet, from list_rulesets (the codes this account can use). Required. Must differ from the source's ruleset; restricted rulesets require the owner's entitlement grant (vault answers 403).

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / id / description
      Previous value: -"Mongo `_id` of the source character (owned by the calling user)."New value: +"Mongo `_id` of the source character (owned by the calling user, or any character for an admin with Admin Mode on). The new sheet belongs to the source's owner, so the ruleset grant and the character limit are the owner's."
    • changedInput schema / properties / ruleset / description
      Previous value: -"Ruleset code for the new linked sheet, from list_rulesets (the codes this account can use). Required. Must differ from the source's ruleset; restricted rulesets require an entitlement grant (vault answers 403)."New value: +"Ruleset code for the new linked sheet, from list_rulesets (the codes this account can use). Required. Must differ from the source's ruleset; restricted rulesets require the owner's entitlement grant (vault answers 403)."
  2. Changed1 schema field changed
    • changedInput schema / properties / ruleset / description
      Previous value: -"Ruleset code for the new linked sheet (e.g. '5th Edition', '5e24', 'Fate Core'). Required. Must differ from the source's ruleset; restricted rulesets require an entitlement grant (vault answers 403). Check list_rulesets for the codes this account can use."New value: +"Ruleset code for the new linked sheet, from list_rulesets (the codes this account can use). Required. Must differ from the source's ruleset; restricted rulesets require an entitlement grant (vault answers 403)."
  3. First observed

TDQS

A4.4/5.0
Behavior3/5

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

Annotations declare non-readonly, non-destructive, non-idempotent, closed-world — so the safety profile is already covered. The description adds real behavioral value beyond that: exactly which fields cascade versus stay ruleset-local, that mechanical data starts fresh, and that campaign legs are replicated. That extra context is meaningful but the bulk of it (copy semantics) is about side effects rather than the mutation's risk, so a mid-high 3 is fair.

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?

Efficiently front-loads the primary action before the NOT-clone distinction and error codes, and every sentence carries information. It is nonetheless a dense, semicolon-heavy single block that could be broken into shorter beats for faster scanning, so it falls just short of a 5.

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 mutating, cross-ruleset tool with an output schema present, the description supplies the copy manifest, cascade behavior, campaign replication, and exact error codes — everything an agent needs to call it correctly. Return values are covered by the output schema and need not be restated.

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, but the description adds meaning beyond the schema: the id's ownership/permission implications (owner's grant and character limit govern), the 'must differ from source ruleset' constraint, and the source-code reference to list_rulesets. The 'one sheet per ruleset per group' rule is an extra semantic constraint the schema does not encode.

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

Purpose5/5

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

States a specific verb and resource ('Create a linked sibling sheet for a character ... in a different ruleset') and immediately names the sibling it is not ('This is NOT vault_clone_character'). An agent can distinguish spawn from clone and from create_character without opening any schema.

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

Usage Guidelines5/5

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

Explicitly routes away from the alternative tool and gives the selecting condition (clone deep-copies the whole sheet; spawn deliberately copies only manifest fields). It also states a hard constraint — one sheet per ruleset per group — with the resulting 409/403/404 codes, so the agent knows both when to use it and when it will fail.

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