MCP 経由で Habbo Hotel 内で Claude AI エージェントを実行する
ちょっと変わっていて、でもとても楽しいものを作りました: Claude AIエージェントが歩き回り、プレイヤーと話し、クレジットを配布し、部屋をモデレーションし、アカウントを管理できるローカルの Habbo Hotel エミュレーター — すべて MCP サーバーを介して実現します。
仕組みと自分で動かす方法は以下のとおりです。
これは一体何ですか?
Habbo Hotel は2000年代初頭のブラウザベースの仮想世界です。オープンソースのエミュレーターがあり(私が使っているのは Arcturus Morningstar)、ローカルに自分だけのプライベートホテルを実行できます。
ひねりとして、AIエージェントが外部システムと対話するためのツールを提供するAnthropicの標準Model Context Protocol (MCP)を使って Claude を接続しました。 Claude をデータベースや API に接続する代わりに、仮想ホテルに接続したのです。
Claude は次が可能になりました:
- プレイヤーアカウントを作成し、ログインURLを生成する
- オンライン上の任意のプレイヤーとして話す、叫ぶ、ささやく
- クレジット、ダケツ、ダイヤモンド、バッジを付与する
- 部屋間のテレポート
- プレイヤーをキックおよびミュートする
- 部屋のチャットログを読む
- ホテル全体のアラートを放送する
- プレイヤーのランクを設定する
すべて会話の中で自然にトリガーされ、Claude Code のフックを使用します。
アーキテクチャ
Claude (Claude Code + MCP client)
│
▼
habbo-mcp server ──── MySQL (player data, chat logs)
│
▼
RCON TCP socket
│
▼
Arcturus emulator (Docker)
│
▼
Nitro frontend (browser client)
3つの構成要素:
1. エミュレータスタック(Docker)
Arcturus + MariaDB + Nitro React フロントエンドをすべて Docker Compose で構成します。1つのコマンドで、ブラウザからアクセス可能な完全に機能するプライベート Habbo Hotel を起動します。
2. MCPサーバー(Node.js / TypeScript)
ホテルのアクションをツールとして公開する小さな MCP サーバーです。Arcturus と RCON(Arcturus がサーバー間コマンドに使用する生の TCP プロトコル)で通信し、読み取り操作には直接 MySQL を照会します。
3. フック付き Claude Code
Claude Code は MCP サーバーに接続し、16 個すべてのツールを使用できます。フックを使えば、イベント時に自動的に Claude をトリガーできます。例えば、新しくログインしたすべてのプレイヤーに挨拶させたり、リアルタイムでチャットをモデレートしたりすることが可能です。
ローカルで実行する方法 — 近日公開!
リポジトリをクローンしてセットアップスクリプトを実行してください:
git clone ***/habbo-agent-emulator
cd habbo-agent-emulator
./setup.sh
その1つのコマンド:
- Ch