home / mcp / minecraft mcp server
Provides a local MCP server to observe and control a Minecraft bot via predefined tools and resources.
Configuration
View docs{
"mcpServers": {
"arjunkmrm-mcp-minecraft": {
"command": "npx",
"args": [
"-y",
"mcp-minecraft@latest",
"--server-jar",
"/absolute/path/to/minecraft-server/server.jar"
]
}
}
}You can run an MCP server that lets an AI assistant observe and interact with a Minecraft world through a bot. This setup enables practical tasks like moving the bot, placing blocks, querying block info, and responding to in-game events, all controlled via MCP tools and resources.
Connect your MCP client to the local server you run, then issue high-level commands to the bot through the available tools. You can observe the bot’s position, health, and nearby entities, and you can guide the bot to move, look at coordinates, interact with the environment, and communicate with other players. Use the tools to navigate the world, manipulate blocks, manage inventory, and interact with players. Start by ensuring the server is running locally on port 25565 and that your client can reach localhost:25565. From there you can drive the bot to perform tasks such as exploring regions, collecting items, or following a player across the map.
{
"mcpServers": {
"mcp_minecraft": {
"command": "npx",
"args": [
"-y",
"mcp-minecraft@latest",
"--server-jar",
"/absolute/path/to/minecraft-server/server.jar"
]
}
}
}Prerequisites you need before installing: Node.js 18 or higher, Java 21.0.5 (recommended), Minecraft Launcher, Claude Desktop App, and macOS/Linux environment (Windows compatibility is not guaranteed). Close games with the F3+P shortcut to prevent the Minecraft process from pausing when Claude loses focus. If Claude restarts while the server is running, you may need to resolve lingering Java processes during the next launch.
Quick Install (recommended) lets you set up the MCP integration in one command. Run this from your terminal:
npx -y @smithery/cli install mcp-minecraft --client claudeAlternatively, you can configure the MCP server manually by editing your Claude configuration file and adding the MCP server entry. The configuration path is a JSON file under your Claude support directory. Paste the following snippet, replacing the server jar path with the actual location on your system.
If you encounter MCP connection issues after starting Claude or restarting Claude, look for lingering Java processes and terminate them, then restart the system if needed. The common steps are to force-quit Java processes on macOS/Linux or use the Task Manager on Windows. If the problem persists, a fresh reboot often clears lingering processes.
Server startup problems commonly involve verifying that Java is installed, the server.jar path is correct, and port 25565 is available. If you cannot connect, confirm the server is running and that you are using localhost as the server address. Check firewall rules if connections are blocked.
Find server logs in the minecraft-server directory and Claude Desktop logs in your user directory under Claude MCP-related logs. Reviewing these logs helps identify startup or connection issues quickly.
The MCP server is configured to run locally and exposes a set of tools and resources to control the in-game bot. The default bot username is MCPBot, and the server runs offline for local development with a default port of 25565 and 2 GB of memory allocated.
Send chat messages to the server to communicate with players or the bot.
Make the bot jump in place or while moving.
Move the bot forward by stepping in the current facing direction.
Move the bot backward to retreat or adjust position.
Rotate the bot to the left.
Rotate the bot to the right.
Place a block at specified coordinates in the world.
Break a block at specified coordinates and collect the item.
Query information about a block at specific coordinates.
Select a hotbar slot by index (0-8) to equip or use an item.
Retrieve the bot's current inventory contents.
Equip an item by name to a specified destination (hand, armor slot, etc.).
Get the bot's current status, including health, hunger, and position.
Return a list of nearby entities within a defined range.
Attack a nearby entity by name or ID.
Use or activate the currently held item.
Stop using or deactivate the current item.
Make the bot look at a specific set of coordinates.
Follow a specified player in the world.
Stop following the current target.
Navigate the bot to specific world coordinates.