minecraft-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MC_HOST | No | Minecraft server host. | 127.0.0.1 |
| MC_MODE | No | Mode: creative or survival. Determines which tools are exposed. | creative |
| MC_PORT | No | Minecraft server port. | 25565 |
| MC_VERSION | No | Minecraft protocol version (e.g. 1.20.4). Auto-detected if not set. | |
| MC_USERNAME | No | Bot username. | mcp-bot |
| MC_AUTO_CONNECT | No | Connect to the server on startup. Set to false to defer connection. | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| reconnect_botB | Reconnect the bot to the configured Minecraft server. |
| get_bot_statusA | Get the current bot status including state, position, health, food, and recent chat messages. |
| send_chatB | Send a chat message in-game. |
| get_positionA | Get the bot's current position and orientation. |
| look_atA | Make the bot look at specific world coordinates. |
| move_controlA | Set a movement control state (forward, back, left, right, jump, sprint, sneak). Optionally auto-deactivate after durationMs. |
| stop_all_controlsA | Immediately stop all movement controls (forward, back, left, right, jump, sprint, sneak). |
| get_inventoryA | List all items in the bot's inventory. |
| setblockC | Place a block at a specific position with optional mode. |
| fillB | Fill a cuboid region with a block type and optional mode. |
| clone_areaB | Clone a cuboid region from a source to a destination position. |
| give_itemA | Give an item to a player (default: the bot itself). |
| teleport_toB | Teleport the bot to specific coordinates with optional rotation. |
| set_timeA | Set the world time to a preset (day, noon, night, etc.) or a tick value. |
| set_weatherA | Set the weather to clear, rain, or thunder with optional duration. |
| set_gameruleA | Set a game rule to a specific value. |
| summon_entityB | Summon an entity at specific coordinates with optional NBT data. |
| fly_toB | Fly the bot to specific coordinates using creative flight. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Most tools target clearly distinct actions: chat, movement, building, world settings, and entity summoning are well separated. Minor overlap exists between get_bot_status (which includes position) and get_position, but descriptions clarify the aggregate vs. precise purpose.
The naming is mostly consistent lowercase snake_case with a verb-first pattern, e.g., send_chat, get_inventory, summon_entity. The exception is 'setblock' versus 'set_block' style, and a few prepositional names like look_at and fly_to are minor deviations.
With 18 tools, the server is on the heavier side but still defensible for a Minecraft bot covering movement, building, inventory, and world management. The count feels slightly broad rather than tightly scoped, but no tool is truly redundant.
The set covers chat, movement, building, teleportation, weather/time/gamerule control, and entity summoning. Notable gaps include no block breaking/reading, no disconnect tool, and no direct inventory manipulation beyond listing/giving items, which limits full lifecycle coverage.