MCP server providing Minecraft Wiki content access tools with support for searching, fetching, and batch retrieving wiki pages in multiple formats
This server provides 5 tools for Minecraft Wiki access. While all tools have descriptions and visible input schemas, there are significant quality gaps: (1) Tool names lack clear action verbs and are inconsistent in style (search_wiki vs check_wiki_page_exists); (2) Descriptions are present but minimal (avg ~40 chars), offering limited guidance on WHEN to use each tool or HOW they compose; (3) Input schemas are visible with basic type information, but parameter descriptions are terse and lack constraint documentation; (4) Output schemas are not documented in the code, responses are inferred from API calls but not formally specified; (5) Error handling is present but generic, errors are caught and logged but responses lack actionable recovery guidance; (6) The batch tool (get_wiki_pages_batch) is valuable but lacks clear documentation on pagination limits and retry behavior. This is a typical community-grade server with functional tools but insufficient LLM-facing documentation.
检查 Minecraft Wiki API 的健康状态和可用性
检查指定页面是否存在于 Minecraft Wiki 中
获取指定页面的完整内容
批量获取多个页面内容
搜索 Minecraft Wiki 内容
Output schemas not documented. Tool functions return JSON objects (dicts) but the response structure is not formally declared in docstrings or schema files. LLMs cannot plan downstream tool calls without knowing which fields are returned (e.g., does search_wiki return page_id, page_name, or url?)
Enum constraints not enforced for bounded parameters. The 'format' parameter in search_wiki and get_wiki_page accepts free-form strings but should declare valid values (wikitext, html, markdown, both, json). Without enums, LLMs hallucinate invalid values.
Batch tool lacks constraint documentation. get_wiki_pages_batch has a hardcoded MAX_BATCH_SIZE of 20 (in config.json) but the schema does not declare min/max for the pages array. LLMs may attempt to batch 500 pages, expecting it to work.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 47 | <=2025-11-25 | v2 |
Error handling lacks recovery guidance. Exception blocks catch errors and log them, but responses do not tell the LLM what to do next (e.g., 'API timeout after 3 retries, try again in 30 seconds' vs 'search failed').
Tool descriptions are too brief and lack WHEN/WHY guidance. Descriptions average ~40 chars and do not explain the relationship between tools (e.g., 'Call search_wiki first to find pages, then get_wiki_page for full content'). LLMs cannot compose them optimally.
Inconsistent naming convention. Tools mix styles: 'search_wiki' (verb_underscore_noun) vs 'check_wiki_page_exists' (verb_underscore_noun_exists). LLMs rely on consistent naming to parse intent. Consider standardizing to get_, search_, list_, check_ prefixes.
No pagination documentation for search results. search_wiki accepts a 'limit' parameter and returns 'pagination' metadata, but the tool description does not explain how to fetch subsequent pages (offset? cursor? next_token?).