Skip to main content
Glama
Li-Jiaquan

daggerheart-foundry-mcp-adapter

by Li-Jiaquan

List creatures by criteria

list-creatures-by-criteria
Read-onlyIdempotent

Find encounter candidates by filtering creatures on system-specific criteria like level, rarity, or challenge rating. Returns a concise list for easy selection, then fetch full details for chosen creatures.

Instructions

Creature discovery for encounter building: a long list of creatures matching criteria, with little data per creature, so you can choose by name and fetch details with get-compendium-item only for the final selection. The filters are understood by the adapter of the active game system (D&D 5e: challenge rating, creature type, size, alignment, spells, legendary actions; Pathfinder 2e: level, traits, rarity; DSA5: experience level, species, culture, profession; WFRP4e: species, traits, prayers; Traveller: hits, psionics; Cosmere RPG: tier, role, defenses; Daggerheart: tier, adversaryType, difficulty, hitPoints, stress) and checked against the creature index. Filters the active system does not know are reported as ignored. Without an adapter for the system, filtering is refused and a call without filters lists every actor by name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hitsNoHits to match (Traveller)
roleNoAdversary role in the Cosmere RPG such as minion, rival or boss; case does not matter
sizeNoSize category to keep
tierNoAdversary tier in the Cosmere RPG or Daggerheart, 1 to 4
levelNoCreature level to match in Pathfinder 2e, from -1 upwards; experience level 1 to 7 in DSA5
limitNoHow many creatures to return: 100 unless given, 1000 at the most
rarityNoRarity to keep (Pathfinder 2e)
stressNoMaximum stress slots of a Daggerheart adversary
traitsNoTraits every creature must carry (Pathfinder 2e, WFRP4e)
cultureNoCulture; a part of the name is enough (DSA5)
minHitsNoHits at least this much (Traveller)
speciesNoSpecies; a part of the name is enough in WFRP4e and Traveller (DSA5, WFRP4e, Traveller)
alignmentNoAlignment; a part such as "evil" is enough (D&D 5e)
hasSpellsNoOnly creatures that cast spells
hitPointsNoMaximum health or hit point slots to match (Cosmere RPG, Daggerheart)
deflectMinNoDeflect at least this much (Cosmere RPG)
difficultyNoDifficulty of a Daggerheart adversary
hasPrayersNoOnly creatures with prayers (WFRP4e)
professionNoProfession; a part of the name is enough (DSA5)
defensesMinNoLowest defenses to accept in the Cosmere RPG; give any of phy, cog and spi
hasPsionicsNoOnly creatures with psionics (Traveller)
creatureTypeNoKind of creature to keep. D&D 5e: humanoid, dragon, beast, undead, fey, fiend, celestial, construct, elemental, giant, monstrosity, ooze, plant, aberration. Pathfinder 2e and the Cosmere RPG use their own types, for instance animal or spirit.
hasLiturgiesNoOnly creatures with liturgical chants or ceremonies (DSA5)
adversaryTypeNoDaggerheart adversary role, e.g. standard, solo, horde or minion
hasInvestitureNoOnly adversaries that use Investiture or Surges (Cosmere RPG)
challengeRatingNoChallenge rating to match: one value, the value as text, or lowest and highest. Bounds suit a first survey best.
experiencePointsNoAdventure points spent on the character (DSA5)
hasLegendaryActionsNoOnly creatures with legendary actions (D&D 5e)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv14.2609.4

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds significant behavioral context beyond that: system-specific filter adaptation, filters being ignored, refusal without an adapter, and the fallback of listing every actor by name. This is exactly the kind of context an agent needs and is not a repetition of the annotations.

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 front-loaded with the main purpose and workflow, followed by the system-specific filter list and edge-case behavior. Every sentence adds essential information; the long parenthetical list is dense but directly relevant to parameter usage. It is long because the tool genuinely covers many systems, with no filler.

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 read-only list tool with 28 parameters, the description explains the result shape ('long list with little data per creature', 'choose by name'), the recommended follow-up action (get-compendium-item), and the system-specific behavior of filters. Since there is no output schema, the description carries the responsibility of describing the return value, and it does so adequately. The edge cases of unknown filters and missing adapters are also covered.

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 schema already documents each parameter. The description adds meaning beyond the schema by mapping filters to game systems, explaining that unknown filters are ignored, and noting that a call without filters lists all actors. This is valuable extra guidance, but the schema already carries most of the per-parameter load, so a perfect 5 is not warranted.

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?

The description states a specific verb ('discovery'), the resource ('creatures'), and the essential behavior: returning a long list with little data so you can choose by name. It also distinguishes itself from get-compendium-item by explicitly recommending that tool only for the final selection. This clearly separates it from siblings like search-compendium or list-compendium-entries.

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?

It explicitly says when to use this tool: for initial encounter-building discovery, and when to use an alternative: get-compendium-item only for the final selection. It also explains system-adapter behavior and what happens with unknown filters or a missing adapter, removing ambiguity about when filtering will or won't work.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools