An MCP server that allows you to explore and decompile Minecraft source code, specifically targeting versions released with unobfuscated mappings (e.g., experimental snapshots like 1.21.11_unobfuscated or 25w45a_unobfuscated).
- List Versions: See available Minecraft versions, including special "unobfuscated" releases.
- Search Classes: Find class files within a specific version's JAR.
- Decompile: Decompile
.classfiles on-the-fly using Vineflower (WASM) to view readable Java source code. - Caching: Efficiently caches downloaded JARs and open ZIP file handles for performance.
Lists available Minecraft versions.
type: Filter byrelease,snapshot, orunobfuscated(recommended).limit: Number of versions to return.
Searches for a class in a specific version.
version: The version ID (e.g.,1.21.11_unobfuscated).query: The class name to search for (e.g.,SharedConstants).
Decompiles a specific class.
version: The version ID.className: The full path to the class (e.g.,net/minecraft/SharedConstants).
npm install
npm run buildConfigure your MCP client to run:
{
"mcpServers": {
"mcsrc": {
"command": "node",
"args": ["/path/to/mcsrc-mcp/dist/index.js"]
}
}
}If your IDE is running on Windows and cannot directly spawn the WSL process, you can run the server in HTTP mode.
-
Start the server in WSL:
npm run start:http
This will start an HTTP server on port 3000 (accessible as
localhost:3000from Windows). -
Configure your MCP Client: Point your client to the Streamable HTTP endpoint:
- URL:
http://localhost:3000/mcp
(No arguments needed for the client configuration, just the URL).
- URL: