All Mods Resource Packs Data Packs Shaders Modpacks Plugins
MCPFabric

MCPFabric

by denfry • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

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.1 and 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

  1. 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.
  2. Launch the game once. The mod creates config/mcpfabric.config.json and starts the bridge on http://127.0.0.1:25599.
  3. Copy token from config/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 (+ screenshot for 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_blocks or a series of set_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:

  1. 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).
  2. Make sure you have the compatible loader or environment installed for Fabric, Neoforge.
  3. Move the downloaded MCPFabric file into your Minecraft .minecraft/mods folder and launch the game.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.3
Neoforge
21d ago 1
26.2
Neoforge
21d ago 1
26.1.2
Neoforge
21d ago 1
1.21.9
Neoforge
21d ago 1
26.3
Fabric
21d ago 1
1.21.8
Neoforge
21d ago 1
26.2
Fabric
21d ago 1
1.21.7
Neoforge
21d ago 1
26.1.x
Fabric
21d ago 1
1.21.6
Neoforge
21d ago 1
1.21.9
Fabric
21d ago 1
1.21.5
Neoforge
21d ago 1
1.21.8
Fabric
21d ago 1
1.21.4
Neoforge
21d ago 1
1.21.7
Fabric
21d ago 1
1.21.3
Neoforge
21d ago 1
1.21.6
Fabric
21d ago 1
1.21.11
Neoforge
21d ago 1
1.21.5
Fabric
21d ago 1
1.21.10
Neoforge
21d ago 1
1.21.4
Fabric
21d ago 1
1.21.1
Neoforge
21d ago 1
1.21.3
Fabric
21d ago 1
1.21.2
Fabric
21d ago 1
1.21.11
Fabric
21d ago 1
1.21.10
Fabric
21d ago 1
1.21.1
Fabric
21d ago 1
26.3
Neoforge
22d ago 1
26.2
Neoforge
22d ago 1
26.1.2
Neoforge
22d ago 1
1.21.9
Neoforge
22d ago 1
26.3
Fabric
22d ago 1
26.2
Fabric
22d ago 1
26.1.x
Fabric
22d ago 1
1.21.9
Fabric
22d ago 1
1.21.8
Fabric
22d ago 1
1.21.7
Fabric
22d ago 1
1.21.6
Fabric
22d ago 1
1.21.5
Fabric
22d ago 1
1.21.4
Fabric
22d ago 1
1.21.3
Fabric
22d ago 1
1.21.2
Fabric
22d ago 1
1.21.11
Fabric
22d ago 1
1.21.10
Fabric
22d ago 1
1.21.8
Neoforge
22d ago 1
1.21.1
Fabric
22d ago 1
1.21.7
Neoforge
22d ago 1
1.21.6
Neoforge
22d ago 1
1.21.5
Neoforge
22d ago 1
1.21.4
Neoforge
22d ago 1
1.21.3
Neoforge
22d ago 1
1.21.11
Neoforge
22d ago 1
1.21.10
Neoforge
22d ago 1
1.21.1
Neoforge
22d ago 1
26.3
Neoforge
22d ago 1
26.3
Fabric
22d ago 1
26.2
Neoforge
22d ago 1
26.2
Fabric
22d ago 1
26.1.2
Neoforge
22d ago 1
26.1.x
Fabric
22d ago 1
1.21.9
Neoforge
22d ago 1
1.21.9
Fabric
22d ago 1
1.21.8
Neoforge
22d ago 1
1.21.8
Fabric
22d ago 1
1.21.7
Neoforge
22d ago 1
1.21.7
Fabric
22d ago 1
1.21.6
Neoforge
22d ago 1
1.21.6
Fabric
22d ago 1
1.21.5
Neoforge
22d ago 1
1.21.5
Fabric
22d ago 1
1.21.4
Neoforge
22d ago 1
1.21.4
Fabric
22d ago 1
1.21.3
Neoforge
22d ago 1
1.21.3
Fabric
22d ago 1
1.21.11
Neoforge
22d ago 1
1.21.2
Fabric
22d ago 1
1.21.10
Neoforge
22d ago 1
1.21.11
Fabric
22d ago 1
1.21.1
Neoforge
22d ago 1
1.21.10
Fabric
22d ago 1
1.21.1
Fabric
22d ago 1
26.3
Fabric
1mo ago 1
26.2
Fabric
1mo ago 1
26.3
Neoforge
1mo ago 1
26.1.x
Fabric
1mo ago 1
26.2
Neoforge
1mo ago 1
1.21.9
Fabric
1mo ago 1
26.1.2
Neoforge
1mo ago 1
1.21.8
Fabric
1mo ago 1
1.21.9
Neoforge
1mo ago 1
1.21.7
Fabric
1mo ago 1
1.21.8
Neoforge
1mo ago 1
1.21.6
Fabric
1mo ago 1
1.21.7
Neoforge
1mo ago 1
1.21.5
Fabric
1mo ago 1
1.21.6
Neoforge
1mo ago 1
1.21.4
Fabric
1mo ago 1
1.21.5
Neoforge
1mo ago 1
1.21.3
Fabric
1mo ago 1
1.21.4
Neoforge
1mo ago 1
1.21.2
Fabric
1mo ago 1
1.21.3
Neoforge
1mo ago 1
1.21.11
Fabric
1mo ago 1
1.21.11
Neoforge
1mo ago 1
1.21.10
Fabric
1mo ago 1
1.21.10
Neoforge
1mo ago 1
1.21.1
Fabric
1mo ago 1
1.21.1
Neoforge
1mo ago 1
26.3
Fabric
1mo ago 1
26.2
Fabric
1mo ago 1
26.1.x
Fabric
1mo ago 1
26.3
Neoforge
1mo ago 1
1.21.9
Fabric
1mo ago 1
26.2
Neoforge
1mo ago 1
1.21.8
Fabric
1mo ago 1
26.1.2
Neoforge
1mo ago 1
1.21.7
Fabric
1mo ago 1
1.21.9
Neoforge
1mo ago 1
1.21.8
Neoforge
1mo ago 1
1.21.6
Fabric
1mo ago 1
1.21.7
Neoforge
1mo ago 1
1.21.5
Fabric
1mo ago 1
1.21.6
Neoforge
1mo ago 1
1.21.4
Fabric
1mo ago 1
1.21.5
Neoforge
1mo ago 1
1.21.3
Fabric
1mo ago 1
1.21.4
Neoforge
1mo ago 1
1.21.2
Fabric
1mo ago 1
1.21.3
Neoforge
1mo ago 1
1.21.11
Fabric
1mo ago 1
1.21.11
Neoforge
1mo ago 1
1.21.10
Neoforge
1mo ago 1
1.21.10
Fabric
1mo ago 1
1.21.1
Neoforge
1mo ago 1
1.21.1
Fabric
1mo ago 1
26.3
Fabric
1mo ago 1
26.2
Fabric
1mo ago 1
26.1.x
Fabric
1mo ago 1
1.21.9
Fabric
1mo ago 1
26.3
Neoforge
1mo ago 1
1.21.8
Fabric
1mo ago 1
26.2
Neoforge
1mo ago 1
1.21.7
Fabric
1mo ago 1
26.1.2
Neoforge
1mo ago 1
1.21.6
Fabric
1mo ago 1
1.21.9
Neoforge
1mo ago 1
1.21.5
Fabric
1mo ago 1
1.21.8
Neoforge
1mo ago 1
1.21.4
Fabric
1mo ago 1
1.21.7
Neoforge
1mo ago 1
1.21.3
Fabric
1mo ago 1
1.21.6
Neoforge
1mo ago 1
1.21.2
Fabric
1mo ago 1
1.21.5
Neoforge
1mo ago 1
1.21.11
Fabric
1mo ago 1
1.21.4
Neoforge
1mo ago 1
1.21.10
Fabric
1mo ago 1
1.21.3
Neoforge
1mo ago 1
1.21.1
Fabric
1mo ago 1
1.21.11
Neoforge
1mo ago 1
1.21.10
Neoforge
1mo ago 1
1.21.1
Neoforge
1mo ago 1
26.3
Neoforge
1mo ago 1
26.2
Neoforge
1mo ago 1
26.1.2
Neoforge
1mo ago 1
1.21.9
Neoforge
1mo ago 1
1.21.8
Neoforge
1mo ago 1
1.21.7
Neoforge
1mo ago 1
1.21.6
Neoforge
1mo ago 1
1.21.5
Neoforge
1mo ago 1
1.21.4
Neoforge
1mo ago 1
1.21.3
Neoforge
1mo ago 1
1.21.11
Neoforge
1mo ago 1
1.21.10
Neoforge
1mo ago 1
1.21.1
Neoforge
1mo ago 1
26.3
Fabric
1mo ago 1
26.2
Fabric
1mo ago 1
26.1.x
Fabric
1mo ago 1
1.21.9
Fabric
1mo ago 1
1.21.8
Fabric
1mo ago 1
1.21.7
Fabric
1mo ago 1
1.21.6
Fabric
1mo ago 1
1.21.5
Fabric
1mo ago 1
1.21.4
Fabric
1mo ago 1
1.21.3
Fabric
1mo ago 1
1.21.2
Fabric
1mo ago 1
1.21.11
Fabric
1mo ago 1
1.21.10
Fabric
1mo ago 1
1.21.1
Fabric
1mo ago 1
1.21.8
Fabric
5mo ago 1
Fabric and NeoForge. Implements #27, thanks to @faizsaifulnizam.

