Awesome Mineflayer MCP
NPM · AWESOME-MINEFLAYER-MCP · SCANNED SEP 20
Control a Mineflayer Minecraft bot with 120+ MCP tools: move, mine, craft, fight, build, and see.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security89
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects uuid 10.0.0, reached via mineflayer > minecraft-protocol > yggdrasil > uuid. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- 93 of 247 dependencies flagged as unhealthy (2 deprecated). View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to G0Osey99/awesome-mineflayer-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 82 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability89
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 11473 tokens (~88/item across 129 items; 123 tools + 6 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 93% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 9 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "unequip_item" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 125 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Awesome Mineflayer MCP server?
Awesome Mineflayer MCP runs locally as an npm package, launched with npx -y awesome-mineflayer-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · awesome-mineflayer-mcp
claude mcp add g0osey99-awesome-mineflayer-mcp -- npx -y awesome-mineflayer-mcp
{
"mcpServers": {
"g0osey99-awesome-mineflayer-mcp": {
"command": "npx",
"args": [
"-y",
"awesome-mineflayer-mcp"
]
}
}
} {
"servers": {
"g0osey99-awesome-mineflayer-mcp": {
"command": "npx",
"args": [
"-y",
"awesome-mineflayer-mcp"
]
}
}
} codex mcp add g0osey99-awesome-mineflayer-mcp -- npx -y awesome-mineflayer-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"g0osey99-awesome-mineflayer-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"awesome-mineflayer-mcp"
],
"enabled": true
}
}
} openclaw mcp add g0osey99-awesome-mineflayer-mcp --command npx --arg -y --arg awesome-mineflayer-mcp
mcp_servers:
g0osey99-awesome-mineflayer-mcp:
command: "npx"
args: ["-y", "awesome-mineflayer-mcp"] {
"McpServers": {
"g0osey99-awesome-mineflayer-mcp": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"awesome-mineflayer-mcp"
]
}
}
} assistant mcp add g0osey99-awesome-mineflayer-mcp -t stdio -c npx -a -y awesome-mineflayer-mcp
{
"mcpServers": {
"g0osey99-awesome-mineflayer-mcp": {
"command": "npx",
"args": [
"-y",
"awesome-mineflayer-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 −2
- Stability: pass → 0.80 functional
- 17 Sept 26 0
- Stability: 0.97 → pass security
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 0
- CVE-2026-82417 no longer affects this package ▲ security
- CVE-2026-82562 no longer affects this package ▲ security
- 14 Sept 26 0
- Security disclosure: unverified → fail ▼ functional
- 13 Sept 26 +1
- Security disclosure: fail → unverified ▼ functional
- 11 Sept 26 −2
- Stability: pass → 0.80 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/awesome-mineflayer-mcp@1.3.2
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | G0Osey99/awesome-mineflayer-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/G0Osey99/awesome-mineflayer-mcp/.github/workflows/ci.yml@refs/tags/v1.3.2 |
| Rekor log index | 2002306050 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:043b6fcefcb3f4f1f889c33405d65f564e0fbb75f8323e8c26e1978ee31fe997bf0596aa5fb0cb85382695cb7ede391d794ec232f5a24508ccace9f3b |
Background: How many MCP packages publish verified provenance →
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-w5hq-g745-h8pq | CVE-2026-41907 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 247 packages
| Packages resolved | 247 |
|---|---|
| Deprecated | 2 |
| Stale | 90 |
| No linked repository | 2 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
get_best_tool ~82
Determine the best harvest tool currently in inventory for the block at the given coordinates, without equipping it. Returns null if no tool is better than hand.
| Name | Type | Req | Description |
|---|---|---|---|
| x | number | yes | X world coordinate (integer for blocks) |
| y | number | yes | Y world coordinate (integer for blocks) |
| z | number | yes | Z world coordinate (integer for blocks) |
No output schema declared.
No examples provided.
get_block_at ~143
Inspect the block at a world coordinate. Returns name/position and (detailed) hardness, diggability, line-of-sight, estimated dig time and sign text. Returns name 'air'/null-ish if the chunk is unloaded.
| Name | Type | Req | Description |
|---|---|---|---|
| extraInfos | boolean | – | Include sign/painting/block-entity data (slower). Default true. |
| format | string | – | Response detail level; "concise" (default) or "detailed" |
| x | number | yes | X world coordinate (integer for blocks) |
| y | number | yes | Y world coordinate (integer for blocks) |
| z | number | yes | Z world coordinate (integer for blocks) |
No output schema declared.
No examples provided.
get_blocks_in_region ~113
Scan a bounded box [min..max] (inclusive) and return non-air blocks, optionally filtered to specific block names. Volume is capped at 32768 blocks; shrink the box if you hit the cap.
| Name | Type | Req | Description |
|---|---|---|---|
| includeAir | boolean | – | Include air blocks (default false) |
| matching | – | – | Restrict to these block name(s)/id(s) |
| max | object | yes | – |
| maxCount | integer | – | Max blocks to return (default 1024) |
| min | object | yes | – |
No output schema declared.
No examples provided.
get_boss_bars ~32
List active boss bars with title, health, color, dividers and flags. Returns [] if none.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_chat_patterns ~32
List the bot's registered chat patterns ({name?, type?, description?, pattern}). Pattern regexes are stringified.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_connection_status ~49
Report the connection lifecycle state (disconnected/connecting/online/reconnecting), username, version, dimension, vitals, position, and last end/kick reason. Safe to call when not connected.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_control_states ~34
Return the bot's seven movement control booleans: forward, back, left, right, jump, sprint, sneak.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_cursor_target ~117
Raycast from the bot's eyes along its look direction. Returns the first block hit and (if includeEntity) the entity being aimed at.
| Name | Type | Req | Description |
|---|---|---|---|
| entityMaxDistance | number | – | Max reach for entity raycast (default 4) |
| format | string | – | Response detail level; "concise" (default) or "detailed" |
| includeEntity | boolean | – | Also return the entity at the cursor (default true) |
| maxDistance | number | – | Max block reach for the block raycast (default 256) |
No output schema declared.
No examples provided.
get_default_account ~38
Show the configured default account used for autonomous startup (host, port, username, auth mode, autoConnect). No passwords are stored or returned.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_entity_details ~42
Get full details for a single tracked entity by its network id.
| Name | Type | Req | Description |
|---|---|---|---|
| entityId | integer | yes | Entity network id (from list_entities / find_nearest_entity) |
No output schema declared.
No examples provided.
get_events ~144
Drain buffered game events (chat, deaths, block/entity changes, goal_reached, etc.). Pass the returned `nextSince` on the next call to read only new events without gaps. `dropped:true` means the buffer overflowed and some events between your `since` and now were lost.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max events to return this call (oldest first); call again with the returned nextSince to get the rest |
| since | integer | – | Return only events with seq greater than this (from a prior nextSince) |
| types | array | – | Restrict to these event types, e.g. ["chat","death","goal_reached"] |
No output schema declared.
No examples provided.
get_inventory ~58
List the bot's inventory: held item/slot, all carried items, armor slots, off-hand, and free/total slot counts.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Response detail level; "concise" (default) or "detailed" |
No output schema declared.
No examples provided.
get_loaded_plugins ~22
Report which mineflayer ecosystem plugins are attached to the bot.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_observation ~204
One-call situational snapshot for an agent's observe loop: connection status, self vitals/position, held item + inventory, nearby entities, and recent/new events. Replaces calling get_state + get_inventory + list_entities + get_events separately. Pass `since` (a prior events.nextSince) to get only new events; otherwise a recent tail is returned with nextSince to start paginating.
| Name | Type | Req | Description |
|---|---|---|---|
| entityLimit | integer | – | Max entities (default 10) |
| entityRadius | number | – | Max distance for nearby entities (default 16) |
| eventLimit | integer | – | Max events (default 20) |
| format | string | – | Response detail level; "concise" (default) or "detailed" |
| includeEntities | boolean | – | Include nearby entities (default true) |
| includeEvents | boolean | – | Include events (default true) |
| since | integer | – | Only events with seq greater than this (from a prior nextSince) |
No output schema declared.
No examples provided.
get_path_to ~146
Compute (but do not execute) a path to a goal and report its status/cost/timing without moving the bot. Useful to test reachability before committing to `goto`.
| Name | Type | Req | Description |
|---|---|---|---|
| goalType | string | yes | Which kind of pathfinder goal to build |
| goals | array | – | Nested goals for composite_any/composite_all/invert |
| range | number | – | Acceptable distance from the target (for near/nearxz/follow) |
| timeout | integer | – | Max ms to spend computing the path |
| x | number | – | Target X (required for most goal types) |
| y | number | – | Target Y |
| z | number | – | Target Z |
No output schema declared.
No examples provided.
get_physics ~29
Return whether physics is enabled plus the physics constants (gravity, speeds, etc.) as primitive fields.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_scoreboards ~60
List active scoreboards with their name, title and items ({name,value}). Optionally filter to a single display slot.
| Name | Type | Req | Description |
|---|---|---|---|
| displaySlot | string | – | Restrict to a display slot, e.g. "sidebar", "list", "belowName" |
No output schema declared.
No examples provided.
get_screenshot ~203
Capture a REAL screenshot of what the bot actually sees — the textured 3D Minecraft world from its eyes (first person) or an orbit view (third person) — as a PNG image. This is an actual game render, not a schematic. Requires the optional screenshot extras (prismarine-viewer + a headless browser via Playwright); if they're missing it returns UNSUPPORTED with install steps. The bot must be in loaded chunks. First call is slower (launches the renderer/browser).
| Name | Type | Req | Description |
|---|---|---|---|
| firstPerson | boolean | – | First-person from the bot's eyes (default true); false = third-person orbit |
| height | integer | – | Image height in px (default 450) |
| viewDistance | integer | – | Chunk render distance (default 4) |
| waitMs | integer | – | Time to let the world render before capturing, in ms (default 2500) |
| width | integer | – | Image width in px (default 800) |
No output schema declared.
No examples provided.
get_settings ~27
Return the bot's current game settings (view distance, chat flags, skin parts, etc.).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_state ~64
Snapshot the bot's own state: position, velocity, orientation, health/food, gamemode, dimension, held item, time/weather, control state and active effects.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Response detail level; "concise" (default) or "detailed" |
No output schema declared.
No examples provided.
get_teams ~53
List scoreboard teams with friendlyFire, nameTagVisibility, color, prefix, suffix and members. Optionally filter to one team.
| Name | Type | Req | Description |
|---|---|---|---|
| teamName | string | – | Restrict to a single team by its internal name |
No output schema declared.
No examples provided.
goto ~177
Navigate to a goal using the pathfinder and block until arrival (or timeout). Supports block/near/xz/nearxz/y/getToBlock/lookAtBlock/placeBlock and composite_any/composite_all/invert (nested via `goals`). Cancellable; throws NO_PATH if unreachable, TIMEOUT if it takes too long.
| Name | Type | Req | Description |
|---|---|---|---|
| goalType | string | yes | Which kind of pathfinder goal to build |
| goals | array | – | Nested goals for composite_any/composite_all/invert |
| range | number | – | Acceptable distance from the target (for near/nearxz/follow) |
| timeout | integer | – | Max ms to spend navigating (default 60000) |
| x | number | – | Target X (required for most goal types) |
| y | number | – | Target Y |
| z | number | – | Target Z |
No output schema declared.
No examples provided.
goto_waypoint ~90
Navigate to a saved waypoint by name (pathfinds and blocks until arrival). Cancellable; throws NO_PATH if unreachable, TIMEOUT if it takes too long.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Waypoint name to travel to |
| range | number | – | How close to get, in blocks (default 1) |
| timeout | integer | – | Max ms to spend navigating (default 60000) |
No output schema declared.
No examples provided.
list_entities ~170
List nearby tracked entities, nearest-first, filtered by type/kind/mobType/username/name and/or maxDistance.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Response detail level; "concise" (default) or "detailed" |
| kind | string | – | Entity kind, e.g. "Hostile mobs" |
| limit | integer | – | Max entities to return (default 50) |
| maxDistance | number | – | Only entities within this many blocks |
| mobType | string | – | Mob type/display name, e.g. "Zombie" |
| name | string | – | Entity name, e.g. "zombie", "item" |
| type | string | – | Entity type, e.g. "player", "mob", "object" |
| username | string | – | Player username (players only) |
No output schema declared.
No examples provided.
list_players ~36
List players currently visible in the tablist with username, display name, gamemode, ping and (if tracked) entity id/position.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_recipes ~155
List crafting recipes for an item. By default returns only recipes craftable with the bot's current inventory (recipesFor); set includeUnavailable to list every known recipe (recipesAll). Set useCraftingTable to consider table-only recipes using a crafting table within 4 blocks.
| Name | Type | Req | Description |
|---|---|---|---|
| includeUnavailable | boolean | – | List all known recipes, not just currently craftable ones (default false) |
| item | – | yes | Item name (e.g. "diamond_pickaxe") or numeric item id |
| minResultCount | integer | – | Minimum result count to require (recipesFor only; default 1) |
| useCraftingTable | boolean | – | Allow recipes that need a crafting table, using one within 4 blocks (default false) |
No output schema declared.
No examples provided.
list_waypoints ~15
List all saved waypoints.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
look ~79
Set the bot's absolute head orientation in radians (yaw, pitch).
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | Snap instantly instead of smoothly (default false) |
| pitch | number | yes | Pitch in radians (-PI/2 = straight up, +PI/2 = straight down) |
| yaw | number | yes | Yaw in radians (0 = south, increases clockwise) |
No output schema declared.
No examples provided.
look_at ~93
Aim the bot's head at a world point (x,y,z). Use `force` to snap instantly instead of turning smoothly over time.
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | Snap instantly instead of smoothly (default false) |
| x | number | yes | X world coordinate (integer for blocks) |
| y | number | yes | Y world coordinate (integer for blocks) |
| z | number | yes | Z world coordinate (integer for blocks) |
No output schema declared.
No examples provided.
look_at_entity ~74
Aim the bot's head at a tracked entity (by id), targeting its approximate eye height. Re-call to keep tracking a moving target.
| Name | Type | Req | Description |
|---|---|---|---|
| entityId | integer | yes | Entity network id (obtain from list_entities / find_nearest_entity) |
| force | boolean | – | Snap instantly instead of smoothly (default false) |
No output schema declared.
No examples provided.
mount_entity ~51
Mount a rideable entity (boat, minecart, horse, etc.) identified by its network id.
| Name | Type | Req | Description |
|---|---|---|---|
| entityId | integer | yes | Entity network id (obtain from list_entities / find_nearest_entity) |
No output schema declared.
No examples provided.
move_slot_item ~86
Move the stack in `sourceSlot` to `destSlot` within the open window/inventory. If `destSlot` is omitted, put the item away into the main inventory (out of the hotbar/crafting/armor area).
| Name | Type | Req | Description |
|---|---|---|---|
| destSlot | integer | – | Destination slot index; omit to put the item away |
| sourceSlot | integer | yes | Source slot index |
No output schema declared.
No examples provided.
open_container ~161
Open a chest/barrel/shulker/dispenser/hopper at a block coordinate (x,y,z) or a container entity (entityId, e.g. a chest minecart). Keeps the window open as the active container session for read_open_container / container_deposit / container_withdraw until close_window.
| Name | Type | Req | Description |
|---|---|---|---|
| cursorPos | object | – | Optional cursor position on the block face |
| direction | object | – | Optional face direction vector |
| entityId | integer | – | Open a container entity instead of a block (e.g. chest minecart) |
| x | number | – | X of the container block (omit if using entityId) |
| y | number | – | Y of the container block |
| z | number | – | Z of the container block |
No output schema declared.
No examples provided.
open_furnace ~85
Open the furnace (or blast furnace / smoker) at the given coordinates and return its current contents. Keeps the window open for subsequent furnace_action / furnace_status calls.
| Name | Type | Req | Description |
|---|---|---|---|
| x | number | yes | X world coordinate (integer for blocks) |
| y | number | yes | Y world coordinate (integer for blocks) |
| z | number | yes | Z world coordinate (integer for blocks) |
No output schema declared.
No examples provided.
open_villager ~77
Walk up to and open trading with a villager entity (by id). Returns the list of trades with their input/output items, indices, disabled flag and max uses. Use trade_with_villager to execute a trade.
| Name | Type | Req | Description |
|---|---|---|---|
| entityId | integer | yes | Entity network id (obtain from list_entities / find_nearest_entity) |
No output schema declared.
No examples provided.
pathfinder_status ~33
Report the pathfinder's current activity: isMoving, isMining, isBuilding, and whether a goal is set.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
place_block ~149
Place a block (or entity, e.g. boat/minecart) against a reference block's face. Equips `itemName` first if given. faceVector is the unit direction from the reference block toward the new block.
| Name | Type | Req | Description |
|---|---|---|---|
| asEntity | boolean | – | Place an entity instead of a block (default false) |
| faceVector | object | yes | Unit face direction, e.g. {x:0,y:1,z:0} for the top face |
| itemName | – | – | Item to equip to hand before placing |
| referenceX | number | yes | Reference block X |
| referenceY | number | yes | Reference block Y |
| referenceZ | number | yes | Reference block Z |
No output schema declared.
No examples provided.
pvp_attack ~143
Continuously attack a target entity using the pvp plugin (pathfinds into range and keeps swinging). Resolves when the target dies or is lost. Long-running and cancellable. Provide an entityId, or a `target` filter (type/name/username) to pick the nearest match.
| Name | Type | Req | Description |
|---|---|---|---|
| attackRange | number | – | How close the bot must be to attack |
| entityId | integer | – | Entity network id (obtain from list_entities / find_nearest_entity) |
| followRange | number | – | How close to get when pursuing the target |
| target | object | – | Filter used to pick the nearest matching entity when entityId is omitted |
No output schema declared.
No examples provided.
pvp_configure ~115
Configure pvp plugin parameters: followRange, attackRange, viewDistance, and meleeMode ('maxDamage' waits for the weapon cooldown for max damage; 'fast' attacks as quickly as possible). Returns the current numeric config.
| Name | Type | Req | Description |
|---|---|---|---|
| attackRange | number | – | How close the bot must be to attack |
| followRange | number | – | How close to get when pursuing the target |
| meleeMode | string | – | Attack timing strategy |
| viewDistance | number | – | Distance beyond which the target is considered lost |
No output schema declared.
No examples provided.
pvp_stop ~59
Stop the current pvp attack. By default stops gracefully; pass force to hard-stop the pathfinder. Also cancels the active long-running action lock.
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | Hard-stop the pathfinder (may cause falls/failed jumps) |
No output schema declared.
No examples provided.
read_open_container ~44
Read the contents of the currently-open container: its own slots (containerItems) and the bot's inventory slots (inventoryItems). Throws NO_WINDOW if no container is open.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
reconnect_bot ~50
Disconnect (if connected) and reconnect using the last connection options, optionally overriding some of them.
| Name | Type | Req | Description |
|---|---|---|---|
| overrideOptions | object | – | Partial connect options to override (e.g. {host, port, version}) |
No output schema declared.
No examples provided.
register_chat_pattern ~121
Register a named chat pattern (regex). When a matching chat line arrives, it is emitted as a `chat:<name>` event (drain with get_events). Pass an array of patterns to register a pattern set under one name.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Pattern name; matches arrive as `chat:<name>` events |
| parse | boolean | – | Parse capture groups into the event payload |
| pattern | – | yes | A regex source string, or an array of them for a pattern set |
| repeat | boolean | – | Keep matching repeatedly (default behavior) |
No output schema declared.
No examples provided.
remove_chat_pattern ~44
Remove a previously registered chat pattern by its name or numeric id.
| Name | Type | Req | Description |
|---|---|---|---|
| nameOrId | string|number | yes | The pattern name or the id returned by register_chat_pattern |
No output schema declared.
No examples provided.
render_map ~273
Render a colored top-down map (or a horizontal cross-section) of the area around the bot as a PNG image — a lightweight schematic overview (no extra dependencies). For a real textured first-person game render, use `get_screenshot` instead. North (−Z) is up, West (−X) is left. The bot is the white dot in the center with a dark facing tick; players are cyan, hostile mobs red, passive mobs yellow, items grey. mode "surface" (default) shows the topmost block of each column with height shading; mode "slice" shows a single Y layer (great for caves/mining — air reads light, walls dark). Returns the image plus a text legend of the block types shown.
| Name | Type | Req | Description |
|---|---|---|---|
| center | object | – | Center of the map (defaults to the bot's position) |
| includeEntities | boolean | – | Overlay nearby entities as colored dots (default true) |
| maxDim | integer | – | Max image width/height in pixels (default 480) |
| mode | string | – | "surface" top-down (default) or "slice" single-layer |
| radius | integer | – | Blocks from center to each edge (default 24) |
| sliceY | integer | – | Y layer for mode:slice (defaults to the bot's feet level) |
No output schema declared.
No examples provided.
respawn ~27
Manually respawn after death (only needed when the bot was connected with respawn:false).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
run_command ~87
Run a server slash command. A leading `/` is added automatically if omitted. Some administrative commands (op, ban, stop, …) may be blocked by the server's command policy (see MCP_COMMAND_DENY / MCP_COMMAND_ALLOW).
| Name | Type | Req | Description |
|---|---|---|---|
| command | string | yes | The command to run, e.g. "tp @s 0 64 0" or "/time set day" |
No output schema declared.
No examples provided.
set_collect_config ~99
Set persistent collectblock defaults: the chest locations to deposit into when full, and the item filter (depositItems or keepItems) used for those deposits.
| Name | Type | Req | Description |
|---|---|---|---|
| chestLocations | array | – | Chest positions to deposit into when the inventory fills |
| depositItems | array | – | Only these item names are moved to a chest (mutually exclusive with keepItems) |
| keepItems | array | – | Keep these item names; everything else may be deposited |
No output schema declared.
No examples provided.
set_control_state ~67
Hold or release a single low-level movement control (forward/back/left/right/jump/sprint/sneak). Manual control; conflicts with active pathfinding.
| Name | Type | Req | Description |
|---|---|---|---|
| control | string | yes | Control to set |
| state | boolean | yes | true = press/hold, false = release |
No output schema declared.
No examples provided.
set_goal ~150
Set a pathfinder goal without waiting (fire-and-forget). The bot keeps moving toward it in the background. Use `dynamic` for goals that should recompute as the world/target changes.
| Name | Type | Req | Description |
|---|---|---|---|
| dynamic | boolean | – | Recompute the path continuously (default false) |
| goalType | string | yes | Which kind of pathfinder goal to build |
| goals | array | – | Nested goals for composite_any/composite_all/invert |
| range | number | – | Acceptable distance from the target (for near/nearxz/follow) |
| x | number | – | Target X (required for most goal types) |
| y | number | – | Target Y |
| z | number | – | Target Z |
No output schema declared.
No examples provided.
What is the Awesome Mineflayer MCP server?
Awesome Mineflayer MCP is listed in the public MCP registry as io.github.G0Osey99/awesome-mineflayer-mcp. Control a Mineflayer Minecraft bot with 120+ MCP tools: move, mine, craft, fight, build, and see. This page covers its npm package (awesome-mineflayer-mcp).
Is the Awesome Mineflayer MCP server safe to use?
Awesome Mineflayer MCP scores 91 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Awesome Mineflayer MCP server expose?
Awesome Mineflayer MCP exposes 123 tools: connect_bot, disconnect_bot, reconnect_bot, respawn, get_connection_status, and 118 more. Their descriptions and schemas cost roughly 11,237 tokens of context every time the server is loaded.
Is the Awesome Mineflayer MCP server still maintained?
Awesome Mineflayer MCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Awesome Mineflayer MCP server under?
Awesome Mineflayer MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.