Azeroth DB: WoW Forever について
Azeroth DB の WoW Forever レコードを検索・取得する MCP サーバーです。ゲーム情報を参照するクライアント向けに、詳細データとページリンクを多言語検索・ページ分割で返します。
主な機能
- 01アイテム、レシピ、クエストの検索
- 02レコードの項目とデータの取得
- 03種類別レコードの一覧
- 04データリンクとページリンクの提示
- 05多言語検索とページ分割
活用シーン
- 01アイテムを検索してデータベースページを開く
- 02アビリティやクエストの詳細を読む
- 03言語を指定して種類別に検索する
MCP 対応
stdio とサイトの Streamable HTTP エンドポイントで MCP ツールを提供します。検索、単一レコードの取得、種類別一覧に対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://wowdb.wiki/api/mcpclaude mcp add --transport http wiki-wowdb https://wowdb.wiki/api/mcp{"mcpServers":{"wiki-wowdb":{"type":"http","url":"https://wowdb.wiki/api/mcp"}}}Cursor で開く{"servers":{"wiki-wowdb":{"type":"http","url":"https://wowdb.wiki/api/mcp"}}}VS Code で開く{"mcpServers":{"wiki-wowdb":{"type":"http","url":"https://wowdb.wiki/api/mcp"}}}{"mcpServers":{"wiki-wowdb":{"serverUrl":"https://wowdb.wiki/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
wowdb-mcp
MCP stdio 経由で Azeroth DB から WoW Forever のレコードを読み取ります。 レコード名で検索してから、その値を読み取り、該当するページを開きます。
ソースから実行
Node.js 26.12.1 以降が必要です。
npm install
node server.mjs
サーバーは MCP メッセージを stdout に書き込みます。HTTP リスナーの起動、アカウントレコードの読み取り、サイトデータの変更は行いません。API キーは不要です。
サイトでは、同じツールを https://wowdb.wiki/api/mcp で Streamable HTTP 経由でも提供しています。wowdb-mcp は createServer をエクスポートし、wowdb-mcp/http はステートレスな Streamable HTTP リクエストを 1 件処理する handleMcp をエクスポートします。これはサイトの /api/mcp ルートで実行されます。
パッケージをインストール
npm への公開は保留中です。パッケージをそれ自体の依存関係に追加せずにローカルの tarball を確認するには、依存関係をインストールした後、このディレクトリから次を実行します。
mkdir -p node_modules/.install-test
npm pack --pack-destination node_modules/.install-test
npm install --prefix node_modules/.install-test/prefix node_modules/.install-test/wowdb-mcp-0.2.1.tgz
node_modules/.install-test/prefix/node_modules/.bin/wowdb-mcp
プレフィックスは一時的なものです。サーバーを終了した後に node_modules/.install-test を削除してください。公開前に永続的なクライアント設定を行う場合は、以下の説明に従ってソースの実行ファイルを使用してください。
npm 公開後は、次のクライアント設定を使用してください。
{
"mcpServers": {
"wowdb": {
"command": "npx",
"args": ["-y", "wowdb-mcp"]
}
}
}
公開されるまでは、インストール済みパッケージまたはソースディレクトリにある server.mjs の絶対パスを指定して、クライアントから node を実行するように設定してください。
ツール
| ツール | 入力 | 結果 |
|---|---|---|
search | query。kind、locale、offset、limit は任意 | 一致した名前と、その種類、スラッグ、ページパス、本番環境の URL |
get_entity | 検索結果またはリスト結果の path。field、offset、limit は任意 | 実際のレコードデータ、その表現、データ URL、本番環境のページ URL |
list_entities | kind。locale、offset、limit は任意 | 名前順のレコード。nextOffset で続きを取得できます |
サポートされている種類は、item、recipe、ability、spell、enchant、talent、legacy、race、quest、giver、camp、dungeon、achievement、faction、および英語の guide です。サーバーはニュース、プレイヤーレコード、マップ配置ツールを公開していません。
{"name":"search","arguments":{"query":"Empty Vial","kind":"item","limit":1}}
{"name":"get_entity","arguments":{"path":"/forever/items/empty-vial"}}
{"name":"search","arguments":{"query":"Leere Phiole","kind":"item","locale":"deDE","limit":1}}
{"name":"get_entity","arguments":{"path":"/de/forever/gegenstaende/leere-phiole"}}
ロケールコードは enUS(デフォルト)、deDE、esES、esMX、frFR、koKR、ptBR、ruRU、zhCN、zhTW です。検索では指定された言語のインデックスを使用し、検索結果のページパスから言語を取得してレコードを参照します。スラッグを翻訳したり、ロケールのクエリパラメーターを追加したりせず、そのパスを再利用してください。
データの範囲
英語ディレクトリと名前指定の API では、公開済みのパスに対する完全なレコードが提供されます。検索では、プレビュー API のみが利用可能なレコードも対象になります。representation は full-record または preview で、呼び出し側はこの値を使って各レスポンスを判別できます。名前で指定したタレントは、クラスをタレントとして返すのではなく、そのクラスのレスポンスから選択されます。
ローカライズされた参照では、サイトのプレビューデータが返されます。これらのレスポンスでは、フィールド名が英語のままの場合や、関連項目の一覧が短縮されている場合、テキストが欠落している場合があります。完全な英語レコードの全フィールドは提供されません。ローカライズされたガイドレコードには参照 API がないため、対象外です。API ではベータ版のレベル上限を超える最後のランクが能力として記述される場合があります。そのようなプレビューは、そのランクをベータ版の能力として提示する代わりに、ツールエラーを返します。完全な英語の能力レスポンスには、必要レベルが 30 以下のランクが含まれます。API が明示的に null として記録している場合は、レベルが不明なものも含まれます。既知のアイテム要件とクエストレベルが 30 を超えるものは、検索対象から除外されます。
null と欠落しているフィールドは、不明なまま扱ってください。アイテムが存在することだけでは、そのドロップ率や入手条件は確定しません。sellPrice や observed.price などの価格単位は copper です。ベンダーの観測価格はオークション価格ではありません。成功した結果はすべて、テキストの content ブロックにシリアライズ済み JSON を含みます。HTTP エラーと参照エラーは、メッセージとともに isError: true を返します。レコードが見つからない場合は、呼び出し側に再検索を促します。
ページネーション
limit のデフォルト値は 48 で、1〜48 を指定できます。これは、サイトの公開アイテムコレクションのページサイズに一致します。検索結果と一覧結果には nextOffset が返されます。同じクエリ、種類、言語を指定して、これを offset として渡してください。
検索ではスカラー値とオブジェクトがそのまま返され、各配列の要素数は要求したページサイズに制限されます。配列にそれより多くの要素がある場合、pagination に field として JSON ポインターが示され、nextOffset が提供されます。同じページパスを指定して、両方を get_entity に渡してください。例:
{"name":"get_entity","arguments":{"path":"/forever/items/empty-vial","field":"/uses","offset":0,"limit":2}}
ポインターは、/ranks や /recipes/0/materials のように、返された data を基準とします。ページ分割の前に、元の API データ内の対象を指定します。API 自体が省略した関連情報は取得できません。最終結果を超えるオフセットを指定すると、最初のページが繰り返し返されるのではなく、ツールエラーが返されます。
テスト用オリジン
WOWDB_ORIGIN は API リクエスト用の唯一の環境変数によるオーバーライドです。たとえば、http://localhost:3712 を指定できます。変更されるのはリクエストのオリジンのみです。返されるページリンクとデータリンクは、引き続き https://wowdb.wiki を参照します。
このパッケージは、公開 API コントラクトを直接参照します。サイトのソースをインポートしたり、API ペイロードをディスクに保存したり、呼び出し間でロケールインデックスを保持したりすることはありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。