MCP server for generating Minecraft structures from natural language using Claude
Two tools with decent naming but significant gaps in descriptions and schemas. Both tools have descriptions, but they are verbose and include problematic example values. Schemas are present but incomplete, parameters lack consistent type definitions and validation constraints. No error handling guidance, no input validation examples, and descriptions include Windows-specific paths that LLMs may reuse literally. The server is Windows-specific (hardcoded paths, Explorer integration) which limits portability.
Creates a Minecraft structure file (.schem) from a JSON structure definition. The JSON should define a 3D structure using blocks with coordinates. Each block has: - x, y, z: Integer coordinates (relative to origin, starting from 0) - block_type: Minecraft block ID (e.g., "stone", "oak_planks", "minecraft:glass") Example structure: { "name": "simple_tower", "description": "A small stone tower", "blocks": [ {"x": 0, "y": 0, "z": 0, "block_type": "stone"}, {"x": 1, "y": 0, "z": 0, "block_type": "stone"}, {"x": 0, "y": 1, "z": 0, "block_type": "stone"}, {"x": 1, "y": 1, "z": 0, "block_type": "stone"} ] } The structure will be saved as a .schem file that can be imported into Minecraft using WorldEdit or similar tools. IMPORTANT: - For small/medium structures (< 300 blocks): provide the JSON directly in structure_json - For large structures (300-800 blocks): try structure_json first, if it gets truncated, create the JSON file and use json_file_path - For very large structures (800+ blocks): the JSON might be too large for any method. Consider breaking into smaller pieces or simplifying. PATH REQUIREMENTS: - json_file_path must be a Windows path (e.g., C:\Users\josh\Desktop\file.json) - If you create files in your workspace, ask the user to download the JSON and tell you where they saved it - Before calling this tool, ask the user where they would like to save the .schem file.
Opens a folder in Windows Explorer, optionally selecting a specific file. Use this after creating a Minecraft structure to help the user find the file easily.
Descriptions exceed 1,024 character baseline and include problematic example values (Windows paths, specific block types) that LLMs may reuse literally rather than adapt to context
No output schemas documented for either tool. LLMs cannot determine what fields to expect or plan downstream tool calls. create_minecraft_structure returns unknown; open_folder_in_explorer returns unknown.
Mutually exclusive parameters (structure_json vs json_file_path in create_minecraft_structure) documented only in description, not enforced in schema. LLMs may pass both, causing ambiguous behavior.
No error handling guidance. If output_directory doesn't exist, json_file_path is invalid, or structure_json is malformed, the LLM receives a raw exception with no recovery hint. No categorization of retryable vs fatal errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Parameter descriptions lack validation constraints. No mention of required path formats (absolute vs relative), file extensions (.json, .schem), character limits, or directory existence requirements. Schema should include minLength, maxLength, pattern constraints where applicable.
Tool designed around Windows paths and Windows Explorer only. Hard-coded references to 'Desktop', 'Explorer', Windows path separators limit portability. No guidance on cross-platform use or fallback for non-Windows systems.
No input validation examples in code. The create_minecraft_structure handler receives structure_data but no schema validation against MinecraftStructure until after file read (per schema.py import). Invalid JSON in structure_json or json_file_path will produce opaque errors.