{"serverId":"mcp-registry/com.michaelghelfistudios/toolbox","tools":[{"name":"get_entry","fixed":{"name":"get_entry","description":"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.","inputSchema":{"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","milieu","animal","plant","monster","hearth_page","passage_page","bearer_page"],"type":"string","description":"Which catalogue: metal, mineral, ingredient, potion, gem, milieu, animal, plant, monster, hearth_page, passage_page, bearer_page."},"lang":{"enum":["en","fr","all"],"type":"string","description":"Language of the texts: en (default), fr, or all for both."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get one entry"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":255,"tokensAfter":255},{"name":"get_track","fixed":{"name":"get_track","description":"One track by id or slug, with its published alternative versions.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get one track"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":76,"tokensAfter":76},{"name":"list_albums","fixed":{"name":"list_albums","description":"Published albums with track count, page url and an embeddable player url.","inputSchema":{"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},"annotations":{"readOnlyHint":true},"title":"List albums"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":93,"tokensAfter":93},{"name":"list_composers","fixed":{"name":"list_composers","description":"Every composer with published tracks, most prolific first, with their page url.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"List composers"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"list_entries","fixed":{"name":"list_entries","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["kind"],"properties":{"q":{"type":"string"},"kind":{"enum":["metal","mineral","ingredient","potion","gem","milieu","animal","plant","monster","hearth_page","passage_page","bearer_page"],"type":"string","description":"Which catalogue: metal, mineral, ingredient, potion, gem, milieu, animal, plant, monster, hearth_page, passage_page, bearer_page."},"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, 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.","additionalProperties":{"type":"string"}}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"List / filter a catalogue"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":481,"tokensAfter":481},{"name":"list_facets","fixed":{"name":"list_facets","description":"Every distinct value of each filterable field of a catalogue (categories, rarities, crystal systems, biomes, essences…) and its entry count.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["kind"],"properties":{"kind":{"enum":["metal","mineral","ingredient","potion","gem","milieu","animal","plant","monster","hearth_page","passage_page","bearer_page"],"type":"string","description":"Which catalogue: metal, mineral, ingredient, potion, gem, milieu, animal, plant, monster, hearth_page, passage_page, bearer_page."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Filter values of a catalogue"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":176,"tokensAfter":176},{"name":"search_encyclopedia","fixed":{"name":"search_encyclopedia","description":"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.","inputSchema":{"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},"annotations":{"readOnlyHint":true},"title":"Search the encyclopedias"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":261,"tokensAfter":261},{"name":"search_tracks","fixed":{"name":"search_tracks","description":"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\".","inputSchema":{"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},"annotations":{"readOnlyHint":true},"title":"Search the music catalogue"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":438,"tokensAfter":438}],"toolsChanged":8,"tokensSaved":0,"todo":[{"tool":"get_track","params":["id"]},{"tool":"list_albums","params":["limit","offset"]},{"tool":"list_entries","params":["q","limit","offset"]},{"tool":"search_encyclopedia","params":["limit"]},{"tool":"search_tracks","params":["sort","limit","offset"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}