Minecraft Mods MCP
Allows managing CurseForge Minecraft instances, including listing and selecting instances, creating world-specific mod profiles, enabling/disabling mods, editing configs, diagnosing crashes, and applying profile changes before launching the game.
Click on "Deploy 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., "@Minecraft Mods MCP Use the ATM10 instance and create a world profile called LiteSky with about 80 mods."
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.
Minecraft Mods MCP
A local MCP server that lets Cursor (or any MCP client) talk to CurseForge Minecraft instances on your machine.
It can create a world profile inside a pack, pick which mods belong to that world, edit configs, diagnose crashes, and reset a world so the next launch uses those changes.
Java mods load when the game starts, not when you click a world. This server stores a profile per world and applies it to the instance on disk before you launch.
What it does
List and select CurseForge instances
Read-only system check on a new computer (
health_check)List, compare, and recommend mods (keeps required dependencies)
Create world profiles (which mods are on/off for a named world)
Apply a profile on disk before launch (enable/disable jars, patch configs)
Read and edit config files
Parse crash logs and disable likely culprits after a backup
Register a dedicated server folder for compare/diagnose
Profiles live in <instance>/.mcp/worlds/. World backups go to <instance>/.mcp/backups/. Session state (current instance, extra server paths) lives in ~/.minecraft-mcp/state.json.
Related MCP server: mc-host
Requirements
Node.js 20 or newer
CurseForge App with at least one Minecraft instance
Cursor (or another MCP client)
Install (recommended)
git clone https://github.com/bmidd0170-sys/Minecraft-MCP-.git
cd Minecraft-MCP-
npm install
npm run build
npm run self-testself-test (and the health_check tool) are read-only. They check Node, the Instances folder, that packs are readable, and whether logs exist. They do not apply profiles or change jars. If the Instances folder is missing, set CURSEFORGE_INSTANCES_DIR (see below).
On a new device, ask Cursor: “Run a system check” (it should call health_check first).
Copy mcp.config.example.json to mcp.config.json only if you want a file-based override. The env var is enough for most people.
Cursor config
Add a server to your MCP config (user-level Cursor settings, or this project’s .cursor/mcp.json). Use your paths, then reload MCP / restart Cursor.
Windows
{
"mcpServers": {
"minecraft": {
"command": "node",
"args": ["C:\\path\\to\\minecraft-mcp\\dist\\index.js"],
"env": {
"CURSEFORGE_INSTANCES_DIR": "C:\\Users\\YOURNAME\\curseforge\\minecraft\\Instances"
}
}
}
}macOS / Linux
{
"mcpServers": {
"minecraft": {
"command": "node",
"args": ["/path/to/minecraft-mcp/dist/index.js"],
"env": {
"CURSEFORGE_INSTANCES_DIR": "/Users/YOURNAME/curseforge/minecraft/Instances"
}
}
}
}Typical CurseForge instances folders:
OS | Default path |
Windows |
|
macOS |
|
Linux |
|
Configuration
Resolution order for the instances folder:
CURSEFORGE_INSTANCES_DIRenvironment variablecurseforgeInstancesDirinmcp.config.json(next to this README)~/curseforge/minecraft/Instances
Optional extra Minecraft server folders:
SERVER_PATHS— delimiter-separated absolute paths (:on macOS/Linux,;on Windows)serverPathsinmcp.config.jsonregister_serverat runtime (persisted in~/.minecraft-mcp/state.json)
Tools
Tool | Purpose |
| Read-only setup check on a new computer |
| Find and select a CurseForge pack |
| Remember a dedicated server folder |
| Inspect and slim a mod list |
| World profiles |
| Config files |
| Crashes and safe disable |
What to say in chat
New computer: “Run a system check” / “Is this MCP set up on this PC?”
Use a pack: “Use the ATM10 instance.”
Make a world with fewer mods: “Create a world called LiteSky with about 80 mods, keep Create and Mekanism, drop Twilight Forest.”
Change that world’s mods: “On LiteSky, disable the Aether and enable JEI.”
Apply before launch: “Apply the LiteSky world profile.” Then launch that CurseForge instance and open/create a world named LiteSky.
Configs: “In mekanism-common.toml set this ore setting to X and reset LiteSky.”
Crashes: “Diagnose ATM10” then “Apply the fix on LiteSky.”
Switching worlds that use different mod lists: apply the other profile, then relaunch the game.
What it will not do
Log into CurseForge
Download new mods (install those in the CurseForge app, then they show up here)
Delete
.jarfiles (it only renames them to.jar.disabled)Generate terrain offline (you create/open the world in Minecraft once)
Optional: Docker
This server speaks stdio and must read/write your instance folders. Docker is optional. Node (above) is the simpler install.
Published image (built on every push to main):
docker pull ghcr.io/bmidd0170-sys/minecraft-mcp:latestIf pull is denied, the GitHub Package may still be private: on GitHub open Packages for this repo, then set minecraft-mcp to public.
The image runs in a dedicated container named Minecraft-MCP (Docker names cannot contain spaces). Copy .env.example to .env and set your Instances path, then:
docker compose createThat creates the container without starting it. Cursor attaches with docker start -ai Minecraft-MCP. When Cursor disconnects, the container stops but stays in Docker Desktop under that name.
docker compose create
docker compose run --rm minecraft-mcp --self-testCursor config (after docker compose create):
{
"mcpServers": {
"minecraft": {
"command": "docker",
"args": ["start", "-ai", "Minecraft-MCP"]
}
}
}-i / -a are required (stdio). The instances mount must be writable.
To build locally instead of pulling:
docker compose buildAvailable Tools
21 toolsanalyze_modsB
Analyze the current instance for missing deps, duplicate jars, missing files, and incompatibilities.
Inputs: no named parameters.
apply_fixA
Disable crash-culprit mods on a world profile after backup. Optionally reset the world. Always prefer this over deleting jars.
Inputs: world (required), addonIds, resetWorld.
apply_worldA
Apply a world profile to the instance: enable/disable jars and write config patches. Do this before launching.
Inputs: world (required).
compare_modsB
Compare mod jars between two instances, or an instance and a registered/server mods folder.
Inputs: right (required), left.
create_worldB
Create a world profile inside the current instance. Optionally pick a dep-safe subset of ~N mods. Does not generate terrain; you create/open the world in-game after apply.
Inputs: name (required), drop, keep, seed, +4 more.
diagnoseA
Parse latest.log, debug.log, and recent crash reports for missing mods, mixins, and likely culprits.
Inputs: no named parameters.
edit_configA
Change a key in a config file. Worldgen/server configs backup+reset the world by default so the next launch uses the new values.
Inputs: key (required), path (required), value (required), world, +1 more.
get_instanceA
Get a summary of one CurseForge instance. Defaults to the current instance.
Inputs: name.
health_checkA
Read-only system check for a new computer: Node version, CurseForge Instances folder, readable packs, and whether diagnose logs exist. Run this first on a new device. Does not change files.
Inputs: no named parameters.
list_configsB
List config files on the current instance (and a world’s serverconfig if named).
Inputs: query, world.
list_instancesA
List CurseForge Minecraft instances on this PC (name, version, loader, mod counts).
Inputs: no named parameters.
list_logsA
List log and crash-report files on the current instance.
Inputs: no named parameters.
list_modsB
List mods (and optional resource packs) on the current instance.
Inputs: kind, query, enabledOnly.
list_worldsA
List world profiles and save folders on the current instance.
Inputs: no named parameters.
read_configA
Read a config file relative to the current instance root.
Inputs: path (required).
read_logB
Read a log or crash report (tail or search; never dumps the whole huge file).
Inputs: path (required), tail, search.
recommend_modsA
Suggest mods to add or remove for a world (or the whole instance) to hit a target count and keep dependencies.
Inputs: world, targetModCount.
register_serverB
Remember a dedicated Minecraft server folder for compare/diagnose.
Inputs: path (required).
reset_worldA
Backup then delete a world save so the next launch generates it fresh with current configs. Keeps the profile.
Inputs: world (required).
set_world_modsC
Enable or disable specific mods on a world profile. Required dependencies of enabled mods are kept automatically.
Inputs: world (required), apply, enable, disable.
use_instanceA
Select the current CurseForge instance for later world/mod/config tools.
Inputs: name (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 21 tools
Most tools target a distinct resource and action, and descriptions clarify their roles well. Some overlap exists between diagnose and analyze_mods, and apply_world/set_world_mods/apply_fix all modify mod state, but each has a distinct intent.
The naming is predominantly verb_noun snake_case, which is predictable and easy to scan. Minor deviations like health_check and diagnose break the pattern slightly, but they do not create real confusion.
21 tools is on the heavy side for a single server, though each tool does serve a distinct purpose in the instance/world/mod/config/log workflow. The count feels borderline rather than bloated or thin.
The server covers the main lifecycle well: selecting instances, listing/analyzing mods, managing worlds, editing configs, and diagnosing/fixing issues. Minor gaps like no delete_world, unregister_server, or direct remove_mod tool are workable around with existing disable/reset flows.
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personal…
Create, deploy, and operate MCP servers directly from your GitHub repositories.
MCP registry & directory: search, find & install 31k+ MCP servers & tools. Catalog and marketplace.
Marketplace and infrastructure for MCP servers and skills: deploy, host, monetize, analytics.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA simple MCP server to discover and manage MCP servers. Provides tools to find, add, list, and remove MCP server configurations for Cursor.21 npm8MIT
- FlicenseNot gradedqualityDmaintenanceEnables managing a local Minecraft hosting service through MCP, including server creation, start/stop, mod installation, and log retrieval.-
- FlicenseAqualityDmaintenanceMCP server that lets AI agents drive HMCL (Hello Minecraft! Launcher) programmatically to install Minecraft versions, search/download/import modpacks from Modrinth/CurseForge, and launch/stop the game.132-
- AlicenseAqualityBmaintenanceEnables creating Minecraft modpack structures, searching Modrinth mods, resolving dependencies, and checking compatibility.848 npmMIT