Skip to main content
Glama

Server Details

Fantasy TTRPG data: metals, minerals, ingredients, potions, gems, craft rules, music catalogue.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 42 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.5/5.0

Scored across 12 tools

Disambiguation4/5

The set splits cleanly into two domains (encyclopedia entries vs. audio tracks), and each tool has a relatively distinct role (search by name, filter/browse via list_entries, fetch by id, facets, random). The main overlap is search_encyclopedia vs. list_entries (which explicitly supports a q name search) and audio_taxonomy vs. list_facets, but the descriptions clarify when to use each.

Naming Consistency4/5

Most tools follow a predictable verb_noun pattern (get_entry, get_track, list_albums, list_composers, list_entries, list_facets, random_entry, random_track, search_encyclopedia, search_tracks). Only audio_taxonomy and craft_rules break the pattern as bare noun descriptors, a minor deviation.

Tool Count4/5

Twelve tools is within the healthy 3-15 range and each earns its place across two coherent sub-domains (encyclopedia and audio). The two static descriptor tools (audio_taxonomy, craft_rules) are slightly unusual but justified as reference lookups.

Completeness4/5

Coverage is strong: both domains have search, filtered listing, id-based retrieval, facet discovery, and randomization. Minor gaps exist — no plain list_tracks pagination, no get_album or get_composer detail tool — but agents can work around these.

Available Tools

12 tools
audio_taxonomyGenres, moods, eras, keywordsAInspect

The vocabulary of the track filters: every genre, mood, era and keyword in use.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/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 implies a read-only retrieval operation (a vocabulary list) but does not disclose the return format (e.g., array vs. object), whether results are sorted, or any other behavioral details.

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 a single, front-loaded sentence that immediately communicates the core purpose (vocabulary of track filters) and then enumerates the specific categories included. There is no fluff or redundant phrasing.

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 zero-parameter tool with no output schema and no annotations, the description is largely complete — it states what the tool provides and the scope of that content. The only missing detail is the expected output structure, which is minor given the tool's simplicity.

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 tool has zero parameters (empty input schema), so the baseline of 4 applies. There are no parameters for the description to explain, and the description correctly focuses on the payload rather than inputs.

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?

The description clearly identifies the resource (track filter vocabulary) and scope (every genre, mood, era, and keyword in use). It distinguishes itself from sibling tools like search_tracks or get_entry by focusing on the taxonomy rather than individual records, though it uses a noun phrase instead of an explicit verb.

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 description implies usage — you would call this when you need the list of valid genres, moods, eras, or keywords for building track filters. However, it does not explicitly contrast with alternatives like list_facets or search_tracks, leaving the decision to inference.

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

craft_rulesCrafting Table rulesCInspect

The rules of the crafting system (characters, essences, extraction, brewing, gem cutting, socketing) as titled HTML sections.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoLanguage of the texts: en (default), fr, or all for both.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral burden. It does disclose that the output is HTML sections with titles, which is useful. However, it does not state whether the operation is read-only, mention the optional lang parameter behavior (e.g., default is 'en'), or describe any side effects. Given the lack of annotations, more transparency is expected.

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 a single, compact sentence that front-loads the primary purpose and lists the content areas. It is efficient with no redundant words. However, it could be slightly more explicit about the action (e.g., 'returns' or 'retrieves'), which would strengthen clarity without adding bulk.

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?

For a simple tool with one optional parameter, the description is reasonably complete: it states what is returned and the output format. It does not mention default language behavior or error cases, but these are not critical given the schema. The absence of an output schema is partially mitigated by describing the HTML sections. Still, it could benefit from stating that lang is optional and defaulting to 'en'.

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?

The input schema already documents the lang parameter with a clear description and enum values, achieving 100% coverage. The description does not add any additional meaning about parameters. Since schema coverage is high, a baseline score of 3 is appropriate; the description neither enhances nor detracts from parameter understanding.

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?

