MCP server for Final Fantasy XIV data queries, integrating NetStone library for character/world information, collectibles, housing, linkshells, and free companies
NetStoneMCP presents a domain-specific FFXIV data aggregation server with 35 tools covering character lookup, collectibles, housing, and game metadata. Strengths: consistent verb-based naming (get_*, search_*), all tools have descriptions (10 - 200 chars), and input schemas are visible with type declarations. Weaknesses: parameter descriptions lack specificity (e.g., 'world' param descriptions do not clarify required format, default datacenter logic, or valid values); output schemas are not formally documented in the source; error handling is absent from visible code; several tools lack validation guidance or dependency hints. Descriptions are adequate but brief (averaging ~120 chars), falling below the 194-char baseline for A-tier tools. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being read-only. Tool composition is sound (each tool has one responsibility), but some tools could be better consolidated (e.g., get_huiji_wiki_summary + get_huiji_wiki_page_section could offer a unified query interface with optional depth parameter). Response structure is inferred from return type hints (e.g., `CharacterDto`, `CollectItemDto`) but not explicitly documented in descriptions.
Retrieve current and upcoming Final Fantasy XIV maintenance events (start time, end time, description).
Retrieves detailed information for a specific Final Fantasy XIV (FFXIV) Lodestone news post by its ID.
Retrieves the latest 'Topics' articles and news from the Final Fantasy XIV (FFXIV) Lodestone website.
Get total mount count of an FFXIV character by character name and world/server.
Get FFXIV Cross-World Linkshell (CWLS) profile and member list by CWLS name and data center.
Get all FFXIV Data Centers (e.g. Elemental, Gaia, Mana, Meteor, Aether, Crystal, Primal, Chaos, Light, Materia).
Parameter descriptions lack specificity and validation constraints. The 'world' parameter appears in 8+ tools but descriptions do not clarify the required format (exact spelling, case sensitivity), whether it is required or optional (metadata shows 'required=false' but does not explain default behavior), or provide enumeration of valid world names. This forces LLMs to guess and risks invalid queries.
Output schemas are not formally documented in tool descriptions or visible as JSON Schema definitions. Return types are inferred from method signatures (e.g., 'CharacterDto?', 'IEnumerable<CollectItemDto>?') but LLMs cannot see the field structure, types, or presence of nested objects. This prevents LLMs from planning downstream calls and extracting required IDs (e.g., does get_fc_information return a 'fc_id' field for use with get_fc_members?).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 72 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 32 | - | v1 |
Get FFXIV Free Company (FC) summary information by company name and world/server.
Get members of an FFXIV Free Company (FC) by company name and world/server.
Search for FFXIV achievement details, points, descriptions, and unlock rewards (such as titles, mounts, or items).
Search for FFXIV chocobo barding information including acquisition sources, patch, and tradeability.
Search for FFXIV Blue Mage (BLU) spell information including where/how to learn it (monster, duty, Masked Carnivale), type, aspect, and effect description.
Retrieves the current character creation availability (open/closed) for each World on the Final Fantasy XIV Traditional Chinese servers, and returns a concise summary of the latest status.
Search for FFXIV emote/expression information including unlock command (/emote), acquisition sources, patch, and tradeability. Query can be in English or Japanese.
Search for FFXIV fashion accessories (wings, glasses, parasols/umbrellas, backpacks) including acquisition sources, patch, and tradeability.
Search for FFXIV hairstyle (Modern Aesthetics) information including acquisition sources (e.g. Island Sanctuary, MGP, PvP, Bozja), patch, and tradeability.
取得 Final Fantasy XIV (FFXIV/FF14) 社群繁體/簡體中文化漢化補丁 (Chinese Localization Text Patch) 的最新版本資訊與 GitHub 下載連結。當使用者詢問「最新的漢化」、「FFXIV漢化」、「FF14漢化」、「漢化」、「漢化包」、「中文化補丁」、「繁中補丁」時,必須調用此工具。
Fetch the latest available version numbers for FFXIV game and expansions (boot, game, ex1~ex5).
Search for FFXIV minion information including acquisition sources (how and where to obtain it), patch, description, and tradeability. Query can be in English or Japanese.
Search for FFXIV mount information including acquisition sources (how to get it), seats, patch, description, and tradeability. Query can be in English or Japanese.
Search for FFXIV orchestrion roll (music sheet) information including roll number, category, and acquisition sources (e.g. FATE, Raid, Crafting, Store).
Get purchasable housing plot information for a specific FFXIV world / server (e.g. Tonberry, Bahamut). Returns plot area, district, size, price, and lottery entries.
取得灰機Wiki (Huiji Wiki / 灰机Wiki) 頁面的特定章節完整內容。當摘要資訊不足、或需要詳細攻略、副本機制解說、背景設定長文、掉落列表時使用。
取得灰機Wiki (Huiji Wiki / 灰机Wiki) 上特定條目的簡介與摘要。當需要快速了解某個 FFXIV 人物、組織、任務、機制概要時使用。
Search for FFXIV items by name using XIVAPI to find item IDs and English names.
Retrieve all crafting recipes that produce the specified FFXIV item via XIVAPI v2 (returns recipe name, required job level, and ingredients).
Get FFXIV Linkshell (LS) profile and member list by linkshell name and server / data center.
Get all class and job levels of an FFXIV character by character name and world/server.
Get FFXIV character profile details (level, avatar, grand company, free company, bio) by character name and world/server.
Get all product categories available in the FFXIV Online Store.
Get newly released items and products in the FFXIV Online Store.
Get items and products currently on discount/sale in the FFXIV Online Store.
Get FFXIV Online Store products under a specific category (e.g. 'Mounts', 'Minions', 'Costumes').
Get all FFXIV Worlds (servers) and their associated Data Centers.
Search across any collectible category in FFXIV (mounts, minions, emotes, hairstyles, orchestrions, spells, bardings, fashions).
搜尋最終幻想14 (FFXIV) 灰機Wiki (Huiji Wiki / 灰机Wiki) 資料庫。當使用者說『用灰機查』、『查灰機』、『灰機』,或需要查詢 FF14 的世界觀背景、任務劇情、副本攻略、機制、NPC、技能、中英文譯名時調用此工具。支援繁體與簡體中文。Search the Chinese FFXIV database.
No error handling guidance in visible code or tool descriptions. Tool descriptions do not explain what happens on failure (e.g., character not found, world invalid, API timeout), what the LLM should do next, or whether the operation is retryable. For example, get_player_info returns null on failure but does not suggest calling search_users or checking the world name first.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present, despite all tools being read-only query operations. This prevents hosted clients from applying safety optimizations, caching, or instrumentation based on tool semantics.
Descriptions for discovery/enumeration tools (get_data_center, get_world, ffxiv_get_topics, get_store_categories) lack context on when to use them vs. similar tools, or what downstream actions they enable. For example, get_world description does not explain whether the LLM should call it before get_player_info, or whether world names are included in other tool outputs.
Parameter dependency relationships not documented. For example, get_house_information accepts optional 'dataCenter' and 'world' parameters, but descriptions do not clarify: (1) whether both are needed, (2) which takes precedence, (3) what the default behavior is if both are omitted, (4) whether 'dataCenter' is only valid for certain server regions. This forces LLMs to trial-and-error.
Chinese-language tool names and descriptions (get_ffxiv_latest_chn_text_patch, get_ffxiv_cht_lock_server) break LLM parsing conventions if the MCP client does not support UTF-8 normalization or locale-aware tool selection. Tool names should be ASCII-safe and locale-agnostic; descriptive text can include non-Latin characters but tool identifiers should follow verb_noun_object_english pattern.
Pagination is not mentioned in tool descriptions. Tools returning lists (search_ffxiv_collectable, get_fc_members, ffxiv_get_topics, search_huiji_wiki) do not document pagination support, limits, or result cardinality. If an LLM searches for a common item or queries a large wiki, will it receive 10 results, 100, or 10,000? This risks context window exhaustion.