Skip to main content
Glama
frap129

LoreKeeper MCP

list_documents

List cached D&D content documents from Open5e, D&D 5e API, and OrcBrew. See available books, supplements, and homebrew to filter your queries.

Instructions

List all available D&D content documents in the cache.

This tool queries the cache to discover which source documents are available across all data sources (Open5e API, D&D 5e API, OrcBrew imports). Use this to see which books, supplements, and homebrew content you have access to, then use the documents parameter in other tools to filter content.

IMPORTANT: This shows only documents currently in your cache. Run the build command to populate your cache with content from configured sources.

Examples: # List all available documents docs = await list_documents()

# List only Open5e documents
docs = await list_documents(source="open5e_v2")

# List only OrcBrew homebrew
docs = await list_documents(source="orcbrew")

Args: source: Optional source filter. Valid values: - "open5e_v2": Open5e API documents (SRD, Kobold Press, etc.) - "orcbrew": Imported OrcBrew homebrew files - None (default): Show documents from all sources

Returns: List of document dictionaries, each containing: - document: Document name/identifier (use this in documents) - source_api: Which API/source this came from - entity_count: Total number of entities from this document - entity_types: Breakdown of entities by type (spells, creatures, etc.) - publisher: Publisher name (if available, Open5e only) - license: License type (if available, Open5e only)

Documents are sorted by entity count (highest first).

Note: This queries only the cache and does not make API calls. You must populate your cache first. Run lorekeeper sync to populate your cache from Open5e, and lorekeeper import <file> for OrcBrew content.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourceNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

With no annotations, the description carries the full burden. It explicitly discloses that this tool queries the cache only, makes no API calls, requires a populated cache, returns a list with specific fields, and sorts by entity count. It does not mention behavior on empty cache or invalid source values, which would add further transparency, but it covers the main behavioral traits well.

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 well-structured with a one-sentence purpose, usage explanation, examples, Args section, Returns section, and a Note. It is front-loaded with the primary purpose and uses concise headings; no sentence is wasted.

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 simple list tool with one optional parameter and no annotations or output schema provided, the description thoroughly covers purpose, prerequisites, parameter values, return format, and sorting behavior. It leaves no major gaps for an agent to invoke it correctly.

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?

The schema only defines 'source' as a nullable string with no description. The description compensates by listing valid values ('open5e_v2', 'orcbrew', None), explaining what each source refers to, and providing examples. However, the intro mentions a third data source (D&D 5e API) that is not reflected in the source values, leaving slight ambiguity about how to filter those documents.

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 uses a specific verb and resource: 'List all available D&D content documents in the cache.' It clearly distinguishes this tool from sibling search tools by explaining it is for discovering available source documents, not searching content. It also states the scope (cache) and purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: 'Use this to see which books, supplements, and homebrew content you have access to, then use the documents parameter in other tools to filter content.' It also explains the prerequisite (populate cache) and that it makes no API calls. However, it does not explicitly name alternate tools or exclusion cases, so it lacks the explicit when-not guidance seen in top-tier examples.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/frap129/lorekeeper-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server