The description clearly states the tool's function: returning the crafting system rules (characters, essences, extraction, brewing, gem cutting, socketing) formatted as titled HTML sections. It distinguishes itself from sibling tools, which deal with entries, tracks, and audio taxonomy, by focusing on crafting rules.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. While sibling tools are clearly different in scope, the description does not mention any prerequisites, use cases, or exclusions. The agent must infer that this is the only tool for crafting rules, which is not stated.

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

get_entryGet one entryAInspect

The full data of one entry (a metal, mineral, ingredient, potion, gem, milieu, animal, plant, creature or reference page) by its id (from search_encyclopedia or list_entries): properties, lore, page url, embed_url.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe entry id, e.g. "iron", "rose_quartz".
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.

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden, and it partly does by listing the returned payload (properties, lore, page url, embed_url) and thereby implying a read-only fetch. It says nothing about errors for unknown ids, language fallback behavior, or any rate/auth constraints. Adequate but incomplete for an unannotated tool.

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?

A single sentence, front-loaded with the verb and resource, with the id source and returned fields appended compactly. No filler or redundancy.

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 simple single-object read tool with no output schema, naming the returned fields (properties, lore, page url, embed_url) plus the id source is nearly everything an agent needs. Minor gaps remain around failure modes and the lang='all' behavior, which neither the description nor annotations cover.

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 baseline is 3; both 'id' and 'kind' are already fully documented with examples and per-value enum descriptions. The description adds only the provenance of the id, not syntax or semantics beyond the schema, and the 'lang' parameter is not addressed at all.

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 ('The full data of one entry ... by its id') and enumerates the entry kinds it covers, letting an agent distinguish it from list_entries, search_encyclopedia, and random_entry without opening their schemas. The parenthetical kind list maps closely to the 'kind' enum, so scope is unambiguous.

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?

Explicitly tells the agent where a valid id comes from ('from search_encyclopedia or list_entries'), which is the key precondition for calling it. It gives no when-not-to-use guidance or mention of random_entry as an alternative, so it stops short of full routing guidance.

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

get_trackGet one trackAInspect

One track by id or slug, with its published alternative versions.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.7/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 burden. It adds that the tool returns 'published alternative versions', implying filtering by publication status and inclusion of variants, but does not disclose error behavior, permissions, or response structure.

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?

A single, front-loaded sentence with no waste. It states the core function and key scoping constraint efficiently.

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?

For a simple single-parameter get tool, the description covers the basics, but lacks details on response format, error cases, and what 'alternative versions' entails. Given no output schema and no annotations, it is somewhat incomplete.

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?

The schema has one parameter 'id' with no description (0% coverage). The description clarifies that 'id' can be either an id or a slug, adding meaning beyond the plain string type 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?

The description uses a specific verb 'get' with resource 'track', and specifies the identifier types (id or slug) and the inclusion of alternative versions, clearly distinguishing it from sibling tools like search_tracks and random_track.

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?

It implies usage when you have an id or slug, but does not explicitly state when to choose this over search_tracks or random_track. No exclusions or alternative conditions are mentioned.

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

list_albumsList albumsBInspect

Published albums with track count, page url and an embeddable player url.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It discloses that only published albums are included and enumerates the fields returned (track count, page URL, embeddable player URL), which is useful. It does not mention ordering, default pagination, or any side effects, but for a read-only list tool the disclosed behavior is meaningful.

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?

A single sentence immediately names the returned resource class and the three key output fields. There is no filler or repetition.

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

Completeness2/5

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

The tool is simple, but there is no output schema and no annotations, so the description must compensate. It states return fields, but omits pagination semantics, the meaning of 'published,' and how this tool relates to nearby siblings. An agent could call it, but would be guessing about limit/offset behavior.

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

Parameters1/5

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

Schema description coverage is 0% and the description does not mention limit or offset at all. An agent cannot learn from this definition what limit/offset control, whether they are required, or how pagination behaves. The description adds no parameter meaning beyond the raw type and bounds 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?

The title 'List albums' provides a specific verb + resource, and the description sharpens it: only 'Published albums' are returned, with track count, page URL, and embeddable player URL. This distinguishes the tool from sibling list_entries, list_composers, and search_tracks without needing to inspect schemas.

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

