Skip to main content
Glama

Embers: Tabletop RPG Toolkit

Search vault characters

vault_search_characters
Read-onlyIdempotent

Search PCs and NPCs (any character whose type is NOT the lowercase monster marker) the user owns, plus stock template characters. Use this to locate a player character or NPC the user has authored. Authored monsters are hidden — for creature stat blocks use the dedicated vault_search_monsters tool instead. Defaults to a compact summary shape (identification + image + class/race/background + linkGroup — the id tying a persona's per-ruleset linked sheets together; sheets sharing a linkGroup are the same persona in different rulesets); pass detail: 'full' to receive each character's full sheet (attributes, skills, rules, items, spells) inline.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoSubstring match on character name (case-insensitive). Use `^name$` for an exact match.
skipNoPagination offset; pair with `limit` to walk results.
sortNoComma-separated field list. Prefix with `-` for descending (e.g. `-updatedAt,name`).
typeNoCharacter type filter (substring, case-insensitive). '^PC$' / '^NPC$' for the common user-authored cases. To search authored monsters, use the dedicated `vault_search_monsters` tool — this character search hides them by default (the lowercase `monster` type marker is filtered out unless you opt in via that sibling tool).
limitNoPage size; defaults to 50 when omitted. Hard cap of 200.
detailNoResponse shape. 'summary' (default) returns identification + summary fields; 'full' returns the complete document shape (every field inline) that non-MCP clients receive by default.summary
rulesetNoRuleset code, from list_rulesets.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultsNo
paginationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / ruleset / description
      Previous value: -"Ruleset code (e.g. '5th Edition', '5e24', 'PFRPG', 'Savage Worlds', 'Universal')."New value: +"Ruleset code, from list_rulesets."
  2. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare read-only/idempotent/non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: authored monsters are hidden by default, the default return is a compact summary and 'detail: full' inlines the entire sheet, and linkGroup ties per-ruleset linked sheets to one persona. It does not describe pagination behavior or rate limits, keeping it short of a 5.

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?

Purpose and the monster exclusion are front-loaded, and each sentence carries information. It is dense and long for a search tool, but nearly every clause (linkGroup, detail modes, monster routing) earns its place.

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 7-parameter read tool with an output schema, the description covers scope, sibling routing, the hidden-monster rule, and return-shape selection. Nothing an agent needs to call it correctly is missing.

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 description coverage is 100%, so the baseline is 3. The description nevertheless adds meaning for the `detail` parameter by contrasting the 'summary' shape (identification + image + class/race/background + linkGroup) with 'full' (attributes, skills, rules, items, spells inline), and it defines what linkGroup represents.

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+resource ('Search PCs and NPCs... plus stock template characters') and precisely defines scope by the lowercase 'monster' type marker. It explicitly distinguishes itself from the sibling 'vault_search_monsters', so an agent can route correctly without opening either 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?

'Use this to locate a player character or NPC the user has authored' gives an explicit when-to-use, and 'for creature stat blocks use the dedicated vault_search_monsters tool instead' names the alternative and the condition that selects it. Nothing is left to inference.

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