Control a Mineflayer Minecraft bot with 120+ MCP tools: move, mine, craft, fight, build, and see.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag — we're steadily working through the catalog.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Awesome Mineflayer MCP.
connect_botCallable MCP tool function
connect_defaultCallable MCP tool function
disconnect_botCallable MCP tool function
reconnect_botCallable MCP tool function
respawnCallable MCP tool function
get_connection_statusCallable MCP tool function
A production-ready Model Context Protocol server that gives an LLM agent standalone-equivalent control over a Mineflayer Minecraft bot — movement, mining, crafting, inventory, combat, containers, chat, and much more — exposed as 123 strongly-typed tools across 26 groups, plus guided prompts, vision (real first-person screenshots + schematic maps), persistent waypoints, build/dig macros, and dual (poll + push) event streaming, with full bot lifecycle management. Tool results carry both human-readable text and machine-readable structuredContent.
Backed by the Mineflayer ecosystem: mineflayer-pathfinder (A* navigation), mineflayer-pvp (combat), mineflayer-collectblock (gathering), mineflayer-tool (auto tool-select), mineflayer-auto-eat, and mineflayer-armor-manager.
auth: "microsoft").| Supported | |
|---|---|
| Minecraft (Java) | the range supported by the bundled mineflayer 4.37 / minecraft-data (roughly 1.8 → 1.21.x); version is auto-detected, or pass version explicitly |
| Node.js | 20, 22 (LTS) |
A few tools only work on newer versions/features (e.g. elytra_fly, chat signing). On a version mismatch the bot is kicked with an outdated client/server message — pass an explicit version.
Run it on demand with npx (no install needed):
…or install it globally:
The server speaks MCP over stdio, so it is normally launched by your MCP client rather than run by hand.
Add it to your client's MCP server configuration. The recommended form uses npx so you always get the latest published build:
Claude Desktop (claude_desktop_config.json), Claude Code, Cursor, or any stdio MCP client:
If you installed it globally, use "command": "awesome-mineflayer-mcp" with "args": [] instead.
If you don't already have a server, spin up a throwaway offline-mode one with Docker (no account needed):
…or a one-liner without the repo:
Then connect: connect_bot { host: "localhost", username: "DevBot", auth: "offline" }. Tear it down with docker compose down -v (or docker rm -f mc). Don't expose an offline-mode server to the public internet.
For hands-off use, configure a default account so the bot connects automatically on startup — no connect_bot call required. Run the interactive setup:
It asks for the server host/port, an offline or Microsoft account, and whether to auto-connect on startup, then writes ~/.awesome-mineflayer-mcp/config.json (no password is stored). For a Microsoft account it runs the device-code sign-in once and caches the token under profilesFolder, so later startups need no prompt.
On startup the server auto-connects the configured account (verify with get_connection_status). The agent can also call connect_default to (re)connect it or get_default_account to inspect it.
You can set the default account entirely from your MCP client config — handy for headless deploys. Environment variables override the config file:
For Microsoft auth in a headless setup, run setup once locally first (or point MCP_PROFILES_FOLDER at a directory with a pre-cached token).
| Variable | Default | Purpose |
|---|---|---|
MCP_DISABLE_GROUPS | (none) | Comma-separated tool-group keys to disable (see catalog). Trim the surface for clients that struggle with a large tool list. |
MCP_CHARACTER_LIMIT | 25000 | Max characters returned by any single tool call (truncated with a marker). |
MCP_EVENT_BUFFER | 1000 | Size of the in-memory event ring buffer. |
MCP_THROTTLE_MS | 250 | Minimum spacing between pushed resource-update / log notifications. |
MCP_PROXIMITY_RADIUS | 32 | Radius (blocks) for proximity-filtered events (entity spawns, sounds). |
MCP_ACTION_TIMEOUT_MS | 60000 | Default timeout for long actions when the caller omits one. |
MCP_DEFAULT_HOST / MCP_DEFAULT_PORT | — | Default server to auto-connect on startup. |
MCP_DEFAULT_USERNAME | — | Default account name (offline) or email (microsoft). |
MCP_DEFAULT_AUTH | offline | Default auth mode: offline or microsoft. |
MCP_DEFAULT_VERSION | auto | Force a protocol version for the default account. |
MCP_DEFAULT_AUTO_RECONNECT | true | Auto-reconnect the default account on disconnect. |
MCP_AUTO_CONNECT | true† | Auto-connect the default on startup († when a default is configured). |
MCP_PROFILES_FOLDER | <home>/profiles | Microsoft auth token-cache directory. |
AWESOME_MINEFLAYER_MCP_HOME | ~/.awesome-mineflayer-mcp | Config + token-cache directory. |
MCP_READ_ONLY | false | Observe-only mode: register only read-only tools (+ lifecycle). See Safety. |
MCP_COMMAND_DENY | (admin verbs) | Slash commands run_command blocks. Setting it replaces the default; set empty to allow all. |
MCP_COMMAND_ALLOW | (none) | If set, a strict allow-list: only these commands run (deny list ignored). |
MCP_ALLOWED_HOSTS | (any) | Comma-separated allow-list of hosts the bot may connect to. |
MCP_CHAT_MIN_INTERVAL_MS | 0 | Minimum spacing between outbound chat/whisper/command sends (anti-spam). |
MCP_ENABLE_RAW | false | Enable the advanced/unsafe raw protocol tool group (direct packet send/subscribe). |
MCP_SCREENSHOT_WIDTH / _HEIGHT | 800 / 450 | Default get_screenshot image size (px). |
MCP_SCREENSHOT_LOAD_MS | 2500 | How long to let the world render before capturing a screenshot. |
MCP_VIEW_DISTANCE | 4 | Chunk render distance for screenshots. |
MCP_SCREENSHOT_BROWSER_CHANNEL | (auto) | Browser channel for screenshots (chrome, msedge, chromium). |
MCP_SCREENSHOT_EXECUTABLE_PATH | (none) | Explicit browser executable path for screenshots (overrides channel). |
Example — disable rarely-used groups:
connect_bot { host, username, auth } — connect (resolves once the bot spawns). Skip this if you configured a default account — the bot auto-connects on startup; just check get_connection_status.goto, dig, collect_block, craft_item, pvp_attack, chat, …get_observation for a one-shot snapshot (vitals, position, inventory, nearby entities, new events) — pass the returned events.nextSince back each tick. Or compose get_state / get_inventory / list_entities / get_events, or subscribe to the bot://* resources.disconnect_bot when done.New to the server? Use the getting_started prompt (see Prompts) for an in-context walkthrough.
Block / item / entity arguments accept human names ("iron_ore", "diamond_pickaxe", "zombie"); unknown names return fuzzy suggestions.
auth: "offline" (default) — offline-mode servers; username is the in-game name.auth: "microsoft" — username is the account email. A device-code prompt is emitted as an msa_code event / log notification. Set profilesFolder to cache the token so subsequent runs skip the prompt, or pass a cached accessToken. Tip: run npx awesome-mineflayer-mcp setup once to do the device-code sign-in and cache the token, then the server connects autonomously (see Autonomous operation).Full generated reference (every tool, prompt, resource):
docs/TOOLS.md.
Group keys (for MCP_DISABLE_GROUPS) are shown in brackets.
Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/awesome-mineflayer-mcp)<a href="https://allmcps.com/mcp/awesome-mineflayer-mcp"><img src="https://allmcps.com/api/badge/awesome-mineflayer-mcp?style=directory" alt="Awesome Mineflayer MCP on AllMCPs" /></a>