minecraft-mcp
This server acts as an MCP bridge that allows AI agents to control a Minecraft player and the server itself on a PaperMC server. It provides a wide range of tools categorized as follows:
Movement & View:
look_atto face a position,move_toto walk/sprint to coordinates (with timeout and speed options),jump,sprint/sneaktoggles, andstopto cancel movement.Block Interaction:
break_blockandplace_blockat coordinates (with optional face and world, works without a player).Entity & Combat:
attackandinteract_entityusing entity IDs fromget_nearby_entities;use_itemfor right-click actions.Inventory Management:
get_inventory,equip_item(to main/offhand/armor slots),drop_item,swap_hands, andgive_itemto add items directly.World & Player Queries:
get_player_state(health, position, gamemode, etc.),get_block_at,get_nearby_entities, andget_time_weather.Chat:
send_chatsends messages as the player.Teleport & Gamemode:
teleportwith optional world, yaw, pitch;set_gamemodeto survival/creative/adventure/spectator.World & Server Control:
set_time(tick values: 0=sunrise, 6000=noon, 13000=sunset, 18000=midnight),set_weather(clear, rain, thunder),summon_entity(spawn mobs/entities), andrun_commandto execute console commands.Player-less Operation: Many world-level tools work without any player online, enabling automated building.
Extensible: All tools accept an optional
playerargument to target a specific online player, defaulting to the first online player.Showcase Scripts: Includes pre-built scripts (e.g.,
build-castle,build-lighthouse) demonstrating large-scale automated building.
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., "@minecraft-mcpbreak the block I'm looking at and place a torch"
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
A local MCP server that lets AI harnesses (Claude Code, Codex, Hermes, ...) perform every action a Minecraft player can — move, jump, break/place blocks, fight, manage inventory, chat — plus op-level extras (teleport, gamemode, weather/time, summon entities, console commands).
Architecture
AI Harness (Claude Code / Codex / Hermes)
│ stdio (MCP protocol)
▼
src/ Node + TypeScript MCP server (this repo, `npm run dev` / dist/index.js)
│ WebSocket, JSON frames (see docs/bridge-protocol.md)
▼ ws://127.0.0.1:8765
plugin/ Java Paper plugin `minecraft-mcp-bridge`
│ Bukkit/Paper API
▼
Local PaperMC server (server/ dir) — you join as the controlled playerThe harness controls whoever is online on the server (you). Every tool
accepts an optional player argument to target a specific online player.
Related MCP server: MCP Minecraft Remote
Prerequisites
Node.js ≥ 18
JDK ≥ 21 to build the plugin (JDK 24 works; the plugin is compiled for Java 21 bytecode)
A Minecraft Java Edition client matching the server version
Quick start
npm install # install MCP server deps
node scripts/setup-server.mjs 26.2 # download Paper 26.2 into server/, accept EULA
npm run start:server # build plugin, install it, launch the serverNotes:
setup-server.mjstakes an optional version argument (26.2,1.21.11, ...). Without one it downloads the latest 1.21.x.Paper 26.1+ requires Java 25 to run (not just build). If a portable JDK is extracted under
.jdk/(e.g..jdk/jdk-25.0.4+7/),start-server.mjsuses it automatically instead of the systemjava.Join
localhostwith a client matching the server version. The server runs withonline-mode=falsefor local dev.
To verify everything end-to-end (requires the server running and a player online):
npm run smoke:bridge # exercises every tool against the live serverHarness configuration
The MCP server runs over stdio. Build first (npm run build), then register:
Claude Code (claude mcp add):
claude mcp add minecraft -- node /path/to/minecraft-mcp/dist/index.jsCodex / other harnesses — equivalent stdio entry:
{
"mcpServers": {
"minecraft": {
"command": "node",
"args": ["/path/to/minecraft-mcp/dist/index.js"]
}
}
}Environment variable MINECRAFT_MCP_BRIDGE_URL overrides the bridge address
(default ws://127.0.0.1:8765).
Tools
All tools take an optional player (defaults to the first online player).
Category | Tool | What it does |
Movement |
| Face a block/position |
| Walk/sprint toward coordinates (timeout-aware) | |
| Movement state control | |
Interaction |
| Block manipulation |
| Right-click / combat | |
Inventory |
| Full inventory control |
Info |
| World & player queries |
Chat |
| Chat as the player |
Extras |
| Beyond player capabilities |
The full tool/command contract is documented in docs/bridge-protocol.md.
Development
npm run typecheck # TS typecheck
npm run build # compile MCP server to dist/
npm test # bridge unit tests (mock socket, no Minecraft needed)
npm run build:plugin # build the Paper plugin jar (Gradle shadowJar)Plugin jar output: plugin/build/libs/minecraft-mcp-bridge-0.1.0.jar.
Bridge port is configurable in plugin/src/main/resources/config.yml
(runtime copy: server/plugins/minecraft-mcp-bridge/config.yml).
Known limitations (v0.1)
move_tois velocity-based steering, not pathfinding; it hops over 1-block obstacles but won't route around walls.Survival
break_blockuses a fixed 1s delay regardless of tool/hardness.use_item/interact_entityfire the Bukkit events but don't reproduce vanilla effects (eating, trading, mounting).Controls an online player; fake-player NPCs are future work.
Player-less operation
World-level commands (place_block, break_block, get_block_at,
get_heightmap, run_command, set_time, set_weather, summon_entity with
explicit coordinates) work with no player online, against the default
world — so agents can build 24/7. Use run_command with forceload add to
keep build regions' chunks loaded.
Showcase build scripts
The scripts/ directory contains the builds that grew the world, all driven
through the bridge and verified with get_block_at sampling:
build-house.ts— the original medieval house smoke testbuild-castle.ts/build-lighthouse.ts/build-bridge.ts— the three terrain-fitted marvels (SE hill keep, W shore lighthouse, channel arch bridge)build-aqueduct.ts/build-forum.ts/build-colossus.ts/build-span.ts/build-skyfall.ts/build-roads.ts— the Aurelian Reach megastructure program (run in that order)survey-terrain.ts/fine-survey.ts— ASCII relief maps fromget_heightmap, used to pick sites from real terrain datalib-build.ts— shared Builder: plan queue with last-wins dedupe, carve-after-place, chunked console fills (vanilla 32768 limit), forceload helpers, tolerant placement, verification
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityCmaintenanceA Minecraft MCP Server powered by Mineflayer API. It allows to control a Minecraft character in real-time, allowing AI assistants to build structures, explore the world, and interact with the game environment through natural language instruction2245692Apache 2.0
- AlicenseCqualityDmaintenanceAllows AI assistants to connect to and control Minecraft players on remote servers, enabling navigation, building, mining, inventory management, entity interaction, and chat communication through natural language commands.271013MIT
- AlicenseBqualityDmaintenanceA Minecraft bot that allows Claude and other LLMs to control a Minecraft character through the Model Context Protocol, enabling AI to perform various in-game actions like movement, building, and interacting with the world.1645Apache 2.0
- Alicense-qualityFmaintenanceAn 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
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
An MCP server that gives your AI access to the source code and docs of all public github repos
MCP server for AI dialogue using various LLM models via AceDataCloud
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/IotA-asce/minecraft-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server