Usage Guidelines2/5

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

No guidance is given about when to choose list_albums over siblings such as search_tracks, list_entries, or get_entry. The description only says it returns published albums; it does not state exclusions, prerequisites, or a selection rule.

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

list_composersList composersAInspect

Every composer with published tracks, most prolific first, with their page url.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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

Discloses output scope, ordering, and included field (page URL). No annotations exist, so the description carries the burden and covers the main behavioral aspects, though pagination or result limits are not mentioned.

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?

Single concise sentence with no redundant wording. Front-loads the action and resource, then specifies scope, ordering, and output field efficiently.

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?

With no parameters and no output schema, the description adequately conveys what the tool returns and in what order. Minor omissions like empty-result behavior or potential size are not critical for a simple list tool.

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?

The tool has no parameters, so parameter-specific guidance is irrelevant. Schema coverage is effectively complete, and the description adds no parameter semantics because none exist.

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 ('list') and resource ('composers') with clear scope: every composer with published tracks, ordered by prolificness, including page URL. Distinct from sibling tools by naming and scope.

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?

Implies usage when you need all composers with published tracks, but does not explicitly explain when to choose this over sibling tools like list_entries or search_encyclopedia, nor provide exclusions or alternatives.

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

list_entriesList / filter a catalogueBInspect

A page of one catalogue, filtered. Use it to answer "which minerals are cubic and gem-quality?", "legendary metals of the medieval era", "swamp ingredients with a fire essence". Combine with q for a name search inside the filter.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNo
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.
limitNo
offsetNo
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.

TDQS

B3.4/5.0
Behavior3/5

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

No annotations, so the description bears the full load. 'A page of' does hint at paginated reads and the examples show the filter-combination behavior, but it never states whether the operation is read-only, how results are ordered, or what the default page size is — gaps that carry real weight with zero annotation coverage.

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 statement, then usage examples. The three quoted questions are longer than strictly needed for a 10-word capability, but they carry real disambiguating value rather than being filler.

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?

