mrkeyoor.com_
Wed 07 Oct 07:31 UTC
AI Toolsevaluationupdated 07 Oct 2026

minecraft-agent review

Minecraft Agent is a JavaScript controller that uses Astra for planning, JEV for bounded action selection, and Mineflayer to execute a pre-surveyed Minecraft Java 1.16.5 route. It is useful as a study of model-assisted game control and run evidence, but it does not attempt to solve an unknown Minecraft world from scratch.

Verdict

Our run installed 266 packages and reached 104 passing tests, but 5 of 109 failed, so Minecraft Agent is research code to inspect rather than a clean base to adopt. Use it if you want a concrete bounded-action architecture and can reproduce its fixed Minecraft 1.16.5 route on the author's macOS-shaped setup. Skip it if you need general-world autonomy, portable setup, or a repository that carries its own headline evidence.

We ran it

Lab card: what happened when we ran minecraft-agentScreenshot of minecraft-agent (github.com/rmalde/minecraft-agent)
Install✓ · 133s266 packages · 1268 MB
Buildn/ano build script
Tests✗ · 7s104 passed · 5 failed of 109 (node:test)
Known vulns60 critical · 0 high · 6 moderate · 0 low (npm audit)
Repo238 files~2,894 lines of source · 5.9 MB · 0 CI workflows

Answers from our run

Does minecraft-agent build from source?

Dependencies installed in 133 seconds (266 packages), and the project has no separate build step. We cloned commit 78b40ed into a clean Debian container with 3 CPUs and no project-specific setup.

Do minecraft-agent's tests pass?

Not all of them: 104 of 109 passed and 5 failed when we ran the project's own test command (node:test). Some failures need services or credentials a bare container does not have.

Does minecraft-agent have known vulnerabilities in its dependencies?

npm audit flagged 6 known advisories in the dependency tree at the time of our run.

Who should not use minecraft-agent?

Anyone seeking a general Minecraft agent that discovers an unknown world: the checked-in route names the seed, village, chests, Nether waypoints, and active End portal coordinates.

What are the alternatives to minecraft-agent?

Voyager, Mineflayer, AltoClef. Our run installed 266 packages and reached 104 passing tests, but 5 of 109 failed, so Minecraft Agent is research code to inspect rather than a clean base to adopt.

Setup1/5266 packages plus Java, Python, Minecraft, secrets, and local services
Docs4/5The README names the route, model roles, evidence, and setup limits
Community2/5580 stars, but only 5 open issues and PRs in a very young repo
Maturity2/5No release tags or CI, and our 109-test run had 5 failures

Who it’s for

Agent researchers studying how a planner and a typed action selector can share one game loop.
Mineflayer developers who want concrete navigation, inventory, portal, and dragon-combat code to inspect.
Experimenters willing to reproduce a fixed-seed Minecraft Java 1.16.5 run on macOS and audit the event logs.
Teams comparing bounded model choices with deterministic game automation.

Who it’s NOT for

Anyone seeking a general Minecraft agent that discovers an unknown world: the checked-in route names the seed, village, chests, Nether waypoints, and active End portal coordinates.
Developers who need a clean test gate: our run ended with 104 passing and 5 failing tests, and the repository has no CI workflow.
Linux or Windows users expecting a documented one-command demo: the native renderer and launch scripts were developed on macOS, with machine-specific paths left for the user to configure.
Reviewers who need the headline run evidence in the clone: the README says recordings, generated evidence, Minecraft binaries, runtimes, and worlds remain local and are excluded from Git.
Projects that require a declared open-source license or pinned direct dependencies: GitHub reports no license, while several package entries use latest.

Setup reality

Our sandbox installed commit 78b40ed in 133 seconds, adding 266 packages and using 1,268 MB on disk. There was no build target. The test command failed after 7 seconds: 104 of 109 tests passed and 5 failed. Npm audit found 6 moderate vulnerabilities, with no critical or high findings.

A real run needs a Minecraft Java 1.16.5 server, Java 17 for the supplied native client, Python for its installer and launcher, OpenRouter credit, and Google application default credentials with Secret Manager access. You must edit the original Google project and secret references or provide equivalent local wiring.

The renderer and launch scripts were developed on macOS. You also configure local server paths, an unused world name, run directories, several localhost services, and the hidden native client. npm install prepares the JavaScript side; it does not produce a playable recorded run by itself.

The agent follows one surveyed Minecraft 1.16.5 route

Minecraft Agent does something narrower than its name first suggests. Its checked-in configuration fixes the game at Java 1.16.5, Peaceful difficulty, and seed 8398967436125155523. It names the village, three chests, eight preparation beds, Nether waypoints, and the active End portal. The README is candid about this: the route was surveyed in a separate world, and known coordinates are supplied. That makes the project a controlled agent experiment, not a player dropped into an unknown map.

That distinction decides whether the repository is useful to you. A fixed route lets an engineer study planning, action selection, recovery, and evidence without world generation changing every attempt. It also means the result cannot answer how the same controller would search a new seed, locate a stronghold, or improvise when expected resources move. The code solves a bounded benchmark. Treating it as general Minecraft autonomy would give the models credit for information already present in config.json.

