DreamLand MUD について
DreamLand MUDは、DreamLandのテキストMUDプレイヤーや対応クライアント向けの読み取り専用MCPサーバーです。ゲームヘルプ、アイテム検索、ニュース、オンライン情報を英語、ロシア語、ウクライナ語で提供し、ゲームサイトと公開インターフェースのデータを使います。
主な機能
- 01多言語ヘルプ記事の検索と閲覧
- 02防具、武器、魔法アイテム、ペットの絞り込み
- 03プレイヤーとDiscordブリッジの状態確認
- 04ニュースアーカイブの検索と取得
活用シーン
- 01ゲームルールやヘルプ項目の検索
- 02レベル、装備部位、ステータスによるアイテム絞り込み
- 03現在のプレイヤーと最新ニュースの確認
MCP 対応
MCPサーバーはStreamable HTTP経由でヘルプ、アイテム検索、オンライン状況、ニュースのツールを公開します。エンドポイントに認証はありません。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://dreamland.rocks/mcp/helpclaude mcp add --transport http rocks-dreamland-help https://dreamland.rocks/mcp/help{"mcpServers":{"rocks-dreamland-help":{"type":"http","url":"https://dreamland.rocks/mcp/help"}}}Cursor で開く{"servers":{"rocks-dreamland-help":{"type":"http","url":"https://dreamland.rocks/mcp/help"}}}VS Code で開く{"mcpServers":{"rocks-dreamland-help":{"type":"http","url":"https://dreamland.rocks/mcp/help"}}}{"mcpServers":{"rocks-dreamland-help":{"serverUrl":"https://dreamland.rocks/mcp/help"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
DreamLand ヘルプ MCP サーバー
DreamLand のヘルプコーパス(https://dreamland.rocks/help.html と同じ記事を英語、ロシア語、ウクライナ語で収録)、アイテム検索、ニュースアーカイブ、オンラインユーザー情報を提供する、公開読み取り専用の MCP サーバーです。サイトと Discord ボットがすでに表示している情報のみを提供します。
エンドポイント:https://dreamland.rocks/mcp/help(Streamable HTTP、認証なし)。
claude mcp add --transport http dreamland-help https://dreamland.rocks/mcp/help
Claude Desktop / claude.ai:Settings -> Connectors -> Add custom connector で、上記の URL を指定します。
ツール
-
help_search(query, lang, limit):ID、タイトル、種別、抜粋を返します。サイトおよびゲームクライアント(static/site/js/helpsearch.js)と同じランキングを使用します。先頭にファセット語を指定すると絞り込めます:spell fire、race elf。フレーズ全体が一致しない場合は、単語ごとの検索に切り替わります。 -
help_get(id | keyword, lang):サイトへのリンクと「関連項目」を含む記事を Markdown 形式で返します。複数の記事で使われているキーワードを指定すると、選択用の記事一覧を返します。 -
help_categories(lang)、help_list(category, kind, lang):項目を閲覧します。 -
item_search(type, query, level_min, level_max, slot, weapon_class, magic_type, stats, align, include_limited, sort, lang, limit):ステータス、使用可能なユーザー、ゾーン、入手元のモブまたは部屋とともに、防具、武器、魔法アイテム、ペットを返します。https://dreamland.rocks/searcher.html と同じデータとフィルターを使用します(static/site/js/itemsearch.jsを共有)。vnum はなく、限定アイテムには印が付きます。 -
who(name, lang):ゲーム内のユーザー(種族、クラン、称号、転生回数)、Discord ブリッジ上のユーザー、今週のピーク人数とユニークユーザー数を返します。名前を指定すると、種族、クラン、クラン内のランク、転生回数を返します。Discord ボットが呼び出す、エンジンの公開/whoサーブレットです。リストは30秒間キャッシュされます。 -
news_list(query, limit)、news_get(id):ニュースアーカイブを新しい順に返します。投稿は原文のままです(ほとんどがウクライナ語)。クエリを指定すると、件名または本文にすべての単語を含む投稿に絞り込みます。
lang は en、ru、ua のいずれかです(uk も使用できます)。未翻訳のテキストは、ゲームと同様にロシア語で表示されます。
データと更新頻度
static/data/help-index.json と help-body-{ru,en,ua}.json を読み込みます。これらは site.js/build-help.js がゲームのダンプから生成するファイルです。インデックスが変更されると再読み込みします。ダンプはレベル1のキャラクター向けに生成されるため、イモータル専用またはレベル制限のある情報は提供されません。ヘルプの編集がサーバーに反映される流れは、コンテンツのデプロイ -> plug reload web(または1時間ごとのダンプ)-> サイトデータのビルド(drone、または30分ごとのタイマー)です。
ニュースは static/data/news-all.json から読み込みます。このファイルは site.js/build-news.js がゲームのノートダンプ(webdump news)から生成します。
who は MUD_API(デフォルトは http://127.0.0.1:1235。同じマシン上のエンジンのサーブレットポート)に問い合わせます。
アイテムは static/data/db_{armor,weapon,magic,pets}.json から取得します。searcher.cpp が起動時と4時間ごとに /tmp へダンプし、drone がここにコピーします。ゾーンリセットで配置されるアイテムのみが含まれ、クランゾーンと隠しゾーンのアイテムは含まれません。noident アイテムのステータスは表示されません。各ファイルは変更されると再読み込みされます。
使用状況カウンター
stats.js は、UTC の日付ごとに、各ツールの呼び出し回数と接続したクライアントプログラム(initialize の clientInfo.name)を集計します。IP アドレスと引数は記録しません。ファイル:MCP_STATS。デフォルトは ~/mcp-help-stats.json(本番環境では /home/dreamland/mcp-help-stats.json)です。毎分、および終了時に書き込み、120日分を保持します。
実行方法
npm install
PORT=8003 HELP_DATA=../static/data node server.js
HELP_DATA=/path/to/data npm test # starts the server and calls every tool
node test.js --fresh # same, on live data fetched from dreamland.rocks/data
# (who asks MUD_API, default https://dreamland.rocks/api in tests)
node test.js https://dreamland.rocks/mcp/help # same checks against a running server
本番環境:127.0.0.1:8003 で dreamland-help-mcp.service(このディレクトリ内のコピー)が稼働し、nginx の location /mcp/help には IP ごとに5 r/s の制限が設定されています(このディレクトリの nginx.conf)。drone はデプロイのたびに npm install を実行します。サーバーは自身のファイルが変更されると終了し、systemd が新しいコードで再起動します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。