MCP server for AI-assisted Minecraft modding: inspect decompiled source, resolve Mojang/Yarn/Intermediary mappings, diff versions, analyze Fabric/Forge/NeoForge mod JARs, and validate Mixin, Access Widener, and Access Transformer files.
This server defines 41 tools across Minecraft modding domains. Most tools have descriptions present and reasonable naming conventions, but critical gaps exist: (1) input schemas are visible for only ~12 tools in the provided source (list-versions, resolve-artifact shown with schema; most others lack visible schema definitions); (2) parameter descriptions are inconsistently documented, many tools reference 'expected-tools.ts' or 'tool-guidance.ts' but actual schema details are not in the provided code snippet; (3) error handling and recovery guidance are minimally documented; (4) output schemas are not explicitly documented in the visible code; (5) several tools combine multiple related operations (e.g. 'analyze-mod' includes decompile + search + remap preview), suggesting potential composition issues. Tool naming follows verb_noun patterns (inspect-, analyze-, compare-, validate-, manage-, list-, resolve-, find-, get-, search-, trace-, diff-, batch-) which is good, but 6 tools use 'batch-' prefix for batch variants, indicating inconsistent composition design. The server appears well-engineered (TypeScript, Zod validation mentioned, comprehensive test suite), but the rubric requires VISIBLE schema and parameter documentation in source code to award high scores. Based on what's verifiable in the provided snippet, definition quality is moderate-to-good: naming is solid, descriptions exist but vary in depth, and schemas are largely absent from the visible code.
Summarize mod metadata, decompile and search mod code, inspect class source, read class members from bytecode, and preview or apply remaps
Extract mod metadata, dependencies, entrypoints, mixin config info, and packaged access transformer paths from a JAR
Handle symbol existence checks, namespace mapping, lifecycle tracing, workspace symbol resolution, and API overviews
List members for many classes against one shared resolved artifact (1..50 entries per call)
Read source for many classes against one shared resolved artifact (1..50 entries per call)
Translate many symbols across mapping namespaces with one shared Minecraft version (no shared artifact)
Input schemas not visible in provided source code for 39 of 41 tools. Only list-versions and resolve-artifact show explicit schema definitions. Most tools reference external files (expected-tools.ts, tool-guidance.ts) that are not included in the evaluation snippet.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 43 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 20 | - | v1 |
Probe symbol existence for many entries against one shared Minecraft-version artifact (workspace / version targets only)
Check whether a class, field, or method exists in a namespace
Compare version pairs, class diffs, registry diffs, and migration-oriented summaries
Compare class and registry changes between two versions
Decompile a mod JAR and optionally return one class source
Compare one class across two versions and return member deltas
Find simple or fully-qualified class names, including classes bundled in nested JARs
Look up mapping candidates for class, field, or method symbols
Read a full source file with a byte limit
Show one class API across `obfuscated`, `mojang`, `intermediary`, and `yarn`
List constructors, fields, and methods from bytecode
Read class source from an artifact or resolve the backing artifact on demand
Read one class source from the decompiled mod cache
Read generated registry snapshots and optionally include entry data
Inspect runtime metrics and latency snapshots
Rebuild indexed metadata for an existing artifact
Inspect versions, artifacts, classes, files, source text, and workspace-aware lookup flows
Encode typed JSON back to Java Edition NBT binary
List indexed source file paths with cursor pagination
List available Minecraft versions from Mojang metadata and local cache
List, verify, and preview or apply cache cleanup and rebuild operations
Apply RFC 6902 patches to typed NBT JSON
Decode Java Edition NBT binary payloads into typed JSON
Remap a Fabric or Quilt mod JAR to `yarn` or `mojang` names
Resolve source artifacts from versions, JAR paths, or Maven coordinates
Strict shortcut for `find-mapping` (kind=method, signatureMode=exact); requires the full owner+name+descriptor triple
Resolve compile-visible symbol names from a Gradle workspace
Search indexed class source by symbol, text, or path
Search decompiled mod source by class, method, field, or content
Trace when `Class.method` exists across Minecraft versions
Validate Access Transformer content against a target Minecraft version, optionally using Forge/NeoForge runtime artifacts
Validate Access Widener content against a target Minecraft version, optionally using runtime-aware Loom artifacts
Validate Mixin source against a target Minecraft version (returns `validationStatus: "partial"` with `targetOutcomes` when a stage budget defers work)
Summarize workspaces and run direct Mixin, Access Widener, or Access Transformer validation
Single-call probe for owner / member existence with `@Shadow` / `@Accessor` / `@Invoker` advice
Parameter descriptions are inconsistently documented. resolve-artifact includes inline parameter guidance, but most tools have no visible parameter-level descriptions in the provided snippet, only tool-level descriptions.
Tool composition issues: analyze-mod combines decompilation + code search + source inspection + bytecode reading + remap preview in one tool. This violates single-responsibility principle. Should split into separate tools (decompile-mod, search-mod-decompiled, get-mod-member-info, preview-mod-remap).
Output schemas are not documented in visible source code. Tools like list-versions, list-artifact-files, batch-class-source mention cursor pagination but the actual response structure (field names, types) is not explicitly defined in the provided snippet.
Error handling and recovery guidance are minimally documented. Descriptions do not explain what to do when a lookup fails, a class is not found, or validation fails. E.g., 'find-class' has no guidance on what happens when a class is not found or how to search if the FQN is unknown.
Batch tool variants (batch-class-source, batch-class-members, batch-symbol-exists, batch-mappings) suggest good composition intent, but no guidance on when to use batch vs. single-item tools or limits (mentioned '1..50 entries per call' only in descriptions, not in schema constraints).