minecraft-mcp-server
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-mcp-serverplace a diamond block at 10 5 20"
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
An MCP (Model Context Protocol) server that connects an AI assistant to a Minecraft server via a Mineflayer bot. Supports creative and survival modes with distinct toolsets for each. The bot auto-connects on startup using config from environment variables — no connection parameters are passed from the agent.
Communicates over stdio — plug it into any MCP-compatible client (Claude Desktop, etc.).
Prerequisites
Node.js ≥ 20
Minecraft Java Edition server (vanilla, Paper, Spigot, etc.)
Server must be in offline mode (
online-mode=falseinserver.properties) or configured for the bot to join without authCreative mode: bot needs operator permissions (
/op <username>) for command tools (setblock,fill, etc.)Survival mode: no special server permissions required
Related MCP server: Jilebi
Quick Start
npm install
npm run buildScripts
Script | Command | Description |
|
| Compile TypeScript to |
|
| Run directly without compiling |
|
| Run compiled output |
Configuration
All configuration is via environment variables. The bot connects automatically on startup — the agent never passes connection parameters.
Variable | Default | Description |
|
| Mode: |
|
| Minecraft server host. |
|
| Minecraft server port. |
|
| Bot username. |
| (auto-detect) | Minecraft protocol version (e.g. |
|
| Connect to the server on startup. Set to |
MCP Client Integration
This server uses stdio transport. Set the mode and connection via env in your MCP client config.
Creative mode (default)
{
"mcpServers": {
"minecraft": {
"command": "node",
"args": ["/absolute/path/to/dist/main.js"],
"env": {
"MC_MODE": "creative",
"MC_HOST": "localhost",
"MC_PORT": "25565",
"MC_USERNAME": "Builder"
}
}
}
}Survival mode
{
"mcpServers": {
"minecraft": {
"command": "node",
"args": ["/absolute/path/to/dist/main.js"],
"env": {
"MC_MODE": "survival",
"MC_HOST": "localhost",
"MC_PORT": "25565",
"MC_USERNAME": "Survivor"
}
}
}
}Development (no build step)
{
"mcpServers": {
"minecraft": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/src/main.ts"],
"env": {
"MC_MODE": "survival"
}
}
}
}Tools
Tools are split into common (always available), creative-only, and survival-only sets depending on the configured MC_MODE.
Common Tools (both modes)
Tool | Description |
| Reconnect to the configured Minecraft server |
| Get state, position, health, food, recent chat |
| Send a chat message in-game |
| Get current coordinates and orientation |
| Look at specific world coordinates |
| Set movement state (forward/back/left/right/jump/sprint/sneak) with optional auto-stop duration |
| Stop all movement |
| List inventory items |
Creative-Only Tools
Available when MC_MODE=creative. These use server commands and require operator permissions.
Tool | Description |
| Place a block at coordinates — modes: |
| Fill a cuboid region — modes: |
| Clone a cuboid region to a destination |
| Give an item to a player (default: the bot) |
| Teleport the bot to coordinates with optional rotation |
| Set world time (day, noon, night, or tick value) |
| Set weather (clear, rain, thunder) with optional duration |
| Set a game rule |
| Summon an entity with optional NBT data |
| Fly the bot to coordinates using creative flight (fallback chain: direct → arc → teleport) |
Survival-Only Tools
Available when MC_MODE=survival. These use Mineflayer plugins (pathfinder, collectblock, tool) for autonomous bot behavior — no operator permissions needed.
Tool | Description |
| Navigate to coordinates using pathfinding (handles obstacles automatically) |
| Mine a block at coordinates (auto-equips best tool) |
| Place a block from inventory at coordinates |
| Find, navigate to, mine, and collect blocks of a type |
| Craft an item using inventory materials (auto-finds crafting table if needed) |
| Equip an item to a slot (hand, head, torso, legs, feet, off-hand) |
Why no
execute_command? We intentionally expose explicit, typed tools instead of a raw command passthrough. Each tool validates its inputs and returns structured results, giving the agent better feedback and preventing command-injection mistakes.
Structured Tool Output
All creative command tools (setblock, fill, clone_area, give_item, teleport_to, set_time, set_weather, set_gamerule, summon_entity) return structured metadata alongside the human-readable text:
Field | Type | Description |
|
| Whether the command was confirmed as successfully executed |
|
| Outcome category: |
|
| Whether the server feedback window expired before a response was received |
Unconfirmed, timed-out, and failed outcomes are reported as errors (isError: true) so the agent can detect and recover from issues automatically.
fly_to uses a three-stage fallback chain and returns additional fields:
Field | Type | Description |
|
| Which strategy succeeded: |
|
| Whether the bot arrived at the target coordinates |
|
| Final |
Examples
Creative mode
# Fly to a build site
fly_to(x: 100, y: 80, z: 200)
# Place a single diamond block
setblock(x: 100, y: 64, z: 200, block: "diamond_block")
# Build a 10×1×10 stone platform
fill(x1: 0, y1: 63, z1: 0, x2: 10, y2: 63, z2: 10, block: "stone")
# Hollow out a cube of glass
fill(x1: 0, y1: 64, z1: 0, x2: 10, y2: 74, z2: 10, block: "glass", mode: "hollow")
# Give yourself 64 diamonds
give_item(item: "diamond", count: 64)
# Set daytime
set_time(value: "day")Survival mode
# Navigate to coordinates
go_to(x: 100, y: 64, z: 200)
# Mine a block (auto-selects best tool)
dig_block(x: 100, y: 63, z: 200)
# Collect 10 oak logs nearby
collect_block(blockName: "oak_log", count: 10)
# Craft planks from logs
craft_item(itemName: "oak_planks", count: 4)
# Equip a sword
equip_item(itemName: "stone_sword", destination: "hand")Troubleshooting
Permission denied (creative mode)
The bot needs operator permissions on the server:
/op <bot_username>Creative command tools (setblock, fill, etc.) return isError: true with category "permission_denied" if the bot lacks permissions.
Unknown command
Returned when a command is invalid or misspelled. Check:
Correct block IDs (e.g.
stone,diamond_block, notStone)Valid coordinate ranges
Proper command syntax
No response / timeout
Creative command tools wait 5 seconds for server feedback. A timeout means:
The command may have executed but produced no recognizable response
The server may be lagging
The tool returns category: "timeout" and timedOut: true, and is treated as an error (isError: true) so the agent can decide how to proceed.
fly_to failures
fly_to automatically tries three strategies in order:
Direct flight —
bot.creative.flyTo()to the targetArc flight — rises to a dynamic altitude above current/target Y, flies horizontally, then descends (avoids obstacles)
Teleport fallback —
/tpcommand if both flight methods fail
Check method in the response to see which strategy was used. If all three fail, executionConfirmed is false and isError is true.
Connection issues
Verify the Minecraft server is running and reachable
Check
online-mode=falseinserver.propertiesfor offline-mode botsEnsure the port is correct (default:
25565)The bot cannot connect if the server is full or the username is already in use
Check
MC_AUTO_CONNECTis not set tofalseif you expect auto-connection
Available Tools
18 toolsclone_areaB
Clone a cuboid region from a source to a destination position.
| Name | Required | Description | Default |
|---|---|---|---|
| dx | Yes | Destination lower-NW corner X | |
| dy | Yes | Destination lower-NW corner Y | |
| dz | Yes | Destination lower-NW corner Z | |
| x1 | Yes | Source region first corner X | |
| x2 | Yes | Source region second corner X | |
| y1 | Yes | Source region first corner Y | |
| y2 | Yes | Source region second corner Y | |
| z1 | Yes | Source region first corner Z | |
| z2 | Yes | Source region second corner Z | |
| maskMode | No | Mask mode (default replace) | |
| cloneMode | No | Clone mode (default normal) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only says 'clone a cuboid region' but does not disclose whether the source is copied or moved, what happens to the destination area, or any side effects. The cloneMode enum hints at 'move' but the description omits this behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the core purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with 11 parameters, 2 enums, and no output schema. The description barely explains the operation, leaving out how maskMode/cloneMode affect behavior and what the result looks like. Though the schema is detailed, the description alone is insufficient for an agent to fully understand the tool's capabilities and implications.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is individually documented. The description adds only a high-level context (source and destination) but does not clarify the more nuanced parameters like maskMode or cloneMode beyond what the schema already provides. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (clone), the resource (cuboid region), and the operation (from a source to a destination position). This distinguishes it from sibling tools like fill or setblock, which perform different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not explain when to use clone_area compared to alternatives such as fill, setblock, or move_control, nor does it mention any prerequisites or constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fillB
Fill a cuboid region with a block type and optional mode.
| Name | Required | Description | Default |
|---|---|---|---|
| x1 | Yes | First corner X coordinate | |
| x2 | Yes | Second corner X coordinate | |
| y1 | Yes | First corner Y coordinate | |
| y2 | Yes | Second corner Y coordinate | |
| z1 | Yes | First corner Z coordinate | |
| z2 | Yes | Second corner Z coordinate | |
| mode | No | fill mode (default replace) | |
| block | Yes | Minecraft block id/state string |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden of behavioral disclosure. It fails to mention that the operation is destructive by default, what each mode (replace, destroy, keep, hollow, outline) does, or any side effects. The description only states the action without deeper behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It conveys the core purpose efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 8 parameters, no annotations, and no output schema. The description is too minimal to compensate for missing behavioral details, especially the meaning of the 'mode' enum and the inclusive/exclusive nature of the cuboid corners. The agent is left without essential context for a correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter. The description only restates 'block type and optional mode', adding no new semantic meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (fill), the target (cuboid region), and the inputs (block type and optional mode). This distinguishes it from sibling tools like setblock (single block) and clone_area (copying regions).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The implied use case is filling a cuboid region, but there is no explicit guidance on when to prefer this over alternatives (e.g., setblock for single blocks, clone_area for copying). No exclusions or preconditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fly_toB
Fly the bot to specific coordinates using creative flight.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | Destination X coordinate | |
| y | Yes | Destination Y coordinate | |
| z | Yes | Destination Z coordinate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must disclose behavior. It only mentions 'using creative flight,' which hints at a mechanic but fails to explain side effects, state changes, or requirements. It does not state whether the movement is instantaneous, gradual, or requires the bot to be in creative mode, leaving significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that wastes no words. It immediately communicates the action and the mode of flight, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with three parameters and no output schema, so the description need not explain return values. However, it lacks mention of any requirements or limitations (e.g., creative mode, command execution context). The description is minimally adequate but not thorough, leaving the agent to infer important context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each coordinate (x, y, z) described as destination coordinates. The description adds no extra meaning beyond the schema, so the baseline of 3 applies. The description does not clarify coordinate formatting or units, but the schema fully covers the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Fly the bot to specific coordinates using creative flight.' It specifies the verb 'fly' and resource 'bot', and distinguishes the mode 'creative flight' from potential alternatives. However, it does not explicitly contrast with sibling tools like teleport_to, so it lacks full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., creative mode requirement) or situations where teleport_to would be preferable. The context implies a movement command but provides no explicit usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bot_statusA
Get the current bot status including state, position, health, food, and recent chat messages.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description carries the full burden since no annotations are present. It discloses the data included in the status (state, position, health, food, recent chat messages), which is useful context. However, it does not explicitly state that the operation is read-only or mention any side effects, permissions, or potential delays, though the verb 'Get' implies a safe read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that states the tool's purpose and lists the included data fields. Every word earns its place, with no redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description is reasonably complete by enumerating the expected return contents. The word 'including' suggests the list may be non-exhaustive, but it gives a solid understanding of what to expect. The lack of an explicit return format is a minor gap, but acceptable given the simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the schema is empty. According to the rubric, a tool with no parameters receives a baseline score of 4, as the description has no parameter responsibilities. The description adds nothing about parameters, which is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and clearly identifies the resource as 'bot status', listing key components such as state, position, health, food, and recent chat messages. It is clear what the tool does, but it does not explicitly differentiate itself from sibling tools like get_position, which also provides position data, though in a narrower scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description simply states what it does without mentioning any specific use cases, prerequisites, or exclusions, leaving the agent to infer usage from the generic wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_inventoryA
List all items in the bot's inventory.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. The verb 'List' suggests a read-only action, but the description does not disclose details such as whether the inventory includes quantities, equipment slots, or any specific return format. It is accurate but not rich in behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the key verb and resource. No word is wasted; it is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, no output schema, and low complexity, this description is fully complete. It effectively communicates the tool's purpose without needing additional context about return values or edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is trivially 100%. According to guidelines, a baseline of 4 is appropriate since there are no parameters to explain. The description does not need to add further parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all items in the bot's inventory' uses a specific verb ('List') and a clear resource (inventory), making it distinct from siblings like 'give_item' or 'send_chat'. It unambiguously states what the tool does without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (when you need to see inventory contents) but provides no explicit guidance about when to prefer this over alternatives or any exclusions. For a simple read-only list tool, this is minimally acceptable but lacks explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_positionA
Get the bot's current position and orientation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. The verb 'get' implies a read-only operation, but the description does not explicitly state that there are no side effects, nor does it disclose coordinate system or units. This is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. It efficiently conveys the tool's function without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple, the description lacks details about the return format (e.g., coordinates as an array, orientation as yaw/pitch). Since there is no output schema, the description should specify this to fully inform the agent, but it does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema covers 100% of parameter semantics. The description does not need to add parameter details, and the baseline of 4 is appropriate given that no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and a clear resource 'the bot's current position and orientation', which directly distinguishes it from sibling tools like teleport_to (which sets position) and look_at (which sets orientation). This makes the tool's purpose immediately clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as get_bot_status, look_at, or teleport_to. It simply states what it does without any context on selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
give_itemA
Give an item to a player (default: the bot itself).
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | Minecraft item id (e.g. 'diamond', 'minecraft:stone') | |
| count | No | Number of items (default 1, max 6400) | |
| target | No | Target player selector or name (default: bot itself, '@s') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals the default target behavior but omits other important traits such as whether the item appears in the player's inventory or is dropped on the ground, whether operator permissions are required, or what happens if the inventory is full. This is a minimal description with significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the core action and default behavior without any wasted words. It earns its place completely and is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and the schema provides rich parameter details, but the description is quite sparse. It doesn't mention side effects, prerequisites, or what happens after the item is given. For a tool with no output schema and no annotations, this is only minimally adequate and leaves some operational context unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with clear descriptions (e.g., item ID examples, count min/max, target default). The description adds no additional parameter meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Give') and resource ('item to a player'), and clearly states the default target (the bot itself). It is unambiguous and distinct from sibling tools like setblock or summon_entity, making it easy to identify when this tool is appropriate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (use to give items to players) but provides no explicit guidance on when to choose this tool over alternatives, nor any exclusions or prerequisites. For example, it doesn't mention whether the bot must be in creative mode or if the target must be a real player. The usage context is clear enough for a simple tool but lacks explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
look_atA
Make the bot look at specific world coordinates.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | Target X coordinate | |
| y | Yes | Target Y coordinate | |
| z | Yes | Target Z coordinate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the basic behavior but nothing else. It doesn't mention whether the look is instantaneous, persistent, or if there are any constraints. With no annotations provided, the description carries the full burden, yet provides only surface-level transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the essential purpose with zero wasted words. It is appropriately concise for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with three well-documented parameters and no output schema, the description is largely sufficient. It clearly defines the behavior. However, it lacks any note about return values or side effects relative to sibling tools, making it slightly incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents all three parameters with clear descriptions (e.g., 'Target X coordinate'), achieving 100% schema coverage. The description adds no additional semantic value beyond pointing to 'specific world coordinates', so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('make the bot look at') on a specific resource ('specific world coordinates'). It is immediately distinct from sibling tools like teleport_to or fly_to, which involve movement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description simply states what it does, without any context for choosing it over other control tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_controlA
Set a movement control state (forward, back, left, right, jump, sprint, sneak). Optionally auto-deactivate after durationMs.
| Name | Required | Description | Default |
|---|---|---|---|
| active | Yes | Whether to activate (true) or deactivate (false) the control | |
| direction | Yes | Movement control to set | |
| durationMs | No | If provided, automatically deactivate the control after this many milliseconds (max 30 s) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of disclosing behavior. It states that the tool sets a state and may auto-deactivate after durationMs, which is useful but largely repeats the schema's parameter descriptions. It does not mention side effects, precedence over other controls, or behavior when active is false beyond what the schema says.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action, and includes only essential information. Every phrase earns its place—no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 parameters, all schema-documented, no nested objects, no output schema), the description is sufficient to understand the tool's core functionality. It clearly covers the state-setting purpose and optional auto-deactivation, though it could mention the active boolean parameter explicitly or reference stop_all_controls for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no new semantic meaning beyond the schema; it repeats the direction list and mentions durationMs but provides no additional context about parameter interaction or effects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Set') and clearly identifies the resource: movement control states, enumerating all valid controls (forward, back, left, right, jump, sprint, sneak). This inherently distinguishes it from sibling tools like stop_all_controls or fly_to, which address different movement operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by describing the action, but it does not explicitly state when to use this tool versus alternatives such as stop_all_controls or fly_to. There is no explicit when/when-not guidance or mention of alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconnect_botB
Reconnect the bot to the configured Minecraft server.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as whether reconnection is non-destructive, requires authentication, or affects ongoing tasks. The agent is given no information about consequences or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. It immediately conveys the tool's purpose without any waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite its simplicity, the tool has no annotations or output schema, so the description must carry full contextual weight. It only provides a bare command, omitting when to use it, expected behavior, and any prerequisites, making it inadequate for a fully informed agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the description adds clarity by noting the server is 'configured,' indicating no input is needed. This exceeds the baseline for 0-parameter tools by preempting any expectation of server specification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action (reconnect) and target (the bot to the configured Minecraft server). It is distinct from sibling tools, none of which handle reconnection, so purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as checking status first or using other connection-related tools. The verb 'reconnect' implies a disconnected state, but this is only implicit and not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_chatB
Send a chat message in-game.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Chat message to send (max 256 chars) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the burden. It only states the obvious action without disclosing details such as visibility to other players, potential rate limits, or whether the message is logged. This is minimal behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no unnecessary words. It is appropriately sized for the tool's simplicity and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is sufficient for basic invocation. It could mention side effects like message visibility, but for a straightforward chat send, it covers the essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full coverage of the 'message' parameter with constraints and description. The tool description adds no extra parameter semantics beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('send') and resource ('chat message in-game'). It is specific and easily distinguishes from sibling tools, none of which handle chat.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. While the sibling list shows distinct actions, there is no explicit context, prerequisites, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setblockC
Place a block at a specific position with optional mode.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | Target X coordinate | |
| y | Yes | Target Y coordinate | |
| z | Yes | Target Z coordinate | |
| mode | No | setblock mode (default replace) | |
| block | Yes | Minecraft block id/state string |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions 'optional mode' but does not explain what the modes (replace, destroy, keep) do, nor does it describe side effects like breaking existing blocks or permission requirements. The description is surface-level and does not reveal behavior beyond the literal action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence with no unnecessary words. It is front-loaded with the action and resource, and each phrase is relevant. It could be slightly more informative without losing conciseness, but it is efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description carries the burden of contextual completeness. It lacks important context about when to use setblock versus fill or clone_area, and it does not explain mode semantics. For a tool with 5 parameters, this is insufficient for an agent to fully understand the tool's behavior and fit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all parameters (100% coverage), including the mode enum and its default. The description adds no additional meaning beyond saying 'with optional mode,' which is already implied by the schema. As the schema does the heavy lifting, the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Place') and the resource ('a block') at a specific position, making the core purpose obvious. However, it does not explicitly distinguish this from sibling tools like fill or clone_area, which also manipulate blocks, so it lacks differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention that fill is for areas or that this is for single-block placement, nor does it state any prerequisites or constraints. The absence of usage context makes it difficult for an agent to know when to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_gameruleA
Set a game rule to a specific value.
| Name | Required | Description | Default |
|---|---|---|---|
| rule | Yes | Game rule name (e.g. 'doDaylightCycle', 'keepInventory') | |
| value | Yes | Game rule value (string, integer, or boolean) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'set a game rule to a specific value' without mentioning side effects, required permissions, error handling, or how the game state changes. This is minimal for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the verb 'set' and the target 'game rule', containing no unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and has comprehensive schema coverage, making the description minimally sufficient. However, it lacks any note about game rule availability, value validation, or effects on the server, which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions fully cover both parameters (rule and value) with examples and types, and the description adds no additional semantic meaning beyond restating 'specific value'. Since schema coverage is 100%, the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action (set) and target (game rule), and the context of sibling tools like set_time/set_weather confirms it's specifically for game rules, distinguishing it from other setter tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given on when to use this tool versus alternatives, but the name and description imply it is for changing game rules. It does not mention exclusions or scenarios where other tools should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_timeA
Set the world time to a preset (day, noon, night, etc.) or a tick value.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | Time preset name (day, noon, night, midnight, sunrise, sunset) or tick value (0+) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action without mentioning side effects, reversibility, permissions, or scope of impact, which is significant for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the core purpose without redundancy. It is appropriately sized for a simple setter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter setter with a thorough schema, the description combined with the schema is largely sufficient. However, the lack of behavioral notes (e.g., that it mutates world state) and no annotations create a minor gap, but the tool's simplicity keeps it from being incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the value parameter with a clear description covering presets and tick values. The tool description adds only 'etc.', providing negligible extra meaning. Baseline 3 is appropriate because schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set the world time') and the input forms (preset or tick value). It is distinct from sibling tools like set_weather and set_gamerule because the target is explicitly 'world time'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use whenever world time needs changing, but it does not mention alternatives, when-not-to-use, or any prerequisites. There is no explicit guidance beyond the basic purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_weatherA
Set the weather to clear, rain, or thunder with optional duration.
| Name | Required | Description | Default |
|---|---|---|---|
| weather | Yes | Weather type to set | |
| durationSeconds | No | Duration in seconds (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must disclose behavioral traits. The one-sentence description only restates the action and the optional duration, without covering what happens if duration is omitted, whether the effect is persistent, or any side effects. This leaves significant behavioral ambiguity for an AI agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no filler. It front-loads the action and lists the accepted values compactly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two parameters and no output schema, the description covers the basic action and parameter meanings. It would benefit from clarifying the default duration behavior, but it is sufficient for a straightforward setter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema describes both parameters with 100% coverage, so the description does not need to add parameter details. It does repeat 'clear, rain, or thunder' and 'optional duration' but provides no extra semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Set' with a specific resource (weather) and enumerates the exact values (clear, rain, thunder), making the tool's purpose unmistakable. This clearly distinguishes it from sibling tools like set_time and set_gamerule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context that this tool is for changing the weather condition, and includes the optional duration parameter. However, it does not explicitly state when to prefer it over alternatives or mention any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_all_controlsA
Immediately stop all movement controls (forward, back, left, right, jump, sprint, sneak).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It specifies the immediate effect and enumerates all affected controls, providing clear scope. It doesn't mention potential side effects like idempotency, but for a simple stop action this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the action ('Immediately stop') and lists the affected controls. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no inputs, no outputs, and no annotations, the description fully explains what it does and what controls it affects. It is complete within the context of its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty schema, so the description doesn't need to explain inputs. Baseline for 0 params is 4, and the description adds no unnecessary detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool stops all movement controls, listing the exact actions (forward, back, left, right, jump, sprint, sneak). This distinguishes it from sibling tools like move_control, which presumably control individual movements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied—when you need to halt all movement—but there is no explicit when-to-use or comparison with alternatives. It does not mention that this is preferred over issuing individual stop commands for move_control.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summon_entityB
Summon an entity at specific coordinates with optional NBT data.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | Spawn X coordinate | |
| y | Yes | Spawn Y coordinate | |
| z | Yes | Spawn Z coordinate | |
| nbt | No | Optional NBT data tag string (e.g. '{NoAI:1b}') | |
| entity | Yes | Entity type id (e.g. 'zombie', 'minecraft:creeper') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not mention side effects (e.g., entity limits, overwriting existing entities), permissions (e.g., cheats enabled), or failure conditions. The description is purely functional with no extra context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that is concise and contains no wasted words. It immediately states the action, object, and key parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple with a fully documented schema, so the description is minimally viable. However, it lacks any behavioral context (e.g., Minecraft-specific requirements, effects) and does not compensate for the absence of annotations. It is complete enough for basic invocation but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for all parameters. The description adds no additional meaning beyond 'optional NBT data', which is already in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Summon') and resource ('entity') with coordinates and optional NBT data, clearly distinguishing it from sibling tools like setblock or give_item. It unambiguously states the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as setblock for blocks or give_item for items. The description simply states what it does without any context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teleport_toB
Teleport the bot to specific coordinates with optional rotation.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | Destination X coordinate | |
| y | Yes | Destination Y coordinate | |
| z | Yes | Destination Z coordinate | |
| yaw | No | Horizontal rotation in degrees (optional) | |
| pitch | No | Vertical rotation in degrees (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the full burden of behavioral disclosure. It states the core action but does not discuss potential side effects, success/failure conditions, whether rotation is in absolute terms, or any safety considerations. This leaves the agent without critical behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct sentence that conveys the essential purpose without redundancy. It is appropriately sized for the tool's simplicity and is front-loaded with the key action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is too minimal. It does not address potential issues like invalid coordinates, collisions, or the result of the operation. For a tool that teleports the bot, this missing behavioral context leaves the agent under-informed for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds minimal semantic value beyond the schema, only reiterating that rotation is 'optional'. It does not explain coordinate semantics (e.g., absolute vs relative) beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Teleport'), the resource ('the bot'), and the parameters ('specific coordinates with optional rotation'). It distinctly differentiates from siblings like fly_to (which implies movement) and look_at (which handles rotation), making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention that teleportation is instantaneous as opposed to fly_to's smooth movement, nor any prerequisites or exclusions. The context only implies usage by the name 'teleport_to'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
18 tool updates
v0.1.0- First observed
clone_area - First observed
fill - First observed
fly_to - First observed
get_bot_status - First observed
get_inventory - First observed
get_position - First observed
give_item - First observed
look_at - First observed
move_control - First observed
reconnect_bot - First observed
send_chat - First observed
set_gamerule - First observed
set_time - First observed
set_weather - First observed
setblock - First observed
stop_all_controls - First observed
summon_entity - First observed
teleport_to
TDQS
Most tools are clearly distinct, targeting different actions or resources. Minor overlap exists between get_position and get_bot_status (which also includes position), and between fly_to and teleport_to, but descriptions help disambiguate.
The naming pattern is largely consistent, using snake_case with verb_noun constructions (e.g., get_bot_status, set_time, summon_entity). Minor deviations include 'setblock' (missing underscore) and single-word commands like 'fill', but these do not significantly harm readability.
With 18 tools, the set is slightly above the ideal range but still well-scoped for a Minecraft bot server. Each tool serves a distinct purpose, and the count is not overwhelming.
The tool set covers movement, building, world settings, and inventory viewing/giving, but lacks common bot operations like block breaking, item usage, combat, or entity interaction. These gaps may require workarounds for more advanced automation.
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 Connectors
An MCP server that integrates with Discord to provide AI-powered features.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- AlicenseBqualityCmaintenanceAn MCP server that supercharges AI assistants with powerful tools for software development, enabling research, planning, code generation, and project scaffolding through natural language interaction.1167101MIT
- AlicenseNot gradedqualityBmaintenanceA plugin-based MCP server that enables AI assistants to interact with external systems through custom tools, resources, and prompts.4AGPL 3.0
- AlicenseNot gradedqualityDmaintenanceA set of MCP servers that allow AI assistants to control a Minecraft server and client, including running commands, managing plugins, taking screenshots, and calling arbitrary API methods via reflection.12MIT
- AlicenseAqualityDmaintenanceAn MCP server for Discord that enables AI assistants to interact with Discord servers, channels, and messages via the Discord API.614MIT
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/risnake/minecraft-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server