MCP 서버

FFT Companion

app.fftcompanion/fft-companion
게임 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

Provides searchable and comparable data for Final Fantasy Tactics releases, including jobs, monsters, equipment, abilities, locations, and item sources.

compare_versions
Diff a record across releases
Compares the same entity across psx, wotl and ic and reports exactly which fields changed. Answers questions like "was this weapon nerfed in War of the Lions?" or "did Ivalice Chronicles lift the female-only restriction?" that otherwise require holding three datasets side by side. Free while this deployment runs unmetered.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind', 'id'], 'properties': {'id': {'type': 'string', 'description': 'Entity id, present in at least one version.'}, 'kind': {'enum': ['equipment', 'abilities', 'jobs', 'monsters', 'bosses', 'locations', 'consumables'], 'type': 'string'}, 'versions': {'type': 'array', 'items': {'enum': ['psx', 'wotl', 'ic'], 'type': 'string', 'description': 'Which release to read. psx = original PlayStation, wotl = War of the Lions, ic = The Ivalice Chronicles. Data differs meaningfully between them.'}, 'default': ['psx', 'wotl', 'ic'], 'minItems': 2, 'description': 'Which releases to compare.'}}}
find_item_sources
Find where an item comes from
Reverse lookup: every way to obtain a piece of equipment or a consumable — which outfitter unlocks it and after which battle, which monsters poach into it, and which treasure tiles hold it. This is indexed backwards from the game data and is not readable from the item record alone. Free while this deployment runs unmetered.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['version', 'itemId'], 'properties': {'itemId': {'type': 'string', 'description': "Equipment or consumable id, e.g. 'excalibur'."}, 'version': {'enum': ['psx', 'wotl', 'ic'], 'type': 'string', 'description': 'Which release to read. psx = original PlayStation, wotl = War of the Lions, ic = The Ivalice Chronicles. Data differs meaningfully between them.'}}}
get_job
Get a job with abilities and equipment access
Full job record: raw stat multipliers and growth, static move/jump/evasion, the complete learnable ability set with JP costs, and which equipment types the job can equip. Also returns the version's stat ceilings for normalization. Free while this deployment runs unmetered.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['version', 'jobId'], 'properties': {'lang': {'enum': ['en', 'ja', 'pt', 'ko', 'es', 'fr', 'de', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en'}, 'jobId': {'type': 'string', 'description': "Job id, e.g. 'ninja', 'calculator', 'darkKnight'."}, 'version': {'enum': ['psx', 'wotl', 'ic'], 'type': 'string', 'description': 'Which release to read. psx = original PlayStation, wotl = War of the Lions, ic = The Ivalice Chronicles. Data differs meaningfully between them.'}}}
get_monster
Get a monster with poach table and spawn locations
Full monster record: stat multipliers and growth by rank, poach drops (common and rare), ability set, and the random-battle locations it appears in per chapter — including which map you must travel from. Free while this deployment runs unmetered.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['version', 'monsterId'], 'properties': {'lang': {'enum': ['en', 'ja', 'pt', 'ko', 'es', 'fr', 'de', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en'}, 'version': {'enum': ['psx', 'wotl', 'ic'], 'type': 'string', 'description': 'Which release to read. psx = original PlayStation, wotl = War of the Lions, ic = The Ivalice Chronicles. Data differs meaningfully between them.'}, 'monsterId': {'type': 'string', 'description': "Monster id, e.g. 'behemoth', 'redPanther'."}}}
get_records
Get full records by id
Returns complete records for up to 25 ids of one entity kind, including stats, costs, effects and availability with all cross-references resolved to names. Free while this deployment runs unmetered.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['version', 'kind', 'ids'], 'properties': {'ids': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 25, 'minItems': 1, 'description': 'Entity ids from search.'}, 'kind': {'enum': ['equipment', 'abilities', 'jobs', 'monsters', 'bosses', 'locations', 'consumables'], 'type': 'string'}, 'lang': {'enum': ['en', 'ja', 'pt', 'ko', 'es', 'fr', 'de', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en'}, 'version': {'enum': ['psx', 'wotl', 'ic'], 'type': 'string', 'description': 'Which release to read. psx = original PlayStation, wotl = War of the Lions, ic = The Ivalice Chronicles. Data differs meaningfully between them.'}}}
list_versions
List game versions
Lists the three Final Fantasy Tactics releases covered by this server and how many records exist per entity kind in each. Call this first to pick a version.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
query_equipment
Query equipment with filters
Filters and sorts the equipment table — by category, weapon/armor type, cost, and stat thresholds. Use this instead of paging through get_records when shopping for "best X under Y gil". Free while this deployment runs unmetered.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['version'], 'properties': {'lang': {'enum': ['en', 'ja', 'pt', 'ko', 'es', 'fr', 'de', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'sortBy': {'type': 'string', 'description': 'Stat name to sort by, descending. Falls back to cost.'}, 'maxCost': {'type': 'number', 'description': 'Maximum shop cost in gil.'}, 'minStat': {'type': 'object', 'description': 'Minimum values per stat, e.g. { weaponPower: 10, magicAttack: 2 }.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'number'}}, 'version': {'enum': ['psx', 'wotl', 'ic'], 'type': 'string', 'description': 'Which release to read. psx = original PlayStation, wotl = War of the Lions, ic = The Ivalice Chronicles. Data differs meaningfully between them.'}, 'category': {'enum': ['weapon', 'bodyArmor', 'shield', 'headgear', 'accessory'], 'type': 'string'}, 'subCategory': {'type': 'string', 'description': "Narrower type, e.g. 'katana', 'robe', 'hat'."}}}
search
Search the catalog
Finds entities by name or id across equipment, abilities, jobs, monsters, bosses, locations and consumables. Returns ids and display names only — use get_records or a specific data tool to retrieve the actual data. Matches English, Japanese, Portuguese, Korean, Spanish, French and German names, and is punctuation-insensitive.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['version', 'query'], 'properties': {'lang': {'enum': ['en', 'ja', 'pt', 'ko', 'es', 'fr', 'de', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en'}, 'kinds': {'type': 'array', 'items': {'enum': ['equipment', 'abilities', 'jobs', 'monsters', 'bosses', 'locations', 'consumables'], 'type': 'string'}, 'description': 'Restrict to these entity kinds.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'minLength': 1, 'description': "Name or id fragment, e.g. 'excalibur', 'battle axe', 'ã\x83\x99ã\x83\x92ã\x83¼ã\x83¢ã\x82¹'."}, 'version': {'enum': ['psx', 'wotl', 'ic'], 'type': 'string', 'description': 'Which release to read. psx = original PlayStation, wotl = War of the Lions, ic = The Ivalice Chronicles. Data differs meaningfully between them.'}}}
추가됨
compare_versions
2026년 9월 17일 7:57 AM
추가됨
get_monster
2026년 9월 17일 7:57 AM
추가됨
get_job
2026년 9월 17일 7:57 AM
추가됨
find_item_sources
2026년 9월 17일 7:57 AM
추가됨
query_equipment
2026년 9월 17일 7:57 AM
추가됨
get_records
2026년 9월 17일 7:57 AM
추가됨
search
2026년 9월 17일 7:57 AM
추가됨
list_versions
2026년 9월 17일 7:57 AM