Skip to main content
Glama

Add a companion

add_companion

Give the character a companion with a stat block of its own. One animal companion at a time. Returns: The companion.

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": "add_companion"
  }
}

Input Schema

NameRequiredDescriptionDefault
acNoArmor class.
kindNoWhat creature it is, in your words.
nameNoIts name. Required.
typeNoWhat kind of companion.
boxesNoIts actions and traits.
hpMaxNoMaximum hit points.
notesNoFree notes.
savesNoSaving throw bonuses.
speedNoSpeed line.
scoresNoThe six scores.
sensesNoSenses line.
skillsNoSkills line.
campaignYesThe campaign, by its slug (what its link says) or its id.
imageUrlNoA picture's web address.
sizeLineNoSize and type line.
characterYesThe character, by its slug.
hpFormulaNoHow the hit points are rolled.
languagesNoLanguages line.
initiativeNoInitiative bonus.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.4/5.0
Behavior3/5

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

With annotations declaring this a non-destructive, non-idempotent write, the description adds the key one-companion limit and says it returns the companion. It does not explain what happens if a companion already exists, whether the call rejects or replaces it, or what permissions may be required. The return statement is also too vague to fully describe the mutation result.

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?

The description is extremely short and front-loaded, with no wasted wording. Purpose, cap, and return are presented in three compact statements. It respects the agent's time while covering the essentials.

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

Completeness2/5

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

This is a complex mutation with 19 parameters, nested action objects, and no output schema. The description gives only a high-level purpose, a cap, and 'Returns: The companion,' leaving conflict behavior, replacement semantics, error conditions, and return shape undocumented. Given the tool's complexity, the description is too thin to be complete.

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 schema already documents the 19 parameters in detail. The description adds only the general notion of a stat block and the one-companion cap, without clarifying required campaign/character references or any parameter-specific behavior. Baseline 3 is appropriate when the schema carries the parameter semantics.

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: give a character a companion with its own stat block. It also adds the scoping constraint that only one animal companion is allowed. It does not distinguish this create operation from siblings like update_companion or set_companion_state.

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?

The create intent is implied by 'Give the character a companion,' and 'One animal companion at a time' gives a useful usage constraint. However, it does not say when to use this instead of update_companion or set_companion_state, nor does it clarify prerequisites beyond the required schema fields. The phrase 'animal companion' is also narrower than the type enum, which includes sidekick and familiar.

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.