Skip to main content
Glama
frap129

LoreKeeper MCP

search_rule

Search D&D 5e rules, conditions, damage types, skills, and more. Resolve rules questions during play or character building with official game mechanics.

Instructions

Look up D&D 5e game rules, conditions, and reference information.

This comprehensive reference tool provides access to core rules, special conditions, damage types, skills, and game mechanics. Essential for resolving rules questions during play or character building. All data is sourced from official D&D 5e materials. Uses the repository pattern with database caching for improved performance.

Examples: - search_rule(rule_type="condition", search="grappled") - Find grappled condition rules - search_rule(rule_type="skill", search="stealth") - Find stealth skill details - search_rule(rule_type="damage-type", search="fire") - Find fire damage rules - search_rule(rule_type="rule", section="combat") - Find all combat rules - search_rule(rule_type="ability-score") - Get all ability score info - search_rule(rule_type="alignment") - Find alignment descriptions - search_rule(rule_type="magic-school", search="evocation") - Find evocation school info - search_rule(rule_type="rule", documents=["srd-5e"]) - Find rules from SRD only - search_rule(rule_type="condition", search="grappled", documents=["srd-5e", "tce"]) - Filter conditions by documents

Semantic search (natural language queries):
 - search_rule(rule_type="condition", search="movement restricted") - Find conditions affecting movement
 - search_rule(rule_type="damage-type", search="burning heat") - Find fire-related damage
 - search_rule(rule_type="skill", search="sneaking hiding") - Find stealth-related skills

Hybrid search (search + filters):
 - search_rule(rule_type="condition", search="cannot see", documents=["srd-5e"]) - Find blindness/vision conditions

Args: rule_type: REQUIRED. Type of game reference to lookup. Must be one of: - "rule": Core game rules and mechanics (combat, spellcasting, movement, etc.) - "condition": Status effects (grappled, stunned, poisoned, unconscious, etc.) - "damage-type": Damage categories (acid, bludgeoning, cold, fire, force, lightning, necrotic, piercing, poison, psychic, radiant, slashing, thunder) - "weapon-property": Weapon special properties (finesse, heavy, light, reach, two-handed, versatile, ammunition, loading, thrown, etc.) - "skill": Ability-based skills (Acrobatics, Animal Handling, Arcana, Athletics, Deception, History, Insight, Intimidation, Investigation, Medicine, Nature, Perception, Performance, Persuasion, Religion, Sleight of Hand, Stealth, Survival) - "ability-score": Core abilities (Strength, Dexterity, Constitution, Intelligence, Wisdom, Charisma) and their uses - "magic-school": Schools of magic (Abjuration, Conjuration, Divination, Enchantment, Evocation, Illusion, Necromancy, Transmutation) - "language": Languages available in D&D (Common, Dwarvish, Elvish, Giant, Gnomish, Goblin, Orc, Primordial, Sylvan, Undercommon, Celestial, Draconic, Deep Speech, Infernal) - "proficiency": Character proficiency types (armor, weapon, tool, saving throw, skill) - "alignment": Character alignment axes (Lawful/Chaotic, Good/Evil, Neutral options) section: For rule_type="rule" only. Filter rules by section/chapter. Examples: "combat", "spellcasting", "movement", "actions-in-combat" Ignored for other rule types. documents: Filter to specific source documents. Provide a list of document names/identifiers from list_documents() tool. Examples: ["srd-5e"] for SRD only, ["srd-5e", "tce"] for SRD and Tasha's. Use list_documents() to see available documents. search: Natural language search query for semantic/vector search. When provided, uses vector similarity to find rules matching the conceptual meaning rather than exact text matches. Can be combined with other filters for hybrid search. Examples: "movement restricted", "fire burning damage", "stealth hiding sneaking" limit: Maximum number of results to return. Default 20 for performance. Examples: 1, 10, 50

Returns: List of rule/reference dictionaries. Structure varies by rule_type:

For rule_type="rule":
    - name: Rule name/title
    - desc: Full rule description and examples
    - section: Section/chapter this rule belongs to

For rule_type="condition":
    - name: Condition name
    - desc: Effects and duration of this condition

For rule_type="damage-type":
    - name: Damage type name
    - desc: Description of damage type and uses

For rule_type="weapon-property":
    - name: Property name
    - desc: How the property affects weapon use

For rule_type="skill":
    - name: Skill name
    - ability_score: Associated ability (STR, DEX, CON, INT, WIS, CHA)
    - desc: How skill is used and common checks

For rule_type="ability-score":
    - name: Ability name
    - desc: What ability represents and how it's used
    - skills: Related skills

For rule_type="magic-school":
    - name: School name
    - desc: Philosophy and types of spells in this school

For rule_type="language":
    - name: Language name
    - type: Language type (common, exotic, etc.)
    - script: Writing system if any

For rule_type="proficiency":
    - name: Proficiency type
    - class: What type of proficiency (class, background, race)
    - desc: Details about this proficiency type

For rule_type="alignment":
    - name: Alignment
    - desc: Alignment description and common character types

Raises: ValueError: If rule_type is not one of the valid options APIError: If the API request fails due to network issues or server errors

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
searchNo
sectionNo
documentsNo
rule_typeYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses semantic vector search behavior, hybrid search combining filter and semantic queries, a default limit of 20 for performance, and raises ValueError/APIError. It also mentions internal repository/caching patterns, which adds some non-behavioral context but still demonstrates transparency.

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?

The description is long but well-structured with clear sections for purpose, examples, args, returns, and raises. It front-loads the core purpose and uses bullet-style examples. The repeated semantic search examples are somewhat redundant, but the length is largely justified by the 5-parameter complexity and 10 rule_type variants.

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?

Even with an output schema present, the description provides per-rule_type return structures, error conditions, filtering capabilities, and multiple search modes. It covers all practical invocation scenarios an agent might encounter, making the tool independently understandable without further documentation.

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 description coverage is 0%, so the description must compensate for all five parameters. It does so meticulously: rule_type is fully enumerated with plain-English meanings, section is scoped to 'rule' only, documents are tied to list_documents(), search is explained as semantic, and limit includes a default and performance rationale. The extensive examples reinforce parameter usage.

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 'Look up D&D 5e game rules, conditions, and reference information,' naming the specific verb, resource, and scope. The rule_type enum and detailed categories clearly differentiate it from sibling tools like search_spell or search_creature.

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?

Extensive examples show when to use each rule_type, filtering by section/documents, and semantic/hybrid search modes. It states this is 'Essential for resolving rules questions during play or character building.' However, it never explicitly mentions when to prefer this over search_all or other sibling search tools, though the categories imply it.

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