For a 6-parameter tool with a nested filters object, no annotations, and no output schema, the description covers query construction reasonably (via the schema's filter documentation) but leaves the response shape — page size, total counts, ordering — entirely undisclosed.

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 descriptions cover roughly half the parameters, with 'kind', 'lang', and 'filters' well documented inline (including the full per-catalogue field list). The description adds that q is a name search that composes with filters, but says nothing about limit/offset or the lang default beyond the schema's own note.

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 concrete verb+resource: returns a filtered page of a single catalogue. The three quoted example questions ('which minerals are cubic and gem-quality?') make the intended query shape concrete. It doesn't explicitly distinguish itself from get_entry, random_entry, or list_facets, so it stops short of a 5.

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 example questions imply when to reach for this tool (multi-criteria catalogue lookups) and 'Combine with q for a name search inside the filter' adds one concrete usage rule. However, nothing states when NOT to use it, nor routes the agent to get_entry for single items or list_facets for valid filter values.

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

list_facetsFilter values of a catalogueBInspect

Every distinct value of each filterable field of a catalogue (categories, rarities, crystal systems, biomes, essences…) and its entry count.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYesWhich catalogue: metal, mineral, ingredient, potion, gem, milieu, animal, plant, monster, hearth_page, passage_page, bearer_page.

TDQS

B3.2/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 behavioral burden. It does disclose the return shape (distinct values plus entry count per field), which is valuable given there is no output schema, but it says nothing about ordering, whether counts are global or filtered, or any read-only/permission guarantees.

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 compact phrase that front-loads the resource and appends the count detail, with no filler. It is grammatically a noun phrase rather than a sentence, which is slightly unusual but not wasteful.

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 must carry behavior on its own; it does convey the core payload (facet values with counts) but omits grouping structure, ordering, and any caveats about what the counts represent. Adequate for a simple one-parameter tool, but with clear gaps.

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% with a single enum parameter fully documented in the schema, so the baseline is 3. The description's 'catalogue' framing and field examples loosely echo the kind parameter but add no syntax or selection meaning beyond the schema's enum list.

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?

The description states a specific resource and output (every distinct value of each filterable field of a catalogue, plus entry counts), which is clearly distinguishable from lookup tools like get_entry or list_entries. It stops short of naming any sibling or explicitly framing itself as the 'enumerate filter facets' operation, so it's clear but not maximally differentiated.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no mention of alternatives (e.g., search_encyclopedia or list_entries), and no note about when this tool is preferable. Usage is only implied by the noun phrase 'filterable field', leaving the agent to infer the call context.

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

random_entryA random entryBInspect

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

ParametersJSON 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.

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.

random_trackA random trackAInspect

One published track at random among those matching the filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoText search in title, description, keywords.
eraNoEra token(s), comma-separated.
moodNoMusical style(s), comma-separated: Orchestral, Celtic, Folk, Medieval, Metal…
typeNoAudio type(s), comma-separated: music, ambience, sfx…
albumNoAlbum id or slug.
genreNoTheme(s), comma-separated, case-insensitive: Combat, Forest, Dungeon, Taverns and Inns, Magic, Weather… (audio_taxonomy lists them).
keywordNoKeyword(s), comma-separated, any of them.
composerNoComposer id or slug.
duration_maxNoMaximum duration, seconds.
duration_minNoMinimum duration, seconds.

TDQS

A3.5/5.0
Behavior3/5

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

The description accurately states behavior but omits details such as return format, error handling when no tracks match, and confirmation that it is a read-only operation. Given no annotations, the description carries the burden and only partially meets it.

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 a single concise sentence with no redundant words, making it easy to parse.

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?

The description is minimal and lacks an output schema or return-structure details. It also doesn't mention potential error responses. However, within the context of sibling tools, a 'track' object is likely understood, so completeness is adequate but not full.

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?

The schema covers all 10 parameters with descriptions. The tool description adds no additional parameter semantics. The descriptions are clear individually, but the description does not clarify how multiple filters are combined (e.g., AND vs OR). Baseline 3 applies due to high schema coverage.

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 clearly states the tool returns a random published track filtered by criteria. It distinguishes from sibling tools like search_tracks (search) and random_entry (random encyclopedia entry) by specifying 'published track' and 'matching the filters'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to choose this tool over alternatives. It does not mention use cases or conditions, nor does it reference sibling tools.

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

search_encyclopediaSearch the encyclopediasAInspect

Find metals, minerals, ingredients and materials, potions, gems, the milieux, animals, plants and creatures of Biomes and the reference pages of Hearth, Passage and Bearer by name (case- and accent-insensitive; exact names first, then prefixes, then substrings, aliases included). Returns each hit with its kind, id, one-line summary and page url; call get_entry for the full data.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesThe name or part of it.
kindNoRestrict to some catalogues, comma-separated (e.g. "metal,mineral").
langNoLanguage of the texts: en (default), fr, or all for both.
limitNo

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses match ranking (exact, then prefix, then substring), alias inclusion, case/accent insensitivity, and the return shape (kind, id, one-line summary, url). It does not mention result limits/pagination or any auth considerations, so it is not exhaustive.

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?

Two sentences, both load-bearing, with the resource scope front-loaded before the return/next-step information. The first sentence is dense and long, but every clause adds routing value.

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?

No output schema exists, and the description compensates by describing the hit fields and the follow-up tool. It omits default limit behavior and pagination semantics, which are the main remaining gaps.

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 75%, so the schema handles most fields, but the description adds real meaning for q beyond 'the name or part of it' by specifying the matching algorithm and alias handling. It adds nothing for kind, lang, or limit defaults, keeping it below 5.

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?

Specific verb ('Find') plus a concrete set of resources (metals, minerals, potions, gems, animals, plants, plus Hearth/Passage/Bearer reference pages) scoped by name matching. It clearly differs from siblings like list_entries or random_entry, and it explicitly names get_entry as the follow-up tool.

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 routes the agent to get_entry for full data, which is explicit alternative guidance. It lacks a negative clause (e.g. when to prefer list_entries or list_facets instead), so it falls short of full when/when-not coverage.

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

search_tracksSearch the music catalogueAInspect

Published tracks of MGS Audio (music, ambiences, sound effects) with composer, album, moods, keywords, duration and page url. Metadata only: no audio file. "A battle theme" → genre: "Combat", type: "music"; "a forest ambience" → type: "ambience", genre: "Forest"; "something for a dungeon" → keyword: "dungeon".

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoText search in title, description, keywords.
eraNoEra token(s), comma-separated.
moodNoMusical style(s), comma-separated: Orchestral, Celtic, Folk, Medieval, Metal…
sortNo
typeNoAudio type(s), comma-separated: music, ambience, sfx…
albumNoAlbum id or slug.
genreNoTheme(s), comma-separated, case-insensitive: Combat, Forest, Dungeon, Taverns and Inns, Magic, Weather… (audio_taxonomy lists them).
limitNo
offsetNo
keywordNoKeyword(s), comma-separated, any of them.
composerNoComposer id or slug.
duration_maxNoMaximum duration, seconds.
duration_minNoMinimum duration, seconds.

TDQS

A4.1/5.0
Behavior4/5

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

The description explicitly states 'Metadata only: no audio file,' which is a key behavioral constraint that informs users what the tool will not return. It also specifies that only 'Published tracks' are included, and the query-mapping examples clarify how search terms are interpreted (e.g., 'dungeon' as keyword), giving insight into the tool's behavior beyond a simple list of parameters.

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 compact yet information-dense, combining a clear purpose, a behavioral note, and three illustrative query mappings in a few sentences. It avoids redundancy and stays focused on the most important aspects for a user, though the examples add a little length without detracting from clarity.

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?

Given that there is no output schema, the description partially addresses return format by mentioning that results include composer, album, moods, keywords, duration, and page URL. It does not describe pagination or sorting behavior of results, but the presence of limit/offset parameters implies them, and the core return fields are covered sufficiently for a search tool.

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?

The schema already provides descriptions for 10 of 13 parameters (77% coverage), which meets the high-coverage baseline. The description adds useful mapping examples for genre, type, and keyword but does not elaborate on sort, limit, or offset beyond their self-explanatory names; thus it offers moderate added value but not exhaustive parameter explanation.

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 clearly states the tool searches published tracks of MGS Audio, listing the key attributes (composer, album, moods, keywords, duration, page URL) and explicitly notes it returns metadata only. It also provides concrete examples mapping natural-language queries to specific fields (genre, type, keyword), which removes ambiguity about the tool's scope.

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 includes practical usage examples (e.g., 'a battle theme' → genre: 'Combat', type: 'music'), effectively teaching how to construct queries. While it does not explicitly contrast with sibling tools like search_encyclopedia, the focus on music tracks and metadata makes the intended use case clear, and the examples provide enough guidance for typical usage.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • Changedget_entry2 fields changed
      • 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"
        +]
    • Changedlist_entries3 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"
        +]
    • Changedlist_facets2 fields changed
      • 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"
        +]
    • Changedrandom_entry3 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. 2 tool updates
    • Changedlist_entries1 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."
    • Changedrandom_entry1 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. 12 tool updates
    • First observedaudio_taxonomy
    • First observedcraft_rules
    • First observedget_entry
    • First observedget_track
    • First observedlist_albums
    • First observedlist_composers
    • First observedlist_entries
    • First observedlist_facets
    • First observedrandom_entry
    • First observedrandom_track
    • First observedsearch_encyclopedia
    • First observedsearch_tracks

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Connect to your TTRPG campaign's repository and database. Instead of retrieving prose, its 48 tools (20 read, 28 write) return typed state: 14 entity schemas (NPCs, factions, locations, sessions, lore), relationship and knowledge-graph queries, wiki blocks, and a narrative-state bundle of open threads and canon facts.
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources