Skip to main content
Glama

A random entry

random_entry

One entry at random among those matching the filters: loot tables, "mineral of the day", a credible metal for a blacksmith, a foraging roll.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYesWhich catalogue: metal, mineral, ingredient, potion, gem, milieu, animal, plant, monster, hearth_page, passage_page, bearer_page.
langNoLanguage of the texts: en (default), fr, or all for both.
filtersNoField filters as {name: "value" | "value1,value2"} (any-of, case-insensitive). Names per catalogue: metal → category, era, rarity, fictional, tag; mineral → type, system, rarity, gem_quality, color, magic, planar_origin, origin; ingredient → category, rarity, realm, biome, landform, structure, qualifier, essence, creature_type, part; potion → essence; gem → color, rarity, temporary; milieu → realm, group; animal → kind, size, danger, activity, domestic and the place filters; plant → kind and the place filters; monster → type, size, cr, danger and the place filters; hearth_page, passage_page, bearer_page → none (search by name with q). list_facets gives the values.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / filters / description
      Previous value: -"Field filters as {name: \"value\" | \"value1,value2\"} (any-of, case-insensitive). Names per catalogue: metal → category, era, rarity, fictional, tag; mineral → type, system, rarity, gem_quality, color, magic, planar_origin, origin; ingredient → category, rarity, realm, biome, landform, structure, qualifier, essence, creature_type, part; potion → essence; gem → color, rarity, temporary. list_facets gives the values."New value: +"Field filters as {name: \"value\" | \"value1,value2\"} (any-of, case-insensitive). Names per catalogue: metal → category, era, rarity, fictional, tag; mineral → type, system, rarity, gem_quality, color, magic, planar_origin, origin; ingredient → category, rarity, realm, biome, landform, structure, qualifier, essence, creature_type, part; potion → essence; gem → color, rarity, temporary; milieu → realm, group; animal → kind, size, danger, activity, domestic and the place filters; plant → kind and the place filters; monster → type, size, cr, danger and the place filters; hearth_page, passage_page, bearer_page → none (search by name with q). list_facets gives the values."
    • changedInput schema / properties / kind / description
      Previous value: -"Which catalogue: metal, mineral, ingredient, potion or gem."New value: +"Which catalogue: metal, mineral, ingredient, potion, gem, milieu, animal, plant, monster, hearth_page, passage_page, bearer_page."
    • changedInput schema / properties / kind / enum
      Previous value: -[
      -  "metal",
      -  "mineral",
      -  "ingredient",
      -  "potion",
      -  "gem"
      -]New value: +[
      +  "metal",
      +  "mineral",
      +  "ingredient",
      +  "potion",
      +  "gem",
      +  "milieu",
      +  "animal",
      +  "plant",
      +  "monster",
      +  "hearth_page",
      +  "passage_page",
      +  "bearer_page"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / filters / description
      Previous value: -"Field filters as {name: \"value\" | \"value1,value2\"} (any-of, case-insensitive). Names per catalogue: metal → category, era, rarity, fictional, tag; mineral → type, system, rarity, gem_quality, color, magic, planar_origin, origin; ingredient → category, rarity, environment, essence, tag; potion → essence; gem → color, rarity, temporary. list_facets gives the values."New value: +"Field filters as {name: \"value\" | \"value1,value2\"} (any-of, case-insensitive). Names per catalogue: metal → category, era, rarity, fictional, tag; mineral → type, system, rarity, gem_quality, color, magic, planar_origin, origin; ingredient → category, rarity, realm, biome, landform, structure, qualifier, essence, creature_type, part; potion → essence; gem → color, rarity, temporary. list_facets gives the values."
  3. First observed

TDQS

B3.4/5.0
Behavior3/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 does disclose the two key behaviors: selection is random and constrained by filters. But it says nothing about behavior on empty result sets, distribution/uniformity, or auth/rate considerations, leaving meaningful gaps for a no-annotation tool.

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?

A single sentence that front-loads the random-selection behavior, followed by illustrative examples. No filler, though the example list is slightly decorative rather than informative.

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

Completeness3/5

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

With no output schema and no annotations, the description should ideally cover return shape and empty/no-match behavior for a random-pick tool. It covers the core selection semantics but leaves the agent guessing about edge cases and response format.

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

Parameters3/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 kind, lang, and the filters object in detail. The description adds no syntax or format detail beyond referring to 'the filters,' so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action and resource: 'one entry at random among those matching the filters.' This clearly separates it from get_entry (single known entry) and list_entries (all entries), though it never names those siblings explicitly. The whimsical examples reinforce the intent but the core verb+resource is front-loaded.

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

Usage Guidelines3/5

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

The examples (loot tables, mineral of the day, credible metal for a blacksmith, foraging roll) illustrate contexts where a random pick is useful, implying usage. However there is no explicit when-not guidance and no mention of alternatives like get_entry or list_entries for deterministic retrieval.

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