MGS Toolbox

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

사용해야 할까요

품질 및 안전성

A
설명 품질
97%
스키마 완전성
80%
이름 품질
93%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,075토큰 (도구 정의)
~1.5 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.62%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "toolbox": {
      "url": "https://michaelghelfistudios.com/api/v1/mcp"
    }
  }
}

원격 엔드포인트

https://michaelghelfistudios.com/api/v1/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (12)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢search_encyclopedia(q, kind, lang, limit)

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.

입력 스키마

{
  "type": "object",
  "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": {
      "type": "string",
      "enum": [
        "en",
        "fr",
        "all"
      ],
      "description": "Language of the texts: en (default), fr, or all for both."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "q"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_entry(kind, id, lang)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "metal",
        "mineral",
        "ingredient",
        "potion",
        "gem"
      ],
      "description": "Which catalogue: metal, mineral, ingredient, potion or gem."
    },
    "id": {
      "type": "string",
      "description": "The entry id, e.g. \"iron\", \"rose_quartz\"."
    },
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "fr",
        "all"
      ],
      "description": "Language of the texts: en (default), fr, or all for both."
    }
  },
  "required": [
    "kind",
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_entries(kind, filters, q, lang, limit, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "metal",
        "mineral",
        "ingredient",
        "potion",
        "gem"
      ],
      "description": "Which catalogue: metal, mineral, ingredient, potion or gem."
    },
    "filters": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "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."
    },
    "q": {
      "type": "string"
    },
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "fr",
        "all"
      ],
      "description": "Language of the texts: en (default), fr, or all for both."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    },
    "offset": {
      "type": "integer",
      "minimum": 0
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪random_entry(kind, filters, lang)

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

입력 스키마

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "metal",
        "mineral",
        "ingredient",
        "potion",
        "gem"
      ],
      "description": "Which catalogue: metal, mineral, ingredient, potion or gem."
    },
    "filters": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "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."
    },
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "fr",
        "all"
      ],
      "description": "Language of the texts: en (default), fr, or all for both."
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_facets(kind)

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

입력 스키마

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "metal",
        "mineral",
        "ingredient",
        "potion",
        "gem"
      ],
      "description": "Which catalogue: metal, mineral, ingredient, potion or gem."
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪craft_rules(lang)

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

입력 스키마

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "fr",
        "all"
      ],
      "description": "Language of the texts: en (default), fr, or all for both."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_tracks(type, genre, mood, era, keyword, ...)

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

입력 스키마

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "description": "Audio type(s), comma-separated: music, ambience, sfx…"
    },
    "genre": {
      "type": "string",
      "description": "Theme(s), comma-separated, case-insensitive: Combat, Forest, Dungeon, Taverns and Inns, Magic, Weather… (audio_taxonomy lists them)."
    },
    "mood": {
      "type": "string",
      "description": "Musical style(s), comma-separated: Orchestral, Celtic, Folk, Medieval, Metal…"
    },
    "era": {
      "type": "string",
      "description": "Era token(s), comma-separated."
    },
    "keyword": {
      "type": "string",
      "description": "Keyword(s), comma-separated, any of them."
    },
    "composer": {
      "type": "string",
      "description": "Composer id or slug."
    },
    "album": {
      "type": "string",
      "description": "Album id or slug."
    },
    "q": {
      "type": "string",
      "description": "Text search in title, description, keywords."
    },
    "duration_min": {
      "type": "number",
      "description": "Minimum duration, seconds."
    },
    "duration_max": {
      "type": "number",
      "description": "Maximum duration, seconds."
    },
    "sort": {
      "type": "string",
      "enum": [
        "newest",
        "oldest",
        "title",
        "duration",
        "random"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "offset": {
      "type": "integer",
      "minimum": 0
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪random_track(type, genre, mood, era, keyword, ...)

One published track at random among those matching the filters.

입력 스키마

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "description": "Audio type(s), comma-separated: music, ambience, sfx…"
    },
    "genre": {
      "type": "string",
      "description": "Theme(s), comma-separated, case-insensitive: Combat, Forest, Dungeon, Taverns and Inns, Magic, Weather… (audio_taxonomy lists them)."
    },
    "mood": {
      "type": "string",
      "description": "Musical style(s), comma-separated: Orchestral, Celtic, Folk, Medieval, Metal…"
    },
    "era": {
      "type": "string",
      "description": "Era token(s), comma-separated."
    },
    "keyword": {
      "type": "string",
      "description": "Keyword(s), comma-separated, any of them."
    },
    "composer": {
      "type": "string",
      "description": "Composer id or slug."
    },
    "album": {
      "type": "string",
      "description": "Album id or slug."
    },
    "q": {
      "type": "string",
      "description": "Text search in title, description, keywords."
    },
    "duration_min": {
      "type": "number",
      "description": "Minimum duration, seconds."
    },
    "duration_max": {
      "type": "number",
      "description": "Maximum duration, seconds."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_track(id)

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

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_composers

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

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_albums(limit, offset)

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

입력 스키마

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    },
    "offset": {
      "type": "integer",
      "minimum": 0
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪audio_taxonomy

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

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 12개
검증됨버전이 기록되지 않음도구 12개