MCP-Server

MGS Toolbox

com.michaelghelfistudios/toolbox
Gaming Medien & Inhalte Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Provides fantasy tabletop RPG reference data for materials, ingredients, potions, gems, and crafting rules, along with a searchable music and ambience catalogue.

audio_taxonomy
Genres, moods, eras, keywords
The vocabulary of the track filters: every genre, mood, era and keyword in use.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
craft_rules
Crafting Table rules
The rules of the crafting system (characters, essences, extraction, brewing, gem cutting, socketing) as titled HTML sections.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lang': {'enum': ['en', 'fr', 'all'], 'type': 'string', 'description': 'Language of the texts: en (default), fr, or all for both.'}}, 'additionalProperties': False}
get_entry
Get one entry
The full data of one metal, mineral, ingredient, potion or gem by its id (from search_encyclopedia or list_entries): properties, lore, page url, embed_url.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind', 'id'], 'properties': {'id': {'type': 'string', 'description': 'The entry id, e.g. "iron", "rose_quartz".'}, 'kind': {'enum': ['metal', 'mineral', 'ingredient', 'potion', 'gem'], 'type': 'string', 'description': 'Which catalogue: metal, mineral, ingredient, potion or gem.'}, 'lang': {'enum': ['en', 'fr', 'all'], 'type': 'string', 'description': 'Language of the texts: en (default), fr, or all for both.'}}, 'additionalProperties': False}
get_track
Get one track
One track by id or slug, with its published alternative versions.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string'}}, 'additionalProperties': False}
list_albums
List albums
Published albums with track count, page url and an embeddable player url.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1}, 'offset': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}
list_composers
List composers
Every composer with published tracks, most prolific first, with their page url.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
list_entries
List / filter a catalogue
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.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind'], 'properties': {'q': {'type': 'string'}, 'kind': {'enum': ['metal', 'mineral', 'ingredient', 'potion', 'gem'], 'type': 'string', 'description': 'Which catalogue: metal, mineral, ingredient, potion or gem.'}, 'lang': {'enum': ['en', 'fr', 'all'], 'type': 'string', 'description': 'Language of the texts: en (default), fr, or all for both.'}, 'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1}, 'offset': {'type': 'integer', 'minimum': 0}, 'filters': {'type': 'object', 'description': '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.', 'additionalProperties': {'type': 'string'}}}, 'additionalProperties': False}
list_facets
Filter values of a catalogue
Every distinct value of each filterable field of a catalogue (categories, rarities, crystal systems, environments, essences…) and its entry count.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind'], 'properties': {'kind': {'enum': ['metal', 'mineral', 'ingredient', 'potion', 'gem'], 'type': 'string', 'description': 'Which catalogue: metal, mineral, ingredient, potion or gem.'}}, 'additionalProperties': False}
random_entry
A 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.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind'], 'properties': {'kind': {'enum': ['metal', 'mineral', 'ingredient', 'potion', 'gem'], 'type': 'string', 'description': 'Which catalogue: metal, mineral, ingredient, potion or gem.'}, 'lang': {'enum': ['en', 'fr', 'all'], 'type': 'string', 'description': 'Language of the texts: en (default), fr, or all for both.'}, 'filters': {'type': 'object', 'description': '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.', 'additionalProperties': {'type': 'string'}}}, 'additionalProperties': False}
random_track
A random track
One published track at random among those matching the filters.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Text search in title, description, keywords.'}, 'era': {'type': 'string', 'description': 'Era token(s), comma-separated.'}, 'mood': {'type': 'string', 'description': 'Musical style(s), comma-separated: Orchestral, Celtic, Folk, Medieval, Metal…'}, 'type': {'type': 'string', 'description': 'Audio type(s), comma-separated: music, ambience, sfx…'}, 'album': {'type': 'string', 'description': 'Album id or slug.'}, 'genre': {'type': 'string', 'description': 'Theme(s), comma-separated, case-insensitive: Combat, Forest, Dungeon, Taverns and Inns, Magic, Weather… (audio_taxonomy lists them).'}, 'keyword': {'type': 'string', 'description': 'Keyword(s), comma-separated, any of them.'}, 'composer': {'type': 'string', 'description': 'Composer id or slug.'}, 'duration_max': {'type': 'number', 'description': 'Maximum duration, seconds.'}, 'duration_min': {'type': 'number', 'description': 'Minimum duration, seconds.'}}, 'additionalProperties': False}
search_encyclopedia
Search the encyclopedias
Find metals, minerals, alchemical ingredients, potions and gems 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.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'minLength': 1, 'description': 'The name or part of it.'}, 'kind': {'type': 'string', 'description': 'Restrict to some catalogues, comma-separated (e.g. "metal,mineral").'}, 'lang': {'enum': ['en', 'fr', 'all'], 'type': 'string', 'description': 'Language of the texts: en (default), fr, or all for both.'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}}, 'additionalProperties': False}
search_tracks
Search the music catalogue
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".
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Text search in title, description, keywords.'}, 'era': {'type': 'string', 'description': 'Era token(s), comma-separated.'}, 'mood': {'type': 'string', 'description': 'Musical style(s), comma-separated: Orchestral, Celtic, Folk, Medieval, Metal…'}, 'sort': {'enum': ['newest', 'oldest', 'title', 'duration', 'random'], 'type': 'string'}, 'type': {'type': 'string', 'description': 'Audio type(s), comma-separated: music, ambience, sfx…'}, 'album': {'type': 'string', 'description': 'Album id or slug.'}, 'genre': {'type': 'string', 'description': 'Theme(s), comma-separated, case-insensitive: Combat, Forest, Dungeon, Taverns and Inns, Magic, Weather… (audio_taxonomy lists them).'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'offset': {'type': 'integer', 'minimum': 0}, 'keyword': {'type': 'string', 'description': 'Keyword(s), comma-separated, any of them.'}, 'composer': {'type': 'string', 'description': 'Composer id or slug.'}, 'duration_max': {'type': 'number', 'description': 'Maximum duration, seconds.'}, 'duration_min': {'type': 'number', 'description': 'Minimum duration, seconds.'}}, 'additionalProperties': False}
Hinzugefügt
audio_taxonomy
17. September 2026 12:36
Hinzugefügt
list_albums
17. September 2026 12:36
Hinzugefügt
list_composers
17. September 2026 12:36
Hinzugefügt
get_track
17. September 2026 12:36
Hinzugefügt
random_track
17. September 2026 12:36
Hinzugefügt
search_tracks
17. September 2026 12:36
Hinzugefügt
craft_rules
17. September 2026 12:36
Hinzugefügt
list_facets
17. September 2026 12:36
Hinzugefügt
random_entry
17. September 2026 12:36
Hinzugefügt
list_entries
17. September 2026 12:36
Hinzugefügt
get_entry
17. September 2026 12:36
Hinzugefügt
search_encyclopedia
17. September 2026 12:36