mcp-minecraft
The mcp-minecraft server allows a bot powered by Claude (LLM) to control a Minecraft character and interact with the game world through various commands:
Movement: Get position, move to coordinates, look at coordinates, jump, and move in specific directions
Flight: Fly directly to coordinates
Inventory: List items, find specific items, and equip items
Block Interaction: Place blocks, dig blocks, get block information, and find nearest blocks of specific types
Entity Interaction: Find nearest entities of specific types
Communication: Send in-game chat messages
Allows installation of the MCP server directly from GitHub using npx, making setup easier for users.
Required as a prerequisite for running the MCP server, providing the runtime environment for the Mineflayer-based bot.
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., "@mcp-minecraft build a small wooden house with a door and two windows"
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 MCP Server
Currently supports Minecraft version 1.21.11. Newer versions may not work with this MCP server, but we will add support as soon as possible.
https://github.com/user-attachments/assets/6f17f329-3991-4bc7-badd-7cde9aacb92f
A Minecraft bot powered by large language models and Mineflayer API. This bot uses the Model Context Protocol (MCP) to enable Claude and other supported models to control a Minecraft character.
Prerequisites
Git
Node.js (>= 20.10.0)
A running Minecraft game (the setup below was tested with Minecraft 1.21.8 Java Edition included in Microsoft Game Pass)
An MCP-compatible client. Claude Desktop will be used as an example, but other MCP clients are also supported
Related MCP server: ainpcengine
Getting started
This bot is designed to be used with Claude Desktop through the Model Context Protocol (MCP).
Run Minecraft
Create a singleplayer world and open it to LAN (ESC -> Open to LAN). Bot will try to connect using port 25565 and hostname localhost. These parameters could be configured in claude_desktop_config.json on a next step.
MCP Configuration
Make sure that Claude Desktop is installed. Open File -> Settings -> Developer -> Edit Config. It should open installation directory. Find file with a name claude_desktop_config.json and insert the following code:
{
"mcpServers": {
"minecraft": {
"command": "npx",
"args": [
"-y",
"github:yuniko-software/minecraft-mcp-server",
"--host",
"localhost",
"--port",
"25565",
"--username",
"ClaudeBot"
]
}
}
}Double-check that right --port and --host parameters were used. Make sure to completely reboot the Claude Desktop application (should be closed in OS tray).
Running
Make sure Minecraft game is running and the world is opened to LAN. Then start Claude Desktop application and the bot should join the game.
It could take some time for Claude Desktop to boot the MCP server. The marker that the server has booted successfully:
You can give bot any commands through any active Claude Desktop chat. You can also upload images of buildings and ask bot to build them 😁
Don't forget to mention that bot should do something in Minecraft in your prompt. Because saying this is a trigger to run MCP server. It will ask for your permissions.
Using Claude Sonnet could give you some interesting results. The bot-agent would be really smart 🫡
Example usage: shared Claude chat
Available Commands
Once connected to a Minecraft server, Claude can use these commands:
Movement
get-position- Get the current position of the botmove-to-position- Move to specific coordinateslook-at- Make the bot look at specific coordinatesjump- Make the bot jumpmove-in-direction- Move in a specific direction for a duration
Flight
fly-to- Make the bot fly directly to specific coordinates
Inventory
list-inventory- List all items in the bot's inventoryfind-item- Find a specific item in inventoryequip-item- Equip a specific item
Block Interaction
place-block- Place a block at specified coordinatesdig-block- Dig a block at specified coordinatesget-block-info- Get information about a blockfind-blocks- Find one or more nearby blocks of a specific type
Furnace
smelt-item- Smelt items using a furnace-like block
Entity Interaction
find-entity- Find the nearest entity of a specific type
Communication
send-chat- Send a chat message in-gameread-chat- Get recent chat messages from players
Game State
detect-gamemode- Detect the gamemode on game
Contributing
Feel free to submit pull requests or open issues for improvements. All refactoring commits, functional and test contributions, issues and discussion are greatly appreciated!
To get started with contributing, please see CONTRIBUTING.md.
⭐ If you find this project useful, please consider giving it a star on GitHub! ⭐
Your support helps make this project more visible to other people who might benefit from it.
Available Tools
22 toolscan-craftA
Check if the bot can craft a specific item with current inventory
Inputs: itemName (required).
craft-itemC
Craft an item using a crafting recipe
Inputs: outputItem (required), amount.
detect-gamemodeB
Detect the gamemode on game
Inputs: no named parameters.
dig-blockB
Dig a block at the specified position
Inputs: x (required), y (required), z (required).
equip-itemC
Equip a specific item
Inputs: itemName (required), destination.
find-blocksA
Find one or more nearby blocks of a specific type
Inputs: blockType (required), maxDistance, count.
find-entityB
Find the nearest entity of a specific type
Inputs: type, maxDistance.
find-itemB
Find a specific item in the bot's inventory
Inputs: nameOrType (required).
fly-toC
Make the bot fly to a specific position
Inputs: x (required), y (required), z (required).
get-block-infoB
Get information about a block at the specified position
Inputs: x (required), y (required), z (required).
get-positionA
Get the current position of the bot
Inputs: no named parameters.
get-recipeB
Get detailed information about a specific recipe
Inputs: itemName (required).
jumpB
Make the bot jump
Inputs: no named parameters.
list-inventoryA
List all items in the bot's inventory
Inputs: no named parameters.
list-recipesA
List all available crafting recipes the bot can make with current inventory
Inputs: outputItem.
look-atB
Make the bot look at a specific position
Inputs: x (required), y (required), z (required).
move-in-directionB
Move the bot in a specific direction for a duration
Inputs: direction (required), duration.
move-to-positionC
Move the bot to a specific position
Inputs: x (required), y (required), z (required), range, +1 more.
place-blockB
Place a block at the specified position
Inputs: x (required), y (required), z (required), faceDirection.
read-chatB
Get recent chat messages from players
Inputs: count.
send-chatB
Send a chat message in-game
Inputs: message (required).
smelt-itemB
Smelt items using a furnace-like block
Inputs: x (required), y (required), z (required), inputItem (required), +5 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 22 tools
Each tool targets a distinct action or query, with clear boundaries between checking and performing (e.g., can-craft vs craft-item, list-recipes vs get-recipe). Movement tools are differentiated by mode (fly vs walk).
All tools follow a consistent verb-noun pattern with hyphens, using imperative verbs like 'dig', 'place', 'find', 'list', 'craft'. No mixing of conventions or vague names.
22 tools cover a broad range of Minecraft bot operations without being overwhelming. Each tool serves a distinct purpose, and the count aligns well with the domain's complexity.
Covers core workflows: movement, block manipulation, inventory management, crafting, smelting, chat, and entity detection. Missing actions like attacking or dropping items are minor gaps that don't severely hinder typical tasks.
Maintenance
Related MCP Connectors
MCP server for OpenAI Sora AI video generation
MCP server for Hailuo (MiniMax) AI video generation
MCP server for Grok Imagine AI video generation
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that lets Claude control a Minecraft bot with 40+ actions including movement, combat, crafting, and inventory management. Built on Mineflayer, it supports Microsoft authentication, pathfinding, and auto-reconnect.3MIT
- FlicenseNot gradedqualityCmaintenanceMCP server for creating, managing, and interacting with AI-powered NPCs with persistent memory, supporting dialogue, game events, and persona generation for coding agents.52 npm1-
- AlicenseNot gradedqualityBmaintenanceAn MCP server that enables Claude to generate Minecraft structures from natural language descriptions.1MIT
- AlicenseAqualityCmaintenanceA local MCP server that lets AI assistants control a Minecraft player on a local Paper server, enabling movement, block breaking/placing, combat, inventory management, chat, and op-level commands like teleport, gamemode, and summoning.27MIT