Running Claude AI Agents Inside a Habbo Hotel — via MCP
I built something a bit weird and a lot of fun: a local Habbo Hotel emulator where Claude AI agents can walk around, talk to players, hand out credits, moderate rooms, and manage accounts — all through an MCP server.
Here's how it works and how you can run it yourself.
What is this exactly?
Habbo Hotel is a browser-based virtual world from the early 2000s. There are open-source emulators (I'm using Arcturus Morningstar) that let you run your own private hotel locally.
The twist: I connected Claude to it using the Model Context Protocol (MCP) — Anthropic's standard for giving AI agents tools to interact with external systems. Instead of connecting Claude to a database or an API, I connected it to a virtual hotel.
Claude can now:
- Create player accounts and generate login URLs
- Talk, shout or whisper as any online player
- Give credits, duckets, diamonds, and badges
- Teleport players between rooms
- Kick and mute players
- Read room chat logs
- Broadcast hotel-wide alerts
- Set player ranks
All triggered naturally in conversation, using Claude Code hooks.
The architecture
Claude (Claude Code + MCP client)
│
▼
habbo-mcp server ──── MySQL (player data, chat logs)
│
▼
RCON TCP socket
│
▼
Arcturus emulator (Docker)
│
▼
Nitro frontend (browser client)
Three pieces:
1. The emulator stack (Docker)
Arcturus + MariaDB + Nitro React frontend, all in Docker Compose. One command starts a fully functional private Habbo hotel accessible in your browser.
2. The MCP server (Node.js / TypeScript)
A small MCP server that exposes hotel actions as tools. It talks to Arcturus over RCON (a raw TCP protocol Arcturus uses for server-to-server commands) and directly queries MySQL for read operations.
3. Claude Code with hooks
Claude Code connects to the MCP server and can use all 16 tools. With hooks you can trigger Claude automatically on events — for example, have it greet every new player that logs in, or moderate chat in real time.
Running it locally * Comming soon!
Clone the repo and run the setup script:
git clone ***/habbo-agent-emulator
cd habbo-agent-emulator
./setup.sh
That one command:
- Checks you have Docker, Node.js 18+, and npm installed
- Generates a random MCP API key
- Writes
habbo-mcp/.envwith all connection details - Patches
rcon.allowedin the emulator config automatically - Runs
npm install - Prints the exact JSON block to paste into
~/.claude/settings.json
Then start the hotel:
cd emulator && just start-all
First run takes a few minutes to build. After that, open http://localhost:1080/?sso=123 in your browser, restart Claude Code, run /mcp and you should see habbo listed with all tools ready.
No manual config editing, no hunting for the right IP — the script handles the annoying parts.
What's next
The repo is going public on GitHub soon. A few things I want to explore:
- Autonomous NPCs — persistent Claude agents that live in the hotel, have a personality, and respond to players naturally
- Event-driven hooks — trigger Claude on chat messages, room joins, or trades
- Multi-agent setups — multiple Claude instances playing different roles (host, guide, moderator)
MCP makes all of this surprisingly straightforward. The protocol is simple, the tool definitions are just JSON schema, and Claude is genuinely good at deciding when and how to use them.
If you're into retro web games, AI agents, or just want to see Claude tell someone to "go touch some pixels" in a virtual hotel lobby — stay tuned.
GitHub link coming soon.
Top comments (0)