Skip to main content
Glama

compendium-browse

Read-onlyIdempotent

Browse the contents of a compendium pack (monsters, items, spells…); compendium-list gives the packId. types selects subtypes (["spell"]); ids BATCH-fetches specific documents in one call — every item a class grants, from uuid-resolve output — instead of N compendium-document-get calls; types+ids combine with AND. For stat filters (CR, level, rarity, traits, price) use dnd5e-compendium-filter-* / pf2e-compendium-filter-*.

Input Schema

NameRequiredDescriptionDefault
idsNoOnly documents with these _id values — batch selection. Omit for all.
limitNoPage size, default 50, max 200.
typesNoOnly documents of these SUBtypes, e.g. ["spell"] or ["weapon","armor"]. Omit for all.
offsetNoSkip the first N matching documents.
packIdYesThe compendium pack ID (e.g., "dnd5e.monsters", "dnd5e.items")
searchNoOptional search query to filter documents by name (case-insensitive)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so safety is covered. The description still adds real behavioral context: ids triggers a batch fetch in one call rather than N separate calls, and types+ids combine with AND. It does not describe the shape of returned documents, which is the remaining gap.

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?

Front-loaded with the core action and packId dependency, and every clause carries routing or filtering information. The semicolon-chained style is dense and a touch crowded, but no sentence is filler.

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

Completeness4/5

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

For a read-only browse tool with full schema coverage and strong annotations, the description covers identity, selection semantics, and the batch-vs-single-call tradeoff. No output schema exists, and the return shape (document summaries, pagination metadata) is never described, which is the one notable omission.

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 baseline is 3, but the description genuinely adds semantics beyond the schema: 'types' selects SUBtypes, 'ids' is a batch selector for cases like every item a class grants or uuid-resolve output, and the two filters AND together. That combination rule is not stated in the schema.

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 ('Browse the contents of a compendium pack') plus concrete examples of content types (monsters, items, spells). It explicitly separates itself from compendium-list (which supplies packId) and from compendium-document-get, so an agent can distinguish it from siblings without opening a 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?

Explicit routing: use compendium-list to get packId, use ids to batch-fetch instead of N compendium-document-get calls, and use dnd5e-compendium-filter-* / pf2e-compendium-filter-* for stat filters. It names alternatives and the exact condition that selects each, leaving nothing 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