Skip to main content
Glama

world-item-filter

Read-onlyIdempotent

Search the world's Items Directory (game.items) with D&D 5e structured filters (dnd5e worlds only). Returns paginated {id, name} entries; call world-item-get for full data. Filters combine with AND, values inside one array with OR. NOT for an actor's inventory (use item-list) and NOT for compendiums (use dnd5e-compendium-filter-items).

CRITICAL DATA FORMATS

  • rarity is camelCase: veryRare (not "very rare", "epic" or "mythic"). spellSchool is the full word (evocation, not "evo").

  • Weight in lb, price in gp (currencies normalized on read). spellLevel 0..9 (0 = cantrip), spells only.

  • Ranges are {min?, max?}, inclusive. Items lacking a filtered field are silently excluded, so rarity + spellLevel matches only rare spells.

  • Pagination: limit 1..200 (default 50), offset; the response has total and hasMore.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoSubstring of item name, case-insensitive.
typeNoItem types (OR).
limitNoPage size 1..200, default 50.
priceNoPrice range in gp.
folderNoFolder by id or name; recursive includes subfolders.
offsetNoSkip first N results.
rarityNoRarity (OR), camelCase: veryRare.
weightNoWeight range in lb.
identifiedNoFilter by the identified flag.
spellLevelNoSpell level 0..9 (0 = cantrip); spells only.
isContainerNoOnly containers.
spellSchoolNoSpell schools (OR), full words; spells only.
hasActivitiesNoOnly items with usable activities.
requiresAttunementNoOnly items that require attunement.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so safety is known. The description adds substantial behavioral context beyond that: filters combine with AND, array values with OR; items lacking a filtered field are silently excluded; pagination semantics (limit, offset, total, hasMore); and data format conversions (currency normalization). No contradiction with 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 structured with a clear opening, explicit exclusions, and a 'CRITICAL DATA FORMATS' section. Every sentence carries essential information—no filler or redundancy. The density is justified given the tool's complexity (14 parameters, nested objects). It is front-loaded with the core purpose before diving into details.

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 14-parameter tool with no output schema, the description covers all necessary ground: return format (paginated {id,name} with total/hasMore), filter combination rules, data format requirements, and usage boundaries. It also explains edge cases like silent exclusion. An agent has everything needed to call it correctly without additional inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description enriches semantics with critical data formats: rarity camelCase (veryRare), spellSchool full words, weight in lb, price in gp, spellLevel 0..9 (0 = cantrip), and range inclusivity. It also warns about silent exclusion, which is essential for correct filter construction. This goes well beyond the schema's own descriptions.

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 opens with a specific verb-resource pair: 'Search the world's Items Directory (game.items)' and immediately scopes to D&D 5e worlds. It states the exact return shape (paginated {id, name}) and directs to world-item-get for full data, clearly distinguishing it from actor inventory (item-list) and compendium (dnd5e-compendium-filter-items) tools.

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 declares when not to use the tool: 'NOT for an actor's inventory (use item-list) and NOT for compendiums (use dnd5e-compendium-filter-items).' It also implies the primary use case: searching world items with D&D 5e structured filters. The 'dnd5e worlds only' constraint is clearly stated, giving the agent unambiguous guidance on selection.

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