### Added
  • Supervised mode (#27), behind the new enableSupervisedControl flag (off by default, and
independent of the other enable* flags) and reported as the supervised capability group. Each
call 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 10
ticks), supervised_read_block, supervised_set_block (only if the block there is the expected
one), 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 other
supervised 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).
Fabric and NeoForge. Implements #27, thanks to @faizsaifulnizam.

### Added
  • Supervised mode (#27), behind the new enableSupervisedControl flag (off by default, and
independent of the other enable* flags) and reported as the supervised capability group. Each
call 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 10
ticks), supervised_read_block, supervised_set_block (only if the block there is the expected
one), 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 other
supervised 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).
Fabric and NeoForge. Implements #27, thanks to @faizsaifulnizam.

### Added
  • Supervised mode (#27), behind the new enableSupervisedControl flag (off by default, and
independent of the other enable* flags) and reported as the supervised capability group. Each
call 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 10
ticks), supervised_read_block, supervised_set_block (only if the block there is the expected
one), 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 other
supervised 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).
Fabric and NeoForge. Implements #27, thanks to @faizsaifulnizam.

### Added
  • Supervised mode (#27), behind the new enableSupervisedControl flag (off by default, and
independent of the other enable* flags) and reported as the supervised capability group. Each
call 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 10
ticks), supervised_read_block, supervised_set_block (only if the block there is the expected
one), 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 other
supervised 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).
Fabric and NeoForge. Implements #27, thanks to @faizsaifulnizam.