JEV selects actions that the controller already permits

Astra sets objectives, item targets, and travel waypoints. JEV receives the current observation plus a list of available actions, then selects one. Mineflayer handles pathfinding and normal game protocol calls. The action set covers tasks such as visiting a waypoint, mining one block, crafting, opening a chest, eating, sleeping, and using a bed attack during dragon combat.

This division is the project's most useful design idea. The model does not generate arbitrary JavaScript or press unrestricted keys. Handwritten code decides what actions exist and executes the chosen one, which keeps the model inside a typed menu. The tradeoff is equally important: much of the practical Minecraft competence lives in those candidate generators, route rules, safety checks, and executors. Open issue 4 asks for ablation runs against simpler selectors. The repository does not currently supply that comparison, so it cannot isolate how much JEV changes the outcome.

What happened when we ran it

Our sandbox installed commit 78b40ed in 133 seconds. Npm added 266 packages, and the resulting environment occupied 1,268 MB. The repository has no build script, so there was no build step to run. Npm audit reported 6 moderate vulnerabilities and none rated critical or high. For a project with 2,894 lines of source in our scan, the installed footprint is substantial.

The test command exited with failure after 7 seconds. Node's test runner reported 104 passing and 5 failing tests out of 109. The supplied log tail shows tests 98 through 109 passing, including checks around waypoints, breath safety, planner calls, crafting, and completed preparation. It does not show the names or assertion messages for the 5 failures, so assigning them to a dependency, platform, or code defect would be guesswork. The result we can defend is that the full suite was not green.

There is no CI workflow, Dockerfile, or separate tests directory. Tests instead sit beside the modules as .test.mjs files, and the README gives an explicit node --test command for selected areas. A contributor can run them locally, but GitHub does not show an automated check protecting the main branch. The combination of 5 local failures and no visible CI is a reason to inspect every change before relying on a recorded result.

A real run needs Minecraft, three runtimes, and model credit

The 133-second npm install only prepares one layer. A full attempt also needs the official Minecraft Java 1.16.5 server, a compatible Java runtime, Python for the native client, and compiled display and capture support. Model calls need OpenRouter credit. The provided code expects Google application default credentials and Secret Manager access, with the original deployment's project and secret names changed for your account.

Several local services must agree: the main server defaults to port 25576, the status endpoint to 3078, the dragon sensor to 3093, and the model relay to 3099. Fresh evidence also requires a new world name and run directory; changing only the log directory does not reset the world. The README says the native renderer was developed on macOS and that paths need adjustment elsewhere. This is reproducible lab apparatus for a patient owner, not an npm package with a demo command.

The repository explains evidence that it does not ship

The evidence design is more careful than the average game-agent demo. Event logs record requests, model responses, selected actions, results, and completion events. Victory requires dragon-death evidence plus the exit-portal event, with a further world-state and video check. The README separates prepared combat-lab trials from full Survival runs and warns against presenting a paused or repaired recording as uninterrupted.

The catch is access. Recordings, action logs for the named run, saved worlds, downloaded runtimes, and Minecraft binaries are excluded from Git. A clone therefore contains the verifier and documentation, but not the headline run's video or raw evidence. That may be necessary for size and licensing reasons, yet it limits independent review. You can reproduce a new run if you assemble the stack, but you cannot audit the named run from this repository alone.

The September 20 push shows a young project, not a settled release

GitHub listed 580 stars, 5 open issues and pull requests, and no release tag on October 7, 2026. The repository was created and last pushed on September 20. The open queue includes criticism of how much work the fixed route and candidate generator do, plus a portability and local-service hardening pull request. Those are central questions for this experiment, not cosmetic backlog.

The README is unusually direct about fixed coordinates, bounded actions, local evidence, and macOS assumptions. That honesty makes the code worth reading. Adoption is a different call: our 109-test run was not clean, direct dependencies use latest, GitHub reports no license, and the full demonstration needs assets the clone does not contain. Use the repository as a case study, then demand a green suite and comparative controller runs before drawing a larger conclusion.

Alternatives

ProjectWhat it isPick it when
VoyagerAn LLM-driven Minecraft research agent built around exploration, skills, and iterative prompting.pick this instead when open-ended skill acquisition matters more than reproducing one surveyed route.
MineflayerThe JavaScript Minecraft bot API that also supplies this project's game connection layer.pick this instead when you want to design your own bot without the Astra, JEV, and fixed-route experiment.
AltoClefAn archived Baritone-based Minecraft task bot with extensive hand-built automation.pick this instead when studying deterministic task execution is more useful than model-selected actions.

What people are saying

  1. [velocity-scout] rmalde/minecraft-agent

Sources

  1. Minecraft Agent README at commit 78b40ed
  2. Minecraft Agent package manifest at commit 78b40ed
  3. Fixed Nether route configuration at commit 78b40ed
  4. Open issue 4 on controller contribution and ablation
  5. Minecraft Agent GitHub repository

More ai tools reviews

embodied-jev · underclass · laya-coreml · CometixCode · openJev-verdict-2.0 · editaplot2026 · the whole board →