hermescraft

Embodied AI companion for Minecraft — persistent memory, vision, learning, multi-agent. Built on Hermes Agent.

★ 9 JavaScript MIT Updated 3/25/2026
View on GitHub → Homepage

HermesCraft

██╗  ██╗███████╗██████╗ ███╗   ███╗███████╗███████╗ ██████╗██████╗  █████╗ ███████╗████████╗
██║  ██║██╔════╝██╔══██╗████╗ ████║██╔════╝██╔════╝██╔════╝██╔══██╗██╔══██╗██╔════╝╚══██╔══╝
███████║█████╗  ██████╔╝██╔████╔██║█████╗  ███████╗██║     ██████╔╝███████║█████╗     ██║
██╔══██║██╔══╝  ██╔══██╗██║╚██╔╝██║██╔══╝  ╚════██║██║     ██╔══██╗██╔══██║██╔══╝     ██║
██║  ██║███████╗██║  ██║██║ ╚═╝ ██║███████╗███████║╚██████╗██║  ██║██║  ██║██║        ██║
╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝╚══════╝╚══════╝ ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝        ╚═╝

Embodied Hermes agents for Minecraft.
One agent can feel like a companion.
Many agents can make a world feel alive.

HermesCraft lets you play Minecraft with Hermes agents as actual in-world players.

A Hermes agent can join your world, chat with you in Minecraft, follow you, gather resources, build, fight, remember what happened, and adapt over time. The same architecture also scales to multi-agent worlds, where many Hermes agents share the same server, privately message each other, and gradually become characters in the world.

Built for the Nous Hermes hackathon.

What HermesCraft actually is

HermesCraft is not a fake NPC framework and not a separate custom agent runtime.

Each character is a normal Hermes agent with:

Core architecture:

Hermes Agent
  -> terminal + tools
  -> mc CLI
  -> bot/server.js HTTP API
  -> Mineflayer bot body
  -> Minecraft world

That same stack powers:

Why this matters

Most Minecraft AI projects are one of these:

HermesCraft is trying to be something more useful and more believable:

Long term, this points toward MiroFish-style agent societies — but in a physical sandbox world with terrain, resources, danger, geography, structures, and human players.

Main modes

Companion Mode

Run one Hermes agent as an in-world Minecraft friend.

What it can do today:

Good use cases:

Civilization Mode

Run multiple Hermes agents in the same world.

What makes it interesting:

The current featured civilization cast is the crash-survivor group:

Landfolk Mode

A smaller 5-character cast for a player's personal LAN world.

Current cast:

This mode is meant to make a normal personal world feel more alive without going all the way to a full civilization sim.

Core features

Embodied gameplay

Fair-play perception

Social systems

Persistent identity

Stable vs experimental

Most stable path today:

More experimental / still being hardened:

If you want the most reliable behavior, use the direct or primary launcher flows shown below.

Prerequisites

Setup:

cd ~/hermescraft
./setup.sh

Quickstart

Companion Mode

Fastest way to start one Minecraft buddy (Steve):

cd ~/hermescraft
./start-steve.sh

The script asks for your LAN port, starts Steve's bot body, then opens a terminal running Steve's Hermes brain.

If you already have a world open to LAN and want the generic single-agent flow instead:

cd ~/hermescraft
MC_PORT=<LAN_PORT> ./hermescraft.sh

Examples in chat:

Civilization Mode

cd ~/hermescraft
./civilization.sh --port <PORT>

Landfolk Mode

Most reliable path:

  1. start the bot bodies
  2. launch each Hermes brain directly in its own terminal

Start the Landfolk bot bodies:

cd ~/hermescraft
./scripts/run-landfolk-bots.sh <LAN_PORT>

Then launch one agent per terminal.

Example for Steve:

cd ~/hermescraft
PROMPT="$(cat prompts/landfolk/steve.md)" && \
HERMES_HOME="$HOME/.hermes-landfolk-steve" \
MC_API_URL="http://localhost:3001" \
MC_USERNAME="Steve" \
hermes chat --yolo -q "$PROMPT" -m claude-sonnet-4-20250514 --provider anthropic

You can use the helper script instead:

cd ~/hermescraft
./scripts/run-landfolk-agent.sh Steve 3001 prompts/landfolk/steve.md "$HOME/.hermes-landfolk-steve"

Repeat the pattern for Reed, Moss, Flint, and Ember on ports 3002–3005.

Useful mc commands

Observation:

mc status
mc inventory
mc nearby 24
mc look
mc map 24
mc scene 16
mc social
mc read_chat
mc commands

Action:

mc bg_collect oak_log 5
mc bg_goto 100 64 100
mc follow Steve
mc craft stone_pickaxe
mc fight zombie
mc flee 16
mc chat "hello"
mc whisper Reed "meet me by the shore"

Vision:

mc screenshot_meta

Fairness and non-xray design

HermesCraft is intentionally trying to avoid god-mode behavior.

In fair-play mode:

This matters for both believability and demo integrity.

Repository guide

Primary files:

Archived reference / experimental material:

Testing

cd bot
npm test

Sanity checks:

node --check bot/server.js
bash -n civilization.sh
bash -n hermescraft.sh
bash -n landfolk.sh
bash -n setup.sh
bash -n server/start.sh
bash -n scripts/run-landfolk-agent.sh
bash -n scripts/run-landfolk-bots.sh

Known limitations

Current focus is early/mid-game survival, companion play, and small-society behavior — not full endgame autonomy.

Still rough:

Big picture

Minecraft is the proving ground, not the endpoint.

HermesCraft is really about whether the same Hermes architecture can work in two human-legible scales:

If one agent can feel like a friend, and many agents can start to make a world feel inhabited, that is a strong foundation for persistent embodied AI systems.

License

MIT