MCP Fabric is a Minecraft Fabric mod that gives AI agents full read and control access to the game through the Model Context Protocol (MCP). Connect Claude — or any MCP client — to Minecraft and let it observe the world, play as your character, or act as a server operator, using 50+ tools across Minecraft 1.21.1 – 26.3.
It ships in two parts: a Fabric mod that embeds a local HTTP bridge inside Minecraft, and a small MCP server that connects to that bridge and exposes the tools to your AI assistant.
- AI plays Minecraft — movement, mining, building, combat, navigation, and vision (screenshots for vision models).
- Server operator powers — run any command, edit the world, manage entities and players.
- Full observation — blocks, entities, inventory, chat, time/weather, and live game events.
- Works with any MCP client — Claude Desktop, Claude Code, and more.
- Broad version support — one mod, 14 jars, Minecraft 1.21.x and the 26.x line.
- Local & token-secured by default — the bridge binds to
127.0.0.1and requires a bearer token.
What can the AI do?
Once connected, your AI assistant can both see and act:
- Play as your character (client): move, look, jump, mine and place blocks, use and drop items, attack, manage the hotbar and inventory, and pathfind to coordinates with built-in A* navigation.
- See the game (client): read your status, inventory and equipment, capture screenshots for vision models, and get a text description of the surroundings.
- Operate a world/server: read and write blocks, fill regions, summon and remove entities, set time and weather, and run any operator-level command with output captured back.
- Manage players (server): list players, teleport, set gamemode, give items, apply effects, message, or kick.
- Stay aware: poll recent events — damage, deaths, chat, spawns, and player join/leave.
How does it work?
Claude / any MCP client
│ MCP (stdio or streamable HTTP)
mcp-server (Node / TypeScript)
│ HTTP: POST /rpc (JSON-RPC) + GET /events (SSE), bearer token, 127.0.0.1 only
Fabric mod "mcpfabric" (HTTP server embedded in Minecraft)
│ all game access runs on the main thread
common (env *): info · world · entities · players · command · chat · events
client (env): player · control · interact · inventory · vision · navigation
Reads use Minecraft's native API for structured data. Writes (setblock, summon, give, teleport, effects, weather, time) go through the command dispatcher with output capture. Player control uses the vanilla input pipeline (KeyMapping), screenshots use the vanilla screenshot system, and navigation is a custom A* pathfinder.
Supported Minecraft versions
A single source tree targets many versions with Stonecutter. Each version ships its own jar named mcpfabric-<modVersion>+<mcVersion>.jar.
| Line | Minecraft versions (one jar each) | Java |
|---|---|---|
| 1.21.x | 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11 | 21 |
| 26.x | 26.1.2 (installs on 26.1 – 26.1.2), 26.2, 26.3 | 25 |
Requirements: Fabric Loader ≥ 0.19.5, the matching Fabric API build, and Node.js ≥ 20 for the MCP server.
Installation
- Download the jar for your Minecraft version and drop it — together with Fabric API — into your
mods/folder.- Client (AI plays as you): your Fabric instance's
mods/folder. - Server (AI as admin): your dedicated Fabric server's
mods/folder. - Both sides at once is fine.
- Client (AI plays as you): your Fabric instance's
- Launch the game once. The mod creates
config/mcpfabric.config.jsonand starts the bridge onhttp://127.0.0.1:25599. - Copy
tokenfromconfig/mcpfabric.config.json— the MCP server needs it. (The token is never printed to the log.)
Full setup for the MCP server and connecting to Claude Desktop / Claude Code is in the README on GitHub.
Tools (50+)
- info —
get_status,list_capabilities - world (read) —
get_block,get_blocks_region,find_blocks,get_time_and_weather,list_dimensions,raycast - world (write) —
set_block,fill_blocks,set_time,set_weather - entities —
query_entities,get_entity,summon_entity,remove_entity - players (admin) —
list_players,get_player,teleport_player,set_gamemode,give_item,apply_effect,message_player,kick_player - command —
run_command(any operator-level command, with output capture) - chat —
send_chat,get_recent_chat - player (client) —
get_self,get_inventory,get_equipment,get_status_effects - control (client) —
set_movement,stop_movement,look,look_at,jump,start_using_item,stop_using_item - interact (client) —
break_block,place_block,use_item,attack_entity,use_entity,drop_held_item - inventory (client) —
select_hotbar_slot,drop_slot,swap_slots - vision (client) —
screenshot,describe_scene - navigation (client) —
navigate_to,navigation_status,stop_navigation - events —
poll_events
Server tools require a running server (integrated or dedicated); client tools require the client. Call get_status first — it reports which side you're on and which tool groups are available.
Example prompts
- "Look around and describe what's nearby" →
get_self+describe_scene(+screenshotfor a vision model). - "Walk to these coordinates and mine diamonds" →
find_blocks→navigate_to→break_block. - "What's happening on the server?" →
list_players+poll_events. - "Build a wall here" →
fill_blocksor a series ofset_block/run_command.
Is it safe?
The bridge listens on 127.0.0.1 only and requires a bearer token by default. Operator-level capabilities (run_command, world writes, player control) are on by default, giving the AI full control — you can disable capability groups with the enable* flags in the config. Don't expose the bridge externally without an authenticated reverse proxy in front of it. See the security policy.
Source code & license
Open source under the MIT license. Code, full documentation, and issue tracker live on GitHub — contributions and bug reports welcome.
How to Install MCPFabric (Mod)
MCPFabric by denfry is verified for Fabric, Neoforge across Minecraft versions 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6 (latest release: 0.8.0+26.3-neoforge, file size: 248 KB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6) and platform (Fabric, Neoforge).
- Make sure you have the compatible loader or environment installed for Fabric, Neoforge.
- Move the downloaded MCPFabric file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 21d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 22d ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 5mo ago | 1 |
### Added
- Supervised mode (#27), behind the new
enableSupervisedControlflag (off by default, and
enable* flags) and reported as the supervised capability group. Eachcall is one narrow action under a grant that names its exact target, is bound to the current
world and dimension, expires after 2 seconds and cannot be renewed; STOP, a context change or a
new supervisor session fences it. New tools:
supervised_input (one movement key for up to 10ticks),
supervised_read_block, supervised_set_block (only if the block there is the expectedone),
supervised_command (command roots from supervisedCommands), supervised_enter_world /supervised_leave_world (saves from supervisedWorlds), supervised_reconcile,supervised_status and supervised_stop. Every answer has an outcome (applied,not_applied, interrupted, pending, uncertain); while one is pending or uncertain, no othersupervised action runs until it is reconciled, and nothing is retried automatically. The MCP
server keeps the supervisor session id and request sequence numbers to itself, so stale and
replayed requests are refused. Settled actions are reported as
supervised_action events. See[docs/SUPERVISED.md](docs/SUPERVISED.md).
### Added
- Supervised mode (#27), behind the new
enableSupervisedControlflag (off by default, and
enable* flags) and reported as the supervised capability group. Eachcall is one narrow action under a grant that names its exact target, is bound to the current
world and dimension, expires after 2 seconds and cannot be renewed; STOP, a context change or a
new supervisor session fences it. New tools:
supervised_input (one movement key for up to 10ticks),
supervised_read_block, supervised_set_block (only if the block there is the expectedone),
supervised_command (command roots from supervisedCommands), supervised_enter_world /supervised_leave_world (saves from supervisedWorlds), supervised_reconcile,supervised_status and supervised_stop. Every answer has an outcome (applied,not_applied, interrupted, pending, uncertain); while one is pending or uncertain, no othersupervised action runs until it is reconciled, and nothing is retried automatically. The MCP
server keeps the supervisor session id and request sequence numbers to itself, so stale and
replayed requests are refused. Settled actions are reported as
supervised_action events. See[docs/SUPERVISED.md](docs/SUPERVISED.md).
### Added
- Supervised mode (#27), behind the new
enableSupervisedControlflag (off by default, and
enable* flags) and reported as the supervised capability group. Eachcall is one narrow action under a grant that names its exact target, is bound to the current
world and dimension, expires after 2 seconds and cannot be renewed; STOP, a context change or a
new supervisor session fences it. New tools:
supervised_input (one movement key for up to 10ticks),
supervised_read_block, supervised_set_block (only if the block there is the expectedone),
supervised_command (command roots from supervisedCommands), supervised_enter_world /supervised_leave_world (saves from supervisedWorlds), supervised_reconcile,supervised_status and supervised_stop. Every answer has an outcome (applied,not_applied, interrupted, pending, uncertain); while one is pending or uncertain, no othersupervised action runs until it is reconciled, and nothing is retried automatically. The MCP
server keeps the supervisor session id and request sequence numbers to itself, so stale and
replayed requests are refused. Settled actions are reported as
supervised_action events. See[docs/SUPERVISED.md](docs/SUPERVISED.md).
### Added
- Supervised mode (#27), behind the new
enableSupervisedControlflag (off by default, and
enable* flags) and reported as the supervised capability group. Eachcall is one narrow action under a grant that names its exact target, is bound to the current
world and dimension, expires after 2 seconds and cannot be renewed; STOP, a context change or a
new supervisor session fences it. New tools:
supervised_input (one movement key for up to 10ticks),
supervised_read_block, supervised_set_block (only if the block there is the expectedone),
supervised_command (command roots from supervisedCommands), supervised_enter_world /supervised_leave_world (saves from supervisedWorlds), supervised_reconcile,supervised_status and supervised_stop. Every answer has an outcome (applied,not_applied, interrupted, pending, uncertain); while one is pending or uncertain, no othersupervised action runs until it is reconciled, and nothing is retried automatically. The MCP
server keeps the supervisor session id and request sequence numbers to itself, so stale and
replayed requests are refused. Settled actions are reported as
supervised_action events. See[docs/SUPERVISED.md](docs/SUPERVISED.md).
### Added
- Supervised mode (#27), behind the new
enableSupervisedControlflag (off by default, and
enable* flags) and reported as the supervised capability group. Eachcall is one narrow action under a grant that names its exact target, is bound to the current
world and dimension, expires after 2 seconds and cannot be renewed; STOP, a context change or a
new supervisor session fences it. New tools:
supervised_input (one movement key for up to 10ticks),
supervised_read_block, supervised_set_block (only if the block there is the expectedone),
supervised_command (command roots from supervisedCommands), supervised_enter_world /supervised_leave_world (saves from supervisedWorlds), supervised_reconcile,supervised_status and supervised_stop. Every answer has an outcome (applied,not_applied, interrupted, pending, uncertain); while one is pending or uncertain, no othersupervised action runs until it is reconciled, and nothing is retried automatically. The MCP
server keeps the supervisor session id and request sequence numbers to itself, so stale and
replayed requests are refused. Settled actions are reported as
supervised_action events. See[docs/SUPERVISED.md](docs/SUPERVISED.md).
### Added
- Supervised mode (#27), behind the new
enableSupervisedControlflag (off by default, and
enable* flags) and reported as the supervised capability group. Eachcall is one narrow action under a grant that names its exact target, is bound to the current
world and dimension, expires after 2 seconds and cannot be renewed; STOP, a context change or a
new supervisor session fences it. New tools:
supervised_input (one movement key for up to 10ticks),
supervised_read_block, supervised_set_block (only if the block there is the expectedone),
supervised_command (command roots from supervisedCommands), supervised_enter_world /supervised_leave_world (saves from supervisedWorlds), supervised_reconcile,supervised_status and supervised_stop. Every answer has an outcome (applied,not_applied, interrupted, pending, uncertain); while one is pending or uncertain, no othersupervised action runs until it is reconciled, and nothing is retried automatically. The MCP
server keeps the supervisor session id and request sequence numbers to itself, so stale and
replayed requests are refused. Settled actions are reported as
supervised_action events. See[docs/SUPERVISED.md](docs/SUPERVISED.md).
### Added
- Supervised mode (#27), behind the new
enableSupervisedControlflag (off by default, and
enable* flags) and reported as the supervised capability group. Eachcall is one narrow action under a grant that names its exact target, is bound to the current
world and dimension, expires after 2 seconds and cannot be renewed; STOP, a context change or a
new supervisor session fences it. New tools:
supervised_input (one movement key for up to 10ticks),
supervised_read_block, supervised_set_block (only if the block there is the expectedone),
supervised_command (command roots from supervisedCommands), supervised_enter_world /supervised_leave_world (saves from supervisedWorlds), supervised_reconcile,supervised_status and supervised_stop. Every answer has an outcome (applied,not_applied, interrupted, pending, uncertain); while one is pending or uncertain, no othersupervised action runs until it is reconciled, and nothing is retried automatically. The MCP
server keeps the supervisor session id and request sequence numbers to itself, so stale and
replayed requests are refused. Settled actions are reported as
supervised_action events. See[docs/SUPERVISED.md](docs/SUPERVISED.md).
### Added
- Supervised mode (#27), behind the new
enableSupervisedControlflag (off by default, and
enable* flags) and reported as the supervised capability group. Eachcall is one narrow action under a grant that names its exact target, is bound to the current
world and dimension, expires after 2 seconds and cannot be renewed; STOP, a context change or a
new supervisor session fences it. New tools:
supervised_input (one movement key for up to 10ticks),
supervised_read_block, supervised_set_block (only if the block there is the expectedone),
supervised_command (command roots from supervisedCommands), supervised_enter_world /supervised_leave_world (saves from supervisedWorlds), supervised_reconcile,supervised_status and supervised_stop. Every answer has an outcome (applied,not_applied, interrupted, pending, uncertain); while one is pending or uncertain, no othersupervised action runs until it is reconciled, and nothing is retried automatically. The MCP
server keeps the supervisor session id and request sequence numbers to itself, so stale and
replayed requests are refused. Settled actions are reported as
supervised_action events. See[docs/SUPERVISED.md](docs/SUPERVISED.md).
### Added
- Supervised mode (#27), behind the new
enableSupervisedControlflag (off by default, and
enable* flags) and reported as the supervised capability group. Eachcall is one narrow action under a grant that names its exact target, is bound to the current
world and dimension, expires after 2 seconds and cannot be renewed; STOP, a context change or a
new supervisor session fences it. New tools:
supervised_input (one movement key for up to 10ticks),
supervised_read_block, supervised_set_block (only if the block there is the expectedone),
supervised_command (command roots from supervisedCommands), supervised_enter_world /supervised_leave_world (saves from supervisedWorlds), supervised_reconcile,supervised_status and supervised_stop. Every answer has an outcome (applied,not_applied, interrupted, pending, uncertain); while one is pending or uncertain, no othersupervised action runs until it is reconciled, and nothing is retried automatically. The MCP
server keeps the supervisor session id and request sequence numbers to itself, so stale and
replayed requests are refused. Settled actions are reported as
supervised_action events. See[docs/SUPERVISED.md](docs/SUPERVISED.md).
### Added
- Supervised mode (#27), behind the new
enableSupervisedControlflag (off by default, and
enable* flags) and reported as the supervised capability group. Eachcall is one narrow action under a grant that names its exact target, is bound to the current
world and dimension, expires after 2 seconds and cannot be renewed; STOP, a context change or a
new supervisor session fences it. New tools:
supervised_input (one movement key for up to 10ticks),
supervised_read_block, supervised_set_block (only if the block there is the expectedone),
supervised_command (command roots from supervisedCommands), supervised_enter_world /supervised_leave_world (saves from supervisedWorlds), supervised_reconcile,supervised_status and supervised_stop. Every answer has an outcome (applied,not_applied, interrupted, pending, uncertain); while one is pending or uncertain, no othersupervised action runs until it is reconciled, and nothing is retried automatically. The MCP
server keeps the supervisor session id and request sequence numbers to itself, so stale and
replayed requests are refused. Settled actions are reported as
supervised_action events. See[docs/SUPERVISED.md](docs/SUPERVISED.md).
### Added
- Supervised mode (#27), behind the new
enableSupervisedControlflag (off by default, and
enable* flags) and reported as the supervised capability group. Eachcall is one narrow action under a grant that names its exact target, is bound to the current
world and dimension, expires after 2 seconds and cannot be renewed; STOP, a context change or a
new supervisor session fences it. New tools:
supervised_input (one movement key for up to 10ticks),
supervised_read_block, supervised_set_block (only if the block there is the expectedone),
supervised_command (command roots from supervisedCommands), supervised_enter_world /supervised_leave_world (saves from supervisedWorlds), supervised_reconcile,supervised_status and supervised_stop. Every answer has an outcome (applied,not_applied, interrupted, pending, uncertain); while one is pending or uncertain, no othersupervised action runs until it is reconciled, and nothing is retried automatically. The MCP
server keeps the supervisor session id and request sequence numbers to itself, so stale and
replayed requests are refused. Settled actions are reported as
supervised_action events. See[docs/SUPERVISED.md](docs/SUPERVISED.md).
### Added
- Supervised mode (#27), behind the new
enableSupervisedControlflag (off by default, and
enable* flags) and reported as the supervised capability group. Eachcall is one narrow action under a grant that names its exact target, is bound to the current
world and dimension, expires after 2 seconds and cannot be renewed; STOP, a context change or a
new supervisor session fences it. New tools:
supervised_input (one movement key for up to 10ticks),
supervised_read_block, supervised_set_block (only if the block there is the expectedone),
supervised_command (command roots from supervisedCommands), supervised_enter_world /supervised_leave_world (saves from supervisedWorlds), supervised_reconcile,supervised_status and supervised_stop. Every answer has an outcome (applied,not_applied, interrupted, pending, uncertain); while one is pending or uncertain, no othersupervised action runs until it is reconciled, and nothing is retried automatically. The MCP
server keeps the supervisor session id and request sequence numbers to itself, so stale and
replayed requests are refused. Settled actions are reported as
supervised_action events. See[docs/SUPERVISED.md](docs/SUPERVISED.md).
### Added
- Supervised mode (#27), behind the new
enableSupervisedControlflag (off by default, and
enable* flags) and reported as the supervised capability group. Eachcall is one narrow action under a grant that names its exact target, is bound to the current
world and dimension, expires after 2 seconds and cannot be renewed; STOP, a context change or a
new supervisor session fences it. New tools:
supervised_input (one movement key for up to 10ticks),
supervised_read_block, supervised_set_block (only if the block there is the expectedone),
supervised_command (command roots from supervisedCommands), supervised_enter_world /supervised_leave_world (saves from supervisedWorlds), supervised_reconcile,supervised_status and supervised_stop. Every answer has an outcome (applied,not_applied, interrupted, pending, uncertain); while one is pending or uncertain, no othersupervised action runs until it is reconciled, and nothing is retried automatically. The MCP
server keeps the supervisor session id and request sequence numbers to itself, so stale and
replayed requests are refused. Settled actions are reported as
supervised_action events. See[docs/SUPERVISED.md](docs/SUPERVISED.md).
### Added
- Supervised mode (#27), behind the new
enableSupervisedControlflag (off by default, and
enable* flags) and reported as the supervised capability group. Eachcall is one narrow action under a grant that names its exact target, is bound to the current
world and dimension, expires after 2 seconds and cannot be renewed; STOP, a context change or a
new supervisor session fences it. New tools:
supervised_input (one movement key for up to 10ticks),
supervised_read_block, supervised_set_block (only if the block there is the expectedone),
supervised_command (command roots from supervisedCommands), supervised_enter_world /supervised_leave_world (saves from supervisedWorlds), supervised_reconcile,supervised_status and supervised_stop. Every answer has an outcome (applied,not_applied, interrupted, pending, uncertain); while one is pending or uncertain, no othersupervised action runs until it is reconciled, and nothing is retried automatically. The MCP
server keeps the supervisor session id and request sequence numbers to itself, so stale and
replayed requests are refused. Settled actions are reported as
supervised_action events. See[docs/SUPERVISED.md](docs/SUPERVISED.md).
### Added
- Supervised mode (#27), behind the new
enableSupervisedControlflag (off by default, and
enable* flags) and reported as the supervised capability group. Eachcall is one narrow action under a grant that names its exact target, is bound to the current
world and dimension, expires after 2 seconds and cannot be renewed; STOP, a context change or a
new supervisor session fences it. New tools:
supervised_input (one movement key for up to 10ticks),
supervised_read_block, supervised_set_block (only if the block there is the expectedone),
supervised_command (command roots from supervisedCommands), supervised_enter_world /supervised_leave_world (saves from supervisedWorlds), supervised_reconcile,supervised_status and supervised_stop. Every answer has an outcome (applied,not_applied, interrupted, pending, uncertain); while one is pending or uncertain, no othersupervised action runs until it is reconciled, and nothing is retried automatically. The MCP
server keeps the supervisor session id and request sequence numbers to itself, so stale and
replayed requests are refused. Settled actions are reported as
supervised_action events. See[docs/SUPERVISED.md](docs/SUPERVISED.md).