Skip to content

Repository files navigation

Agent Arena

A backend platform that drives autonomous LLM agents inside a live Minecraft world. The bot perceives game state, reasons via tool-calling, and acts — collecting resources, building structures, and coordinating with other agents. The goal is a production-credible AI engineering portfolio: a ReAct loop built from scratch, a memory layer backed by a vector store, a structured eval harness with real success metrics, and a polyglot MCP server in Java/Spring AI that exposes the whole platform to Claude.

Architecture

┌─────────────────────────────────────────────────┐
│                 Docker Compose                  │
│                                                 │
│  ┌─────────────┐         ┌───────────────────┐  │
│  │  Minecraft   │◄───────│     Bridge        │  │
│  │  Server      │  TCP   │  (Node/Mineflayer)│  │
│  │  (itzg)      │ :25565 │     :3001         │  │
│  └─────────────┘         └────────┬──────────┘  │
│                                   │ HTTP        │
│                          ┌────────▼──────────┐  │
│                          │   Agent Service   │  │
│                          │   (Python/LLM)    │  │
│                          └───────────────────┘  │
└─────────────────────────────────────────────────┘

The Bridge connects a Mineflayer bot to the Minecraft server and exposes move, dig, chat, and state endpoints over HTTP. The Agent Service (coming in Phase 1+) calls the bridge to perceive and act in the world.

Quick Start

# Start everything (Minecraft server + bridge bot)
docker compose up --build

# Verify the bot is connected
curl http://localhost:3001/health

# Check bot state
curl http://localhost:3001/state

# Make the bot move
curl -X POST http://localhost:3001/move \
  -H "Content-Type: application/json" \
  -d '{"x":10,"y":64,"z":10}'

# Send a chat message
curl -X POST http://localhost:3001/chat \
  -H "Content-Type: application/json" \
  -d '{"message":"hello!"}'

Demo

demo

Stack

Layer Tech
Agent brain Python (ReAct loop, memory, evals)
Game I/O bridge Node.js + Mineflayer
Game server Minecraft via Docker (itzg/minecraft-server)
MCP layer (Phase 5) Java + Spring AI
Infra Docker Compose + GitHub Actions

Project Structure

bridge/    Node.js Mineflayer bridge — exposes bot actions over HTTP
agent/     Python agent service — LLM loop, memory, tools, evals
docs/      Documentation and notes

Phases

  • Phase 0 — Environment & plumbing (done)
  • Phase 1 — ReAct agent loop + tool calling
  • Phase 2 — Failure handling & composite skills
  • Phase 3 — Memory (working + episodic + retrieval)
  • Phase 4 — Eval harness & observability
  • Phase 5 — MCP server in Java/Spring AI
  • Phase 6 — Multi-agent coordination

See docs/agent-arena-plan.md for the full build plan.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages