Model Context Protocol server for Minecraft diagnostics across backup, local runtime, and Docker runtime environments.
24 tools with mixed quality. Strengths: comprehensive tool coverage, detailed descriptions for rcon tool (1200+ chars with best practices), clear naming conventions (verb_noun pattern). Weaknesses: 23 of 24 tools lack visible input schemas in source code; parameter descriptions are present but schemas not explicitly defined; no output schemas documented; error handling guidance minimal; no tool annotations (readOnlyHint/destructiveHint). The rcon tool is exceptionally well-documented with usage patterns, but most diagnostic tools have generic descriptions (50-150 chars) without actionable error recovery guidance. Composition is sound, tools are single-responsibility and chainable.
Analyze plugin dependency relationships and missing dependency paths.
Analyze runtime and historical performance-related signals.
Analyze recent Docker log lines for startup and plugin issues.
Apply allowlisted safe remediation actions to server configuration files.
Check if the Minecraft server is running and responsive.
Return raw log records for precise forensic analysis with source and time filters.
Get an aggregated read-only snapshot of server health and diagnostics.
Input schemas not visible in source code for 23 of 24 tools. While parameter names and descriptions exist in function signatures, explicit JSON Schema definitions with type constraints are not shown. This prevents LLMs from understanding valid value ranges, enums, and required vs optional parameters.
No output schemas documented for any tool. LLMs cannot predict response structure, field names, or types. This forces agents to parse responses blindly and risks misinterpreting results.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present. The rcon and apply_remediation tools are destructive but lack explicit annotations. Agents cannot distinguish safe read-only tools from dangerous write operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Get help for Minecraft commands.
Group relevant records around an incident timestamp, including player commands and recovery events.
Inspect a single plugin by name.
Lint the server's core configuration files.
List all 'Can't keep up!' lag events for a selected source and date.
List currently enabled alerting and integration sinks.
List available log sources and their inferred time ranges without mixing files implicitly.
List player commands in an explicit interval or in the minutes before an incident timestamp.
List all currently connected players on the Minecraft server.
List plugins found in the configured plugins directory.
List plugin names that appear in stacktraces for the selected logs.
List watchdog-related dumps and keep long stacktraces available when requested.
Build a remediation plan for safe automatic fixes and manual follow-ups.
Issue commands to the Minecraft server via RCON. Best practices and common patterns include: ## Player Location & Building 1. ALWAYS get player coordinates first before building: - `data get entity player_name Pos` - This returns coordinates in format: [X.XXd, Y.XXd, Z.XXd] - Store these coordinates and use them as the base for building 2. Building Commands: - Direct placement: `setblock x y z block_type` - Fill command: `fill x1 y1 z1 x2 y2 z2 block_type [replace|keep|outline|hollow]` - Clone command: `clone x1 y1 z1 x2 y2 z2 dest_x dest_y dest_z` 3. Entity Commands: - Summon entities: `summon <entity> <x> <y> <z>` - Teleport entities: `tp @e[type=<type>] <x> <y> <z>` - Execute as entities: `execute as @e[type=<type>] at @s run <command>` 4. View/Perspective Commands: - Teleport to location: `tp @p x y z` - Spectate entity: `spectate <target> [player]` - Execute from position: `execute positioned x y z run <command>` ## Common Command Patterns Item Commands: - give rgbkrk coal 12 - give rgbkrk iron_axe[enchantments={levels:{"minecraft:sharpness":5,"minecraft:efficiency":5,"minecraft:fortune":5}}] 1 - give @a iron_pickaxe[unbreakable={}] Effect Commands: - effect give @a speed 300 2 - effect give LoganTheParrot minecraft:night_vision 1000 1 - effect give rgbkrk water_breathing infinite 1 true Potion Commands: - Basic item: give rgbkrk potion[minecraft:potion_contents={potion:"minecraft:fire_resistance"}] - Multiple items: give rgbkrk potion[minecraft:potion_contents={potion:"minecraft:strength"}] 5 - Splash/lingering variants: give rgbkrk splash_potion[minecraft:potion_contents={potion:"minecraft:poison"}] ## Targeting Players - Use `@a` for all players - Use a player name to target a specific player (e.g. rgbkrk) - Can get specific player coordinates: `data get entity player_name Pos` - Position returns format: [X.XXd, Y.XXd, Z.XXd] ## Block Placement Best Practices 1. Get player coordinates first 2. Calculate relative positions from stored coordinates 3. Build structures using absolute coordinates 4. Test for block type existence before using (some modded blocks may not exist) ## Block States - Use square brackets for block states: `block_type[property=value]` - Example: `lantern[hanging=true]` - Multiple properties use comma separation ## Relative vs Absolute Coordinates - Absolute: Uses exact coordinates (x y z) - Relative to player: Uses tilde notation (~) - `~` means current position - `~1` means one block offset - `~-1` means one block negative offset ## Common Gotchas - NEVER build large structures relative to the player's current position. GET the location needed first. - RCON needs player context for certain commands like `locate` - Block placement might need block states specified - Fill commands include both start and end coordinates - Coordinates are exclusive (e.g., ~0 to ~15 creates a 16-block span) - Test for block existence before using modded or unusual blocks
Search logs by text or regex across latest.log, archives, or one explicit file.
Get recent server logs.
Get server statistics including CPU, memory usage, and uptime.
Error handling lacks recovery guidance. Most tools return generic error messages without actionable next steps. E.g., 'Error getting server stats' does not tell the agent whether to retry, check configuration, or call a different tool.
Sensitive parameter 'default_rcon_password' exposed in plan_remediation and apply_remediation tool parameters. Credentials should never appear as tool parameters, use server-side secret injection via environment variables.