Skip to main content
Glama
risnake

minecraft-mcp-server

by risnake

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=false in server.properties) or configured for the bot to join without auth

  • Creative 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 build

Scripts

Script

Command

Description

build

tsc -p tsconfig.json

Compile TypeScript to dist/

dev

tsx src/main.ts

Run directly without compiling

start

node dist/main.js

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

MC_MODE

creative

Mode: creative or survival. Determines which tools are exposed.

MC_HOST

127.0.0.1

Minecraft server host.

MC_PORT

25565

Minecraft server port.

MC_USERNAME

mcp-bot

Bot username.

MC_VERSION

(auto-detect)

Minecraft protocol version (e.g. 1.20.4).

MC_AUTO_CONNECT

true

Connect to the server on startup. Set to false to defer connection.

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_bot

Reconnect to the configured Minecraft server

get_bot_status

Get state, position, health, food, recent chat

send_chat

Send a chat message in-game

get_position

Get current coordinates and orientation

look_at

Look at specific world coordinates

move_control

Set movement state (forward/back/left/right/jump/sprint/sneak) with optional auto-stop duration

stop_all_controls

Stop all movement

get_inventory

List inventory items

Creative-Only Tools

Available when MC_MODE=creative. These use server commands and require operator permissions.

Tool

Description

setblock

Place a block at coordinates — modes: replace, destroy, keep

fill

Fill a cuboid region — modes: replace, destroy, keep, hollow, outline

clone_area

Clone a cuboid region to a destination

give_item

Give an item to a player (default: the bot)

teleport_to

Teleport the bot to coordinates with optional rotation

set_time

Set world time (day, noon, night, or tick value)

set_weather

Set weather (clear, rain, thunder) with optional duration

set_gamerule

Set a game rule

summon_entity

Summon an entity with optional NBT data

fly_to

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

go_to

Navigate to coordinates using pathfinding (handles obstacles automatically)

dig_block

Mine a block at coordinates (auto-equips best tool)

place_block

Place a block from inventory at coordinates

collect_block

Find, navigate to, mine, and collect blocks of a type

craft_item

Craft an item using inventory materials (auto-finds crafting table if needed)

equip_item

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

executed

boolean

Whether the command was confirmed as successfully executed

category

string

Outcome category: success, permission_denied, unknown_command, failed, or timeout

timedOut

boolean

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

method

string

Which strategy succeeded: direct_fly, arc_fly, or teleport_fallback

executionConfirmed

boolean

Whether the bot arrived at the target coordinates

arrivedAt

object | null

Final {x, y, z} position after the attempt

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, not Stone)

  • 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:

  1. Direct flightbot.creative.flyTo() to the target

  2. Arc flight — rises to a dynamic altitude above current/target Y, flies horizontally, then descends (avoids obstacles)

  3. Teleport fallback/tp command 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=false in server.properties for offline-mode bots

  • Ensure 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_CONNECT is not set to false if you expect auto-connection

Available Tools

18 tools
clone_areaB

Clone a cuboid region from a source to a destination position.

ParametersJSON Schema
NameRequiredDescriptionDefault
dxYesDestination lower-NW corner X
dyYesDestination lower-NW corner Y
dzYesDestination lower-NW corner Z
x1YesSource region first corner X
x2YesSource region second corner X
y1YesSource region first corner Y
y2YesSource region second corner Y
z1YesSource region first corner Z
z2YesSource region second corner Z
maskModeNoMask mode (default replace)
cloneModeNoClone mode (default normal)

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
x1YesFirst corner X coordinate
x2YesSecond corner X coordinate
y1YesFirst corner Y coordinate
y2YesSecond corner Y coordinate
z1YesFirst corner Z coordinate
z2YesSecond corner Z coordinate
modeNofill mode (default replace)
blockYesMinecraft block id/state string

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesDestination X coordinate
yYesDestination Y coordinate
zYesDestination Z coordinate

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
itemYesMinecraft item id (e.g. 'diamond', 'minecraft:stone')
countNoNumber of items (default 1, max 6400)
targetNoTarget player selector or name (default: bot itself, '@s')

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesTarget X coordinate
yYesTarget Y coordinate
zYesTarget Z coordinate

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
activeYesWhether to activate (true) or deactivate (false) the control
directionYesMovement control to set
durationMsNoIf provided, automatically deactivate the control after this many milliseconds (max 30 s)

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior1/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesChat message to send (max 256 chars)

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesTarget X coordinate
yYesTarget Y coordinate
zYesTarget Z coordinate
modeNosetblock mode (default replace)
blockYesMinecraft block id/state string

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleYesGame rule name (e.g. 'doDaylightCycle', 'keepInventory')
valueYesGame rule value (string, integer, or boolean)

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesTime preset name (day, noon, night, midnight, sunrise, sunset) or tick value (0+)

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
weatherYesWeather type to set
durationSecondsNoDuration in seconds (optional)

TDQS

A3.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesSpawn X coordinate
yYesSpawn Y coordinate
zYesSpawn Z coordinate
nbtNoOptional NBT data tag string (e.g. '{NoAI:1b}')
entityYesEntity type id (e.g. 'zombie', 'minecraft:creeper')

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesDestination X coordinate
yYesDestination Y coordinate
zYesDestination Z coordinate
yawNoHorizontal rotation in degrees (optional)
pitchNoVertical rotation in degrees (optional)

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

  1. 18 tool updatesv0.1.0
    • First observedclone_area
    • First observedfill
    • First observedfly_to
    • First observedget_bot_status
    • First observedget_inventory
    • First observedget_position
    • First observedgive_item
    • First observedlook_at
    • First observedmove_control
    • First observedreconnect_bot
    • First observedsend_chat
    • First observedset_gamerule
    • First observedset_time
    • First observedset_weather
    • First observedsetblock
    • First observedstop_all_controls
    • First observedsummon_entity
    • First observedteleport_to

TDQS

B3.4/5.0
Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count4/5

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.

Completeness3/5

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

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    A plugin-based MCP server that enables AI assistants to interact with external systems through custom tools, resources, and prompts.
    4
    AGPL 3.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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.
    12
    MIT

Latest Blog Posts

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