### Added
  • Supervised mode (#27), behind the new enableSupervisedControl flag (off by default, and
independent of the other enable* flags) and reported as the supervised capability group. Each
call 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 10
ticks), supervised_read_block, supervised_set_block (only if the block there is the expected
one), 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 other
supervised 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).
Fabric and NeoForge. Implements #27, thanks to @faizsaifulnizam.

### Added
  • Supervised mode (#27), behind the new enableSupervisedControl flag (off by default, and
independent of the other enable* flags) and reported as the supervised capability group. Each
call 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 10
ticks), supervised_read_block, supervised_set_block (only if the block there is the expected
one), 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 other
supervised 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).
Fabric and NeoForge. Implements #27, thanks to @faizsaifulnizam.

### Added
  • Supervised mode (#27), behind the new enableSupervisedControl flag (off by default, and
independent of the other enable* flags) and reported as the supervised capability group. Each
call 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 10
ticks), supervised_read_block, supervised_set_block (only if the block there is the expected
one), 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 other
supervised 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).
Fabric and NeoForge. Implements #27, thanks to @faizsaifulnizam.

### Added
  • Supervised mode (#27), behind the new enableSupervisedControl flag (off by default, and
independent of the other enable* flags) and reported as the supervised capability group. Each
call 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 10
ticks), supervised_read_block, supervised_set_block (only if the block there is the expected
one), 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 other
supervised 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).
Fabric and NeoForge. Implements #27, thanks to @faizsaifulnizam.

### Added
  • Supervised mode (#27), behind the new enableSupervisedControl flag (off by default, and
independent of the other enable* flags) and reported as the supervised capability group. Each
call 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 10
ticks), supervised_read_block, supervised_set_block (only if the block there is the expected
one), 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 other
supervised 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).
Fabric and NeoForge. Implements #27, thanks to @faizsaifulnizam.

### Added
  • Supervised mode (#27), behind the new enableSupervisedControl flag (off by default, and
independent of the other enable* flags) and reported as the supervised capability group. Each
call 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 10
ticks), supervised_read_block, supervised_set_block (only if the block there is the expected
one), 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 other
supervised 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).
Fabric and NeoForge. Implements #27, thanks to @faizsaifulnizam.

### Added
  • Supervised mode (#27), behind the new enableSupervisedControl flag (off by default, and
independent of the other enable* flags) and reported as the supervised capability group. Each
call 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 10
ticks), supervised_read_block, supervised_set_block (only if the block there is the expected
one), 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 other
supervised 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).
Fabric and NeoForge. Implements #27, thanks to @faizsaifulnizam.

### Added
  • Supervised mode (#27), behind the new enableSupervisedControl flag (off by default, and
independent of the other enable* flags) and reported as the supervised capability group. Each
call 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 10
ticks), supervised_read_block, supervised_set_block (only if the block there is the expected
one), 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 other
supervised 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).
Fabric and NeoForge. Implements #27, thanks to @faizsaifulnizam.

### Added
  • Supervised mode (#27), behind the new enableSupervisedControl flag (off by default, and
independent of the other enable* flags) and reported as the supervised capability group. Each
call 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 10
ticks), supervised_read_block, supervised_set_block (only if the block there is the expected
one), 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 other
supervised 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).
Fabric and NeoForge. Implements #27, thanks to @faizsaifulnizam.

### Added
  • Supervised mode (#27), behind the new enableSupervisedControl flag (off by default, and
independent of the other enable* flags) and reported as the supervised capability group. Each
call 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 10
ticks), supervised_read_block, supervised_set_block (only if the block there is the expected
one), 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 other
supervised 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).
Fabric and NeoForge. Implements #27, thanks to @faizsaifulnizam.

### Added
  • Supervised mode (#27), behind the new enableSupervisedControl flag (off by default, and
independent of the other enable* flags) and reported as the supervised capability group. Each
call 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 10
ticks), supervised_read_block, supervised_set_block (only if the block there is the expected
one), 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 other
supervised 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).
MCPFabric Icon
Download MCPFabric
Select game version
Select platform