mc-mod-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mc-mod-mcpShow me a @ModifyVariable mixin example"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mc-mod-mcp
An MCP server that gives Claude grounded answers when you're writing Minecraft mods.
It targets the two eras of the modding scene that are actually still alive — 1.8.9 (Forge/MCP, Java 8, Hypixel-style client mods) and 1.21.10+ (NeoForge or Fabric, Java 21, Mojang-mapped, Data Components). For 1.21.x it can also do live mapping lookups against linkie and pull mappings straight from piston-meta when linkie hasn't ingested a fresh release yet.
Without this, Claude tends to mix the two eras, hallucinate new ResourceLocation(...) (gone since 1.20.5), forget that items use Data Components instead of NBT, and write ServerboundUseItemPacket without the new sequence/yaw/pitch fields. With it, the model has a fact to look up instead of a name to guess.
Install
git clone https://github.com/ratph6/mc-mod-mcp
cd mc-mod-mcp
npm install
npm run buildThen point Claude Code at the built binary:
claude mcp add mc-mod node "$PWD/dist/index.js"(or hand-edit ~/.claude/config.json if you prefer).
Usage
Just ask in plain English. Claude picks the tool. Some examples that actually exercise it:
How do I send a useItem packet in 1.21.10 Fabric?
Translate this 1.8.9 snippet to 1.21+:
Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("hi"))Scaffold a NeoForge 1.21.10 mod main class for
examplemodShow me a
@ModifyVariablemixin exampleWhat's the Yarn name for
LocalPlayerin 1.21.10?
Tools
name | what it does |
| Loaders, Java, mappings, build system, doc links for an era |
| Fully-qualified class name in 1.8.9 vs 1.21+ for a concept ( |
| Canonical snippet for a task ( |
| Given a symbol from one era, suggest the equivalent in the other |
| "What event fires when X?" — gives 1.8.9 + NeoForge + Fabric |
| Mixin pattern catalog ( |
| Era-specific pitfalls — Data Components, ResourceLocation factory, mod bus vs game bus, etc. Filterable. |
|
|
| Yarn ↔ Mojang class name translation (curated) |
| Enumerate scaffold templates |
| Emit boilerplate (mod main, item/block, command, key binding, mixin, network payload, …) |
| Doc links for an era |
| Live: every version linkie knows, per namespace |
| Live: full-text search against linkie's mappings API |
| Live: field-name lookup against linkie (the curated tables don't track fields) |
| Pulls Mojang's |
The first twelve are curated — fast, deterministic, no network. The last four hit the network on demand.
Extending
Knowledge lives in src/knowledge.ts as flat data. Add an entry to CLASSES / METHODS / EVENTS / MIXIN_PATTERNS / GOTCHAS / YARN_TO_MOJANG / GRADLE_TEMPLATES, run npm test, done. Scaffolds are template functions in the same file, listed via SCAFFOLD_KINDS.
src/
index.ts MCP server, tool definitions, stdio transport
knowledge.ts Curated data + scaffold templates
linkie.ts Live calls to linkie's mappings API
mojang.ts Live piston-meta + proguard parser
smoke.test.ts node:test smoke testsCaveats
It doesn't ship Mojang/Yarn/Parchment mapping files (multi-MB) — for raw obf names use the live tools or linkie. It won't tell you whether your specific code compiles, only that the API shape is right for the era. Translations target 1.8.9 and 1.21.10; intermediate versions usually still apply but treat them as approximate.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ratph6/mc-mod-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server