Skip to content

solacese/sam-minecraft

Repository files navigation

Solace Agent Mesh + Minecraft Demo

Seven AI agents collaborate in real-time to build landmarks and villages in Minecraft.

Built on Solace Agent Mesh (SAM), this demo showcases multi-agent orchestration, parallel task execution, and autonomous build planning, all through natural language.

"Build the Eiffel Tower at x=100 z=100, medium scale" and watch seven agents coordinate to make it happen.


Requirements

Tool Version Install
Docker Latest docker.com/get-started
Node.js >= 20.10 nodejs.org
Python >= 3.10 python.org
LiteLLM API Key Access to Claude models via your LiteLLM proxy

Get Started

# 1. Clone and enter the repo
git clone <this-repo-url> && cd sam-minecraft

# 2. Set your API key
export LITELLM_API_KEY="sk-..."

# 3. Launch everything
./start-demo.sh

# 4. Open the WebUI (URL printed in terminal, usually http://127.0.0.1:8000)
# 5. Pick a prompt below and send it to OrchestratorAgent

That's it. The script handles Minecraft server, Python venv, Node dependencies, MCP build, and agent startup.

Note: The demo includes its own Minecraft server via Docker — you do NOT need to own Minecraft. A Minecraft Java Edition client is optional for visual spectating only. All agent interaction happens through the WebUI at port 8000.


Try These Prompts

Copy-paste any of these into the WebUI chat with OrchestratorAgent:

Quick Win (~2 min)

Build a small village with 4 houses near x=50 z=50.
Use oak, spruce, birch, and stone styles. Add a garden in the center.

Landmark Build (~5 min)

Build the Eiffel Tower at x=100 z=100, medium scale, iron classic style.
Build the Taj Mahal at x=200 z=200, medium scale.
Build the Great Wall of China at x=100 z=300, large scale with watchtowers.

World Tour (~15 min)

Build three landmarks side by side:
1. Great Pyramid of Giza at x=0 z=0, small scale
2. Colosseum at x=80 z=0, small scale
3. Japanese Pagoda at x=160 z=0, small scale

Cinematic Village + Landmark

Build a French quarter: an Arc de Triomphe at x=300 z=300 as the centerpiece,
surrounded by 4 oak houses in a grid with gardens and paths.

Storm Recovery Demo

Build a village with 3 houses at x=200 z=200.
After completion, simulate storm damage on one house, then repair it.
Report quality scores before and after.

32 Prebuilt Landmarks — 20+ Countries

Every landmark below is a ready-to-go template. Just name it in a prompt.

Europe

Landmark Country Prompt Example
Eiffel Tower France "Build the Eiffel Tower at x=100 z=100"
Arc de Triomphe France "Build an Arc de Triomphe near spawn"
Colosseum Italy "Build the Colosseum at x=200 z=200, large scale"
Leaning Tower of Pisa Italy "Build the Tower of Pisa at x=50 z=50"
Big Ben UK "Build Big Ben at x=300 z=300"
Stonehenge UK "Build Stonehenge near x=0 z=200"
La Sagrada Familia Spain "Build La Sagrada Familia at x=400 z=400"
Saint Basil's Cathedral Russia "Build Saint Basil's Cathedral at x=100 z=200"
Neuschwanstein Castle Germany "Build Neuschwanstein Castle at x=300 z=0"
Parthenon Greece "Build the Parthenon at x=200 z=100"
Amsterdam Canal House Netherlands "Build a Dutch canal house near spawn"
Dutch Windmill Netherlands "Build a windmill at x=50 z=150"
Medieval Castle Europe "Build a medieval castle at x=400 z=400, large scale"

Asia

Landmark Country Prompt Example
Great Wall of China China "Build the Great Wall at x=0 z=300, large scale"
Taj Mahal India "Build the Taj Mahal at x=200 z=200"
Japanese Pagoda Japan "Build a Japanese pagoda near spawn"
Angkor Wat Cambodia "Build Angkor Wat at x=300 z=300"
Hagia Sophia Turkey "Build the Hagia Sophia at x=100 z=400"
Gyeongbokgung Palace South Korea "Build Gyeongbokgung Palace at x=200 z=0"
Wat Arun Thailand "Build Wat Arun at x=400 z=200"
Burj Khalifa UAE "Build the Burj Khalifa at x=0 z=0, large scale"

Americas

