VR.org VR / AR / XR Reader について
VR.org VR / AR / XR Readerは、VR・AR・XRのニュース、編集記事、イベント、製品情報を扱う読み取り専用のMCPサーバーです。VR.orgの公開APIを使い、出力をサニタイズしてサイズを制限します。
主な機能
- 01最新のVR・AR・XRニュース検索
- 02VR.orgの編集記事の閲覧
- 03業界イベント予定の確認
- 04ヘッドセット比較とセール情報
- 05人気ゲーム・アプリ一覧の取得
活用シーン
- 01VR・XRの最新報道の追跡
- 02エージェント内でVR.orgの記事全文を読む
- 03イベントやヘッドセットのセール確認
- 04ヘッドセット比較や人気アプリの検索
MCP 対応
MCPツールとリソースを通じて、VR.orgのニュース、記事、イベント、ヘッドセット比較、セール、ランキング、ガイドを提供し、一般的な作業向けのプロンプトも備えます。読み取り専用で、ローカル利用とVR.orgのリモートstreamable-HTTPエンドポイントの両方に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
11掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | number | いいえ | 最大結果数。1-50(デフォルトは 20)。 |
| query | string | いいえ | タイトルまたは概要で照合する任意のキーワード。 |
| category | string | いいえ | 任意のカテゴリフィルター:hardware、gaming、software、enterprise、ar、xr。指定しない場合はすべてのカテゴリが対象です。 |
詳細
vr-org-mcp
VR.org 専用の読み取り専用Model Context Protocol サーバーです。VR.org は、VR/AR/XR に特化したニュースメディア兼アグリゲーターです。
MCP 対応エージェント(Claude Desktop、Claude Code、Cursor、Continue など)から、最新の VR、AR、XR ニュース、VR.org の独自記事(記事全文を含む)、VR/AR/XR イベントカレンダー、厳選されたヘッドセットのお買い得情報、購入ガイドの回答、人気ゲームと人気アプリの一覧に、1 回の呼び出しでアクセスできます。
11 個のツール、5 個のリソース、3 個のプロンプトを利用できます。API キーは不要です。書き込みは行いません。支払いも不要です。
インストール
npx で直接実行できます(グローバルインストールは不要です)。
npx vr-org-mcp
Claude Desktop
ワンクリックでインストールできます。最新リリースから .mcpb バンドルをダウンロードし、ダブルクリックして Claude Desktop にインストールしてください。または、手動で設定します。
claude_desktop_config.json に追加します。
{
"mcpServers": {
"vr-org": {
"command": "npx",
"args": ["-y", "vr-org-mcp"]
}
}
}
Claude Code
claude mcp add vr-org -- npx -y vr-org-mcp
Cursor
.cursor/mcp.json に追加します。
{
"mcpServers": {
"vr-org": {
"command": "npx",
"args": ["-y", "vr-org-mcp"]
}
}
}
ホストされたリモートエンドポイント(インストール不要)
VR.org では、MCP のストリーミング可能な HTTP トランスポートを介して、同じツールをリモートサーバーとしても提供しています。そのため、ウェブクライアント(ChatGPT コネクター、Claude.ai コネクター)からローカルにインストールせずに利用できます。
https://vr.org/mcp
すべてのクライアント向けのセットアップ手順(人間向け):vr.org/connect。
ツール
| ツール | 戻り値 |
|---|---|
search_vr_news | ライブフィードから最新の VR/AR/XR ニュースの見出しを取得します。カテゴリーによる絞り込みやキーワード検索にも対応します(すべてのキーワードが、順不同で一致する必要があります)。 |
get_vr_trending | フィード全体で現在トレンドになっているトピックを取得します。 |
list_vr_originals | VR.org 独自の編集記事の概要を、新しい順に取得します。 |
get_vr_article | スラッグを指定して独自記事 1 件の全文を取得します。メタデータ、正規 URL、記事本文の HTML が含まれます。 |
get_vr_events | 今後開催される VR/AR/XR 業界イベント(カンファレンス、展示会、ローンチなど)を、開催日が近い順に取得します。 |
get_vr_deals | 価格、バッジ、販売店リンク付きの厳選商品を取得します。 |
compare_vr_headsets | 2 台のヘッドセットを並べて比較します(名前の一部でも指定できます)。 |
get_top_vr_games | 現在の VR ゲーム人気ランキングを取得します。 |
get_top_vr_apps | 現在の VR アプリおよびユーティリティの人気ランキングを取得します。 |
list_vr_sources | VR.org が集約しているニュースソースと件数を取得します。 |
vr_explain | よくある質問への標準的な簡潔な回答と、関連するピラーページへのリンクを取得します。 |
リソース
アプリがコンテキストとして添付できる、閲覧可能な MCP リソースです。
| リソース | 内容 |
|---|---|
vrorg://news/latest | 最新の集約済み VR/AR/XR ニュースの見出し |
vrorg://originals/latest | VR.org の最新の独自記事のインデックス |
vrorg://events/upcoming | 今後開催される VR/AR/XR 業界イベント |
vrorg://guides | VR.org の標準的なピラーガイドの回答をまとめた 1 つのドキュメント |
vrorg://article/{slug} | 独自記事の全文 HTML 本文(リソーステンプレート) |
プロンプト
| プロンプト | 内容 |
|---|---|
recommend_a_headset | 予算と用途に基づき、VR.org のおすすめからヘッドセットを提案します。 |
this_week_in_vr | フィードと独自記事をもとに、週間 VR/AR/XR ニュースまとめの草案を作成します。 |
explain_vr_topic | VR.org の標準的な回答に基づいて、VR のトピックを説明します。 |
仕組み
各ツールは、VR.org の公開 JSON API(https://vr.org/api/*)を統合し、エージェント向けの単一のレスポンスを返します。サーバーは薄いプロキシであり、秘密情報を保持せず、何も書き込まず、資金を移動することもできません。
脅威モデル
VR.org の編集コンテンツは管理されていますが、ライブフィードにはサードパーティーの RSS 見出しも含まれています。悪意のある、または侵害された上流の見出しが呼び出し元のモデルを操作しないよう、すべてのツール出力は次のように処理されます。
- サニタイズ。 すべての文字列から制御文字とゼロ幅文字/方向上書き文字を取り除きます。
- 上限設定。 シリアライズされたレスポンスは 50 KB に制限されるため、大きなペイロードがエージェントのコンテキストウィンドウをあふれさせることはありません。
外部リクエストを送信する前に入力を検証し、すべての自由入力テキストパラメーターにスキーマ層で長さの上限を設けています。エラーは、生のスタックトレースではなく、構造化され、入力内容をそのまま返さないオブジェクトとして返されます。エラー文字列が呼び出し元に届くまれなケースでも、ツールの結果と同じ出力サニタイズを適用し、認証情報のような文字列を伏せたうえでテキストを制限し、isError を付けます。
設定
API のベース URL はソース内で https://vr.org に固定されており、上書きできません。そのため、サーバーが通信できるのは VR.org のみです。
| 環境変数 | デフォルト | 用途 |
|---|---|---|
VR_ORG_UA_SUFFIX | (none) | 外部向け User-Agent に追加する任意のサフィックス |
開発
npm install
npm run dev # run from source over stdio
npm run build # compile to dist/
npm test # run the offline test suite
npm run typecheck # type-check without emitting
変更履歴
0.5.0
プロトコルをアップグレードしました。Node.js 20 以降が必要です。
- サーバーは MCP SDK v2(
@modelcontextprotocol/server)で動作するようになり、2026-07-28 のプロトコルリビジョンを使用します。2025 年のリビジョンを使うクライアントも、これまでどおり接続できます。接続で使うリビジョンは、最初のメッセージによって決まります。 - v2 SDK に Node.js 20 が必要なため、Node.js 18 はサポート対象外になりました。Node 18 に固定している場合は、0.4.4 を引き続きご利用ください。
- インストールサイズが大幅に小さくなりました。以前の SDK は、この stdio サーバーが使用しない HTTP スタックを依存関係に含み、その数は 80 パッケージを超えていました。現在、本番用の依存関係ツリーは 3 パッケージとなり、
npm auditはオーバーライドなしで問題ありません。 - ホスト型エンドポイント
https://vr.org/mcpも同日に同じプロトコルへ移行しました。また、/api/mcpへのリダイレクトを経由せず、/mcpで直接応答するようになりました。短縮 URL を設定したクライアントでは、ラウンドトリップが半分になります。 - ツール、リソース、プロンプトに変更はありません。
0.4.4
search_vr_news は、完全一致のフレーズではなく単語で検索するようになりました。
- 以前のキーワードフィルターでは、クエリ全体が入力どおりに見出しかスニペットに含まれている必要がありました。エージェントは「steam frame release date」や「best vr headset 2026」のようなクエリを送ることが多く、フィードに一致する記事がたくさんあっても、検索結果が空になることがありました。ライブフィードに対して現実的なクエリを 25 件再生したところ、18 件は何も返しませんでした。
- クエリはキーワードに分割されるようになりました。フィラー(「what is the latest」、「news」、「today」、年、月名)は除外され、残ったすべてのキーワードが、順不同で見出し、スニペット、タグ、カテゴリ、またはソース名に含まれている必要があります。複数形は単数形にも一致し、句読点は無視されます(「half-life alyx」では「Half-Life: Alyx」が見つかります)。モデル名のスペースを省略して入力しても一致します(「psvr2」では「PS VR2」が見つかります)。数字と 2 文字の語は単語全体でのみ一致するため、「quest 3」では Quest 3S の記事は返されません。
- 見出しが一致した記事は最初に表示され、各グループ内では新しい順に並びます。
- クエリを送信すると、レスポンスに
match(all_terms、partial、none、またはフィラーだけのクエリの場合はlatest)、terms(実際に使用されたキーワード)、total_matchesが追加されます。すべてのキーワードに一致する記事がない場合は、最も近い記事が返され、partialとhintが付けられます。クエリを指定しない呼び出しでは、以前とまったく同じ結果が返されます。 - ホスト型エンドポイント
https://vr.org/mcpにも同じ検索機能が導入されています。
0.4.3
メンテナンスリリースです。
vr_explainツールの説明に、回答可能な新しいトピック(「steam frame price」、「meta vr glasses」)が記載されました。ツール一覧を読むエージェントが、それらについて質問できることを把握できます。ホストされているエンドポイントhttps://vr.org/mcpにも同じ説明が反映されています。- リリースワークフローは、npm の信頼されたパブリッシング(OIDC)を通じて公開するようになり、拒否された場合にのみトークンにフォールバックします。これまでどおり、プロベナンスも付与されます。
0.4.2
vr_explain と vrorg://guides リソースは、VR.org の最新の解説フィードから回答するようになったため、リリースの合間も最新の状態が保たれます。
- 以前は、回答は 2026 年 7 月にパッケージに組み込まれたリストから提供されていました。10 月までに、現実的なトピックのほとんど(「steam frame」、「steam frame price」、「meta vr glasses」、「quest 4」)で
no_explainerが返され、回答が存在していたものの一部も古くなっていました。リストはhttps://vr.org/api/explainersから取得され、ディールやイベントと同様に 10 分間キャッシュされるようになりました。そのため、サイトでガイドを更新すれば、パッケージをリリースしなくてもエージェントに反映されます。 - 取得した各項目は、使用前に検証され(キーは空でない文字列を含む空でないリストであること、リンクは
https://vr.org上にあること)、他の上流テキストと同じサニタイザーを通過します。取得に失敗した場合や有効な項目が返されなかった場合は、組み込みリストから回答します。このリストは、サイトの現在の 34 件のガイド(従来は 10 件)を反映するようになったため、オフラインのサーバーでも最新の回答を提供できます。取得の失敗は 1 分間記録されるため、障害時にすべての呼び出しが遅くなることはありません。 - マッチング方法は変わりません。トピックに含まれるキーのうち最も長いものが優先されるため、「steam frame price」は Steam Frame のハブではなく価格ページに誘導されます。
explain_vr_topicプロンプトでは、回答のないトピックだった「passthrough」が例から削除されました。このプロンプトとno_explainerのヒントでは、「steam frame」が提案されるようになりました。get_vr_dealsの説明に、カタログの 5 つのセクションすべてが記載されました。ヘッドセット、AR および XR グラス、アクセサリー、触覚および身体トラッキング、ゲーム用ハードウェアです。@modelcontextprotocol/sdkを 1.30.0 から 1.32.1 に更新し、ip-addressとproxy-addrの固定バージョンを更新しました。これらの脆弱性情報は、SDK の OAuth クライアントと HTTP トランスポートに関するもので、この stdio サーバーでは読み込まれません。本番環境の依存関係に対するnpm auditでは、脆弱性は 0 件と報告されます。
0.4.1
2026 年 9 月の監査で判明した問題を修正し、vr.org/mcp のホスト型エンドポイントにも同じ修正を適用しました。
get_vr_articleが記事全体を返すようになりました。body_htmlは文字列全般に適用される 4,096 文字の上限で切り詰められ、タグの途中でほとんどの記事が途切れているにもかかわらず、ok: trueと報告されていました。専用の上限を 45,000 文字に設定しました。なお、50 KB の応答上限は引き続き適用されます。また、記事には修正が適用された日付であるupdatedも含まれるようになりました。これはホスト型エンドポイントではすでに返されていた情報です。vr_explainが、短いトピックに対して誤ったガイドを回答しなくなりました。以前は「vr」や「3」のようなトピックが長いキーの途中に一致し、確信度付きで「PSVR2 vs Quest 3」を返していました。逆方向のマッチングには、単語の境界から始まる 4 文字以上が必要になりました。compare_vr_headsetsが「Pimax Dream Air SE」を正しく判別するようになりました。pimaxエイリアスが前方一致だったため、Pimax に関するすべてのクエリが Crystal に書き換えられていました。vrorg://news/latestを読み込んでも、次の 1 分間、キーワード検索の対象が 25 件に縮小されなくなりました(リクエストサイズが異なる 2 つの処理でキャッシュキーを共有していたため)。vrorg://article/{slug}に不正なスラッグを指定した場合、「一時的に利用できません。しばらくしてから再試行してください」ではなく、「見つかりません」と表示されるようになりました。npm auditに対応するため、推移的依存関係の固定バージョン(hono、fast-uri、qs)を更新しました。
0.4.0
コンテンツの出典情報。フィードの各項目に provenance フィールドが追加されました。値は、VR.org が執筆・編集したことを示す vr_org_editorial、または外部の発行元から見出しや抜粋をそのまま中継したことを示す third_party_feed のいずれかです、中継テキストを含むレスポンスには、そのテキストを指示ではなくデータとして扱うよう伝える content_notice も含まれます。また、vrorg://news/latest リソースにも同じ注意書きが文章で記載されています。これはメタデータの追加のみであり、既存のフィールドや既存の利用側に影響はありません。
この変更により、呼び出し元のクライアントは、VR.org が実際に責任を持つテキストを判別できます。これは、MCP チャネル間で指示を分割する手法を扱った 2026 年 8 月の GhostSplice の調査に沿うもので、その中心的な緩和策は、クライアントがサーバーの出力をデータとして扱うことです。このサーバーはその攻撃の媒介にはなりません(サンプリングを要求せず、ツールの説明は静的なリテラルであり、ツール引数として戻り得るすべての値は厳格な許可リストに照らして検証されます)。ただし、自ら執筆していないテキストを中継するため、今回、その旨を明示するようになりました。
また、@modelcontextprotocol/sdk を 1.30.0 に更新し、勧告の対象となった SDK の HTTP トランスポートの推移的依存関係 4 件を固定しました。このサーバーは stdio のみを使用し、そのトランスポートを読み込まないため、依存関係の固定は脆弱性への対処ではなく、衛生管理の一環です。npm audit --omit=dev では脆弱性が 0 件と報告されます。
0.3.2
エラーパスの堅牢化:ツールのエラーにもツールの結果と同じ出力スクラブが適用されるようになり、シークレットが伏せられ、エラーテキストの長さが制限されます。すべての自由記述パラメーターにスキーマレベルの最大長が設定されます。有効な入力に対する動作に変更はありません。
ライセンス
MIT。VR.org のプロジェクトです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。