MCP server for accessing Genshin Impact Starcraft tutorials and node graph documentation from mihoyo.com
This server has fundamental quality gaps that limit agent usability. All 4 tools are defined with descriptions and basic schemas, but there are critical deficiencies: (1) Tool descriptions are generic and lack actionable context for LLM selection, they read like API docs rather than agent guidance; (2) Parameter descriptions are verbose and include implementation details but lack constraints (enums, formats, ranges) that would guide LLM input; (3) No output schemas are documented, agents cannot see what fields to expect from responses; (4) No error handling guidance, tools return raw errors without recovery suggestions; (5) Tool names use 'get_' prefix consistently, which is good, but descriptions do not explain WHEN to call each tool vs alternatives; (6) Parameter naming is inconsistent and domain-specific (client_type/node_type with Chinese-language enum values) without clear validation; (7) No pagination or result limiting is documented, despite tools likely returning variable result sets.
根据导航目录中的ID获取具体的教程内容,包括节点功能说明、参数表格、使用方法、配置说明等详细信息。
获取原神千星奇域综合指南网站的完整导航目录,返回所有可用的教程分类和章节链接列表。
获取指定节点的详细信息,包括参数表格、输入输出说明、使用示例等。会利用get_node_graphs工具的缓存数据提高效率。
获取指定类型的千星奇域节点图列表,返回该类型下所有可用的节点名称和功能描述。结果会被缓存以提高查询效率。
No output schemas documented. All tools return text via mcp.NewToolResultText(), but agents cannot see the structure of returned data (fields, types, pagination). This forces agents to parse unstructured text and prevents chaining tool outputs as inputs to other tools.
Parameter values are unconstrained strings. 'client_type' accepts '客户端节点' or '服务器节点' (Chinese literals), and 'node_type' has 5 options per client type, but these are described as plain text, not enums. LLMs will hallucinate invalid values and cause silent failures.
Tool descriptions lack selection context. All 4 descriptions state WHAT the tool does but not WHEN to use it. E.g., get_navigation and get_guide both fetch content, when should an agent call one vs the other? Descriptions do not disambiguate. This violates the 'selection heuristic' requirement from the tool-description pattern.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 44 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 45 | - | v1 |
Error handling returns raw errors without recovery guidance. Example: 'handleGetNavigation' returns 'mcp.NewToolResultError(fmt.Sprintf("获取导航失败: %v", err))', a bare error message with no suggestion of what to retry or whether the operation is retryable. Agents cannot act on this.
Parameter descriptions are verbose but lack formal constraints. E.g., 'node_type' description lists 10 options inline as text: '客户端节点可选:查询节点/运算节点/执行节点/流程控制节点/其它节点;服务器节点可选:执行节点/事件节点/流程控制节点/查询节点/运算节点'. This should be a constrained enum per client_type, not free text. Inline lists invite parsing errors.
Tool descriptions are 60-120 characters (below the 10-1024 range baseline). While not critically short, they provide minimal context: 'get_navigation' is 38 chars (just what it does), 'get_guide' is 60 chars (no mention of prerequisites like needing an ID from get_navigation). Descriptions should explain dependencies and selection heuristics.
No pagination or result limiting documented. Tools like get_navigation and get_node_graphs likely return variable result sets, but no page/offset/limit parameters are exposed, and no max result count is stated in descriptions. This invites context window exhaustion.
Parameter dependencies undocumented. 'get_node_graph_details' requires all three of client_type, node_type, and node_name, and node_type options depend on client_type value. This conditional logic is not stated in parameter descriptions, agents may pass invalid combinations.