Landmark Country Prompt Example
Statue of Liberty USA "Build the Statue of Liberty at x=100 z=100"
Chrysler Building USA "Build the Chrysler Building at x=200 z=0"
Space Needle USA "Build the Space Needle at x=300 z=100"
Golden Gate Bridge USA "Build the Golden Gate Bridge at x=0 z=200"
CN Tower Canada "Build the CN Tower at x=100 z=300"
Chichen Itza Mexico "Build Chichen Itza at x=200 z=200"
Christ the Redeemer Brazil "Build Christ the Redeemer at x=0 z=100"
Machu Picchu Peru "Build Machu Picchu at x=300 z=300"

Africa, Middle East & Oceania

Landmark Country Prompt Example
Great Pyramid of Giza Egypt "Build the Great Pyramid at x=0 z=0, large scale"
Petra Treasury Jordan "Build the Petra Treasury at x=200 z=400"
Sydney Opera House Australia "Build the Sydney Opera House at x=100 z=0"

The Agent Team

Agent Model Role
OrchestratorAgent Sonnet Coordinates all workers, manages zones and task graphs
MinecraftAgent (Handy Hank) Sonnet Primary structure builder
BuildBeaAgent (Build Bea) Sonnet Framing, walls, and roofing
SupplySidAgent (Supply Sid) Sonnet Finishing details, arches, windows
MonumentMarcAgent (Monument Marc) Sonnet Monument masonry and GrabCraft shards
DesignDoraAgent (Design Dora) Haiku Site planning and terrain prep
ForestFinnAgent (Forest Finn) Haiku Landscaping, gardens, and cleanup

The orchestrator plans the work, claims build zones, and dispatches tasks in parallel. Workers execute their assigned packets and report back. No worker can build outside its assigned zone — collisions are impossible by design.


How Landmark Builds Work

User prompt
    |
    v
plan-landmark-mission          — match prompt to a landmark template
    |
    v
allocate-build-graph-zones     — reserve all zones atomically
    |
    v
dispatch-next-task (x6)        — assign ready tasks to available workers
    |
    v
update-task-status             — workers report completion
    |                            (dependent tasks unlock automatically)
    v
inspect + repair-build-graph   — QA pass and fix any defects

Each landmark template defines 8-14 components with dependency chains, material palettes, and scale variants (small / medium / large). The orchestrator compiles these into a task graph and dispatches work across all six agents in parallel.


Configuration

Variable Default Description
LITELLM_API_KEY (required) Your LiteLLM API key
LITELLM_API_BASE https://lite-llm.mymaas.net LiteLLM proxy URL
LITELLM_MODEL openai/bedrock-claude-4-5-haiku-tools Model identifier
START_WORLD_RESET_MODE auto auto = new seed, keep = preserve world, same = same seed, or a number

Stopping and Resetting

# Stop everything
Ctrl+C

# Reset with a fresh world
./reset-world.sh auto

# Reset with a specific seed
./reset-world.sh 12345

Project Structure

sam-minecraft/
├── start-demo.sh                     # One-command launcher
├── reset-world.sh                    # World reset utility
├── docker-compose.yml                # Minecraft server (vanilla 1.21.4, creative)
├── configs/
│   ├── shared_config.yaml            # Broker, models, services
│   ├── services/platform.yaml        # SAM platform config
│   └── agents/                       # 7 agent YAML configs
├── vendor/minecraft-mcp-server/      # MCP server (TypeScript)
│   ├── src/                          # 33 tools, GrabCraft integration, autonomy engine
│   ├── landmark_specs/               # 32 landmark templates (20+ countries)
│   └── tests/                        # Test suite
├── tools/                            # Supplementary Python utilities
└── CUSTOMER_EXAMPLES.md              # Extended prompt cookbook

Troubleshooting

"LITELLM_API_KEY environment variable is not set"export LITELLM_API_KEY="sk-..."

Docker permission denied (Linux)

sudo usermod -aG docker $USER
# Log out and back in (or run: newgrp docker)

"Port 25565 doesn't work in my browser"

  • Port 25565 is Minecraft's game protocol, not HTTP — it won't open in Chrome.
  • The WebUI is at http://127.0.0.1:8000 — that's where you send prompts and watch progress.
  • To spectate visually in-game, open Minecraft Java Edition (v1.21.4) → Multiplayer → localhost:25565.
  • A Minecraft client is entirely optional — the demo works fully through the WebUI.

Slow first startup — First run downloads the Minecraft server image (~800MB). Subsequent starts are fast.

Docker DNS issues — Restart Docker Desktop. Check VPN/firewall.

Port conflictslsof -i :25565 or lsof -i :8000 to find conflicts.

MCP build failscd vendor/minecraft-mcp-server && npm ci && npm run build


License

MIT

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors