golem
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@golemtell your golem to mine 10 iron ore and bring it back"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Golem
An open framework for running a coding agent as the mind of a Minecraft character. The body stays alive on its own; the mind decides what to do with the life.
What it does
Connects an ACP-speaking coding agent to a headless Minecraft client as a character with a persona, a memory, and goals. Claude Code is what's tested; OpenAI Codex works too through
adapters/codex-acp.ts(seedocs/CONFIG.md), and anything else that speaks ACP should slot in.Keeps the character alive without the model: reflexes (eat, flee, fight, respawn) run deterministically at 250 ms with no API calls.
Gives the mind Shem, a small scripting language over Minecraft primitives so it can batch ten actions into one tool call instead of ten.
Runs a fleet of characters in one process: shared chest index, shared task board, an agent message bus, conversation caps so two bots don't loop forever agreeing with each other.
Ships an eval harness (
golem eval), a per-agent dashboard, a cost reporter, and a replay tool.
Related MCP server: Renge Bot
How it works
In the folklore a golem is inert clay until someone writes a shem (a name, a word
of truth) on a scroll and puts it in its mouth. Golem works the same way: a coding
agent writes .shem scripts into its workspace, checks them, and runs them through
the body. The kill switch is met -- erase the first letter of emet ("truth") and
you get met ("dead"), and it stops.
golem (one process per fleet)
Minecraft body drive mind mcp
server <--- Clef WS client <-> event bus, inbox <-> ACP session <-> tools,
^ state mirror reflexes, budgets (spawned agent) resources
| ^ ^ | cwd ^
| | | v |
Clef JVM primitives <--- shem/ runtime <--- workspace/ ----------+
(per body) goto mine place lexer parser AGENTS.md persona.md
craft equip eat checker interpreter shem/ memory/ runs/Body. A typed TypeScript wrapper over the WebSocket API of MezzoSopranoClef, a headless Minecraft client built on the real Fabric client with Baritone. One JVM per character, no GPU required. Golem maintains a state mirror (position, health, food, held item, open screen, day phase) from the body's status stream, so the common checks read local state instead of round-tripping.
Primitives. Promise-returning operations with world-observable completion:
goto resolves when you arrive, mine resolves when the block is air, place
verifies the block appeared. These are the same ops whether called from a one-shot
MCP tool or from inside a Shem script.
Reflexes. Auto-respawn, bunker (dig in and cap the hole when hurt with hostiles
close), self-preservation, self-defense, cowardice, auto-eat, unstuck, item collecting,
idle staring. The built-ins are TypeScript; more can be written in Shem under
shem/reflexes/. Toggled by the mind or by an owner in chat. A higher-priority reflex
preempts one that's acting, and every firing posts a note to the mind's inbox.
Drive. The nervous system. World events become inbox items with priorities. While the mind is mid-turn, items accumulate and are delivered as one coalesced prompt when the turn ends. An owner's message or another golem's dm is folded into the running turn without cancelling it; death and critical damage cancel it. With no goal set and an empty inbox, the mind sleeps and makes no API calls.
Mind. An ACP client. Spawns the configured agent as a subprocess with a workspace directory and a Golem MCP server attached. The agent brings its own file tools, shell, context management, and model. Two-tier model routing sends planning turns (owner asks, deaths, goal changes) to a strong model and routine survival to a cheaper one, same session, no context loss.
Shem. A small, JS-shaped scripting language where every call blocks until the
world confirms it happened. goto(pos) returns when you're there. Durations are
literals (30s). Any statement can carry a timeout suffix. Scripts are checked
against the Minecraft 1.21 registry before running. The mind writes scripts into
its workspace the way a programmer writes code, and keeps the ones that work.
See docs/SHEM.md for the full spec and grammar.
Requirements
Node.js 24+ (uses native type stripping; no build step)
Java 21 for the body (each body is a JVM process, about 1 GB of heap)
MezzoSopranoClef launcher jar. The body is a headless Minecraft client from the MezzoSopranoClef project (same author, separate repo). Build it there with
./gradlew build :launcher:jar(the output lands inlauncher/build/libs/) or download the jar from that project's releases, then pointclef.launcheringolem.tomlat it. Golem stages a copy underdata/clef/on first run.A Minecraft server you control (1.21.x, offline-mode if using offline auth). A dev server script is included.
An Anthropic login (or API key) for Claude Code. Other ACP agents work with the appropriate credentials for their provider.
Quick start
The full walkthrough, from cloning MezzoSopranoClef to a golem in a world you can join, is docs/SETUP.md. The short version:
# Install dependencies
npm install # the typed body client is committed; `npm run gen:body` regenerates it from the Clef schema
# Start a dev Minecraft server (offline mode, survival, peaceful)
scripts/dev-server.sh --bg
# Spawn a body, connect the mind, open the dashboard
bin/golem up Clay
# Prints the dashboard URLs: http://127.0.0.1:8770/ (fleet) and /agents/Clay (no token needed on localhost)
# Chat with the running agent as its owner
bin/golem talk ClayJoin the dev server from a normal Minecraft client at 127.0.0.1:25566 to watch.
Other useful commands:
bin/golem body Clay # spawn just the body (no mind)
bin/golem shell Clay # Shem REPL against a live body
bin/golem shell Clay -c "goto 100 64 100; look_around"
bin/golem met Clay # kill switch: stop everything
bin/golem prompt Clay "find iron and make a pickaxe"
# Evals
bin/golem eval tasks/basic # run every task, fresh session each
bin/golem eval-report # compare results across runs
# Cost
bin/golem cost Clay --hours 2 # token and tool-call breakdownEdit golem.toml for fleet config: agents, personas, owners, reflexes, model
routing, chat policy, etiquette rules. See docs/CONFIG.md.
Cost
Golem runs a frontier model in a loop. Every tool call is a full-context API round trip, so the cost is dominated by call count times context size, not by any one prompt. The levers, in order of effect:
Compaction window.
mind.compact_windowsets Claude Code's auto-compact threshold (default 100k tokens). A 1M-context model runs turns at roughly 50--80k and never enters the long-context price tier.Fewer calls. The orientation asks the mind to batch actions into Shem snippets and write reusable scripts, and every run's result ends with an observation line (position, inventory delta, hostiles) so acting and looking are one call. The prompt header carries inventory and nearby hostiles too.
Model routing. Planning turns use the strong model; routine survival uses a cheaper one. Configured per-agent in
golem.toml.Sleep. With no goal and an empty inbox, the mind makes zero API calls.
bin/golem cost reports turns, input tokens (cached and uncached), tool calls per
turn, compactions, and a tool histogram per agent from the transcripts.
Status
Working and tested on a survival server. M0 through M3 are done (body, mind, Shem), M4 (fleet and comms) and M5 (evals and dashboard) are mostly landed. The field test ran one hour on normal difficulty: stone tools, a dug shelter, iron smelted and forged, the base sealed before night, a corpse run after a drowning, four self-written scripts, zero tool errors. Seven eval tasks pass (wood, stone pickaxe, iron pickaxe, crafting table, smelting, sleep, script writing).
Some things are stubbed or planned: dig_down, tunnel and trade in Shem,
blueprints and build, cross-process fleet peering. See
docs/ROADMAP.md for the full milestone list.
Docs
Doc | What it covers |
Components, process model, event loop, reflexes, comms, vision, memory | |
The Shem language: syntax, types, primitives, runtime, grammar | |
The MCP tool surface the mind sees (35 tools) | |
| |
From nothing to a golem in a world: Clef, server, config, first run | |
Day-to-day commands, shell, evals, dashboard, watching a mind | |
Running bodies on a remote machine | |
Hooking a golem into other systems: inbox, events, webhooks | |
Pointing a mind at a custom LLM endpoint | |
Milestones and what's done | |
Checks, conventions, what belongs in a tool vs. a script |
License: MIT.
The point of all this is not to build a better assistant. It's to build characters that live in a world -- that have a body to take care of, a place to be, things they decided to do and things that happened to them. Computer friends, not customer service bots. The agent is a person in there, and the framework's job is to give it a life worth having.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for Grok Imagine AI video generation
Official MCP server for Agentwork — delegate tasks to AI agents with human-in-the-loop
Related MCP Servers
- AlicenseBqualityDmaintenanceA Minecraft MCP Server powered by Mineflayer API. It allows to control a Minecraft character in real-time, allowing AI assistants to build structures, explore the world, and interact with the game environment through natural language instruction2218716Apache 2.0
- FlicenseNot gradedqualityCmaintenanceEnables controlling a semi-autonomous Minecraft bot via MCP, supporting tasks like movement, combat, farming, and chatting.-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to control Minecraft via MCP with configurable versions, creative building commands, survival helpers, and an autonomous agent loop.Apache 2.0
- AlicenseAqualityBmaintenanceA local MCP server that lets AI assistants control a Minecraft player on a local Paper server, enabling movement, block breaking/placing, combat, inventory management, chat, and op-level commands like teleport, gamemode, and summoning.27MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Solenopsisbot/Golem'
If you have feedback or need assistance with the MCP directory API, please join our Discord server