craftpilot-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CRAFTPILOT_PORT | No | Overrides the port used to connect to the CraftPilot mod's local HTTP API. If not set, the port is read from %USERPROFILE%\.craftpilot\connection.json. | |
| CRAFTPILOT_TOKEN | No | Overrides the Bearer token used to authenticate with the CraftPilot mod's local HTTP API. If not set, the token is read from %USERPROFILE%\.craftpilot\connection.json. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mc_statusA | Get Minecraft client state: in world or not, current screen, player position/health/food, window size, GUI scale, FPS, version. |
| mc_screenshotB | Take a screenshot of the Minecraft window (returned as an image). Downscaled to maxWidth. |
| mc_screenA | List widgets on the current Minecraft screen with labels and GUI coordinates; use with mc_click_widget. |
| mc_click_widgetA | Click a widget on the current screen by label (case-insensitive, exact then contains) or by id from mc_screen. |
| mc_clickB | Click at scaled GUI coordinates on the current screen (see mc_status scaledWidth/Height). |
| mc_scrollC | Scroll the mouse wheel at scaled GUI coordinates on the current screen. |
| mc_keyA | Press a key by GLFW name (escape, enter, tab, backspace, up/down/left/right, f1-f12, space, letters, digits...). Behaves like a real key press in-game and in screens. |
| mc_typeB | Type text into the focused field/screen, character by character. |
| mc_commandA | Run a slash command (without leading slash) and return chat output received in the next ~500ms. |
| mc_chatC | Send a chat message as the player. |
| mc_chat_logB | Get the last N chat lines (newest last). |
| mc_moveB | Hold movement keys for N client ticks (20 ticks = 1 second). |
| mc_lookB | Set player rotation: absolute (yaw/pitch) or relative (dyaw/dpitch), in degrees. |
| mc_hotbarB | Select a hotbar slot (0-8). |
| mc_useB | Press the use (right-click) key for N ticks. |
| mc_attackB | Press the attack (left-click) key for N ticks. |
| mc_inventoryA | List inventory contents (main, armor, offhand): slot, item id, count, name. |
| mc_worldB | Manage singleplayer worlds from the title screen: list, open, create, or leave the current world. |
| mc_respawnA | Respawn the player and close the death screen. |
| mc_gotoA | Walk to world coordinates by itself using simple client-side pathfinding (loaded chunks only, max 128 blocks). Returns immediately; poll mc_goto_status. Fails with 'no path' if unreachable. |
| mc_goto_statusA | Status of the current mc_goto walk: active, remaining nodes, position, result (running|arrived|failed:|stopped). |
| mc_goto_stopA | Stop the current mc_goto walk and release the movement keys. |
| mc_capabilitiesA | List which CraftPilot commands are enabled/disabled in the in-game CraftPilot settings. Disabled tools return an error saying so. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
Tools are grouped into clear functional families (movement, screen interaction, chat, inventory, world, status), and the potentially confusing pairs are explicitly distinguished in their descriptions (mc_click by coordinates vs mc_click_widget by label; mc_chat vs mc_command; mc_move vs mc_goto). Minor residual overlap exists because mc_use/mc_attack are effectively specialized key presses that mc_key can also perform, but the tick-duration semantics make the intent clear.
Every tool shares a uniform mc_ prefix and snake_case form, with grouped prefixes for related operations (mc_goto/mc_goto_stop/mc_goto_status, mc_chat/mc_chat_log). A few tools are noun-only (mc_status, mc_screenshot, mc_inventory, mc_world, mc_hotbar) rather than verb_noun, so the pattern is predictable but not strictly uniform.
23 tools is on the heavy side of the rubric, but the domain is a full Minecraft client control surface, and each tool covers a distinct capability (look, move, use, attack, screen widgets, inventory, chat, world management, pathfinding). Only marginal candidates for merging exist (mc_use/mc_attack into mc_key, mc_goto_stop into mc_goto), so the set is slightly over-scoped but reasonable.
The surface covers the core agent lifecycle: observe state (status, screenshot, screen, inventory, chat log), act (move, look, key, click, type, use, attack), navigate (goto + status/stop), and manage worlds and respawn. Gaps are minor and mostly workaroundable — inventory is read-only (no direct slot-to-slot item moves or drops), and there is no explicit block-break/place or container-transfer operation beyond raw attack/use/click.