VR.org VR / AR / XR Reader

org.vr由 vr.org 發布v0.5.1更新於 Nov 8, 2026

Read-only VR / AR / XR news, full-text editorial, events, deals, and buyer guides from VR.org.

發布方自己的服務:DraftCall

概覽

AI 產生的概覽

以唯讀方式取得 VR.org 的 VR、AR 與 XR 新聞、原創文章、活動、優惠與購買指南。

可以做什麼
這是一個唯讀 MCP 伺服器,把 VR.org 的公開 JSON API 包裝成方便代理使用的回應。十一個工具涵蓋:可依分類與關鍵字篩選的即時 VR/AR/XR 頭條、熱門話題、VR.org 原創文章(含以 slug 取得的完整正文)、即將登場的產業活動、精選頭戴裝置優惠、頭戴裝置比較、熱門遊戲與應用程式排行榜、彙整來源清單,以及常見問題的簡短標準答案。五個資源可把最新新聞、原創索引、活動、指南與單篇文章附加為上下文,三個提示詞可協助產生頭戴裝置推薦、每週綜述與主題解說。
適用情境
當助理需要最新的 VR、AR 或 XR 報導、VR.org 原創正文、活動行程、頭戴裝置優惠或比較資料、遊戲與應用程式排行榜時適用。適合資料研究、綜述撰寫,以及依據該媒體內容回答購買類問題。
執行需求
透過 npx 以 stdio 在本機執行(npm 套件 vr-org-mcp),不需全域安裝。不需要驗證、API 金鑰、環境變數或標頭;選用變數 VR_ORG_UA_SUFFIX 會附加到送出的 User-Agent。另提供以 streamable HTTP 的遠端端點供網頁用戶端使用。需要連線至 vr.org 的網路,API 基礎網址在原始碼中固定。
安裝前請注意
唯讀:宣告不寫入、不付款、不保存祕密。輸出除 VR.org 原創內容外還包含第三方 RSS 頭條,上游文字不可信;伺服器會清除控制字元與零寬字元,並將回應限制在 50 KB。錯誤以結構化物件回傳,並會遮蔽形似憑證的子字串。所有請求只送往 vr.org。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 VR.org VR / AR / XR Reader,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

vr-org-mcp

[npm version] [MCP Registry] [Install in Cursor] [Install in VS Code]

Read-only Model Context Protocol server for VR.org, a dedicated VR / AR / XR news publication and aggregator.

It gives any MCP-compatible agent (Claude Desktop, Claude Code, Cursor, Continue, and others) one-call access to live VR, AR, and XR news, VR.org's original editorial (including full article text), the VR/AR/XR events calendar, curated headset deals, buyer-guide answers, and top-game and top-app lists.

Eleven tools, five resources, and three prompts. Zero keys. Zero writes. Zero payments.

Install

Run it directly with npx (no global install needed):

bash
npx vr-org-mcp

Claude Desktop

One-click: download the .mcpb bundle from the latest release and double-click it to install into Claude Desktop. Or configure manually:

Add to your claude_desktop_config.json:

json
{  "mcpServers": {    "vr-org": {      "command": "npx",      "args": ["-y", "vr-org-mcp"]    }  }}

Claude Code

bash
claude mcp add vr-org -- npx -y vr-org-mcp

Cursor

Add to .cursor/mcp.json:

json
{  "mcpServers": {    "vr-org": {      "command": "npx",      "args": ["-y", "vr-org-mcp"]    }  }}

Hosted remote endpoint (no install)

VR.org also runs the same tools as a remote server over MCP's streamable-HTTP transport, so web clients (ChatGPT connectors, Claude.ai connectors) can use it with no local install:

https://vr.org/mcp

Human setup walkthrough for every client: vr.org/connect.

Tools

ToolWhat it returns
search_vr_newsLatest VR / AR / XR headlines from the live feed, with optional category filter and keyword search (all keywords must match, in any order)
get_vr_trendingTopics currently trending across the feed
list_vr_originalsSummaries of VR.org's own editorial articles, newest first
get_vr_articleFull content of one original by slug: metadata, canonical URL, and the article body HTML
get_vr_eventsUpcoming VR / AR / XR industry events (conferences, expos, launches), soonest first
get_vr_dealsCurated product picks with prices, badges, and retailer links
compare_vr_headsetsSide-by-side of two headsets (partial names accepted)
get_top_vr_gamesCurrent ranked top VR games list
get_top_vr_appsCurrent ranked top VR apps and utilities list
list_vr_sourcesThe news sources VR.org aggregates, with counts
vr_explainCanonical short answer plus pillar-page link for a common question

Resources

Browsable MCP resources an app can attach as context:

ResourceContents
vrorg://news/latestLatest aggregated VR / AR / XR headlines
vrorg://originals/latestIndex of VR.org's newest original articles
vrorg://events/upcomingUpcoming VR / AR / XR industry events
vrorg://guidesVR.org's canonical pillar-guide answers in one doc
vrorg://article/{slug}Full HTML body of any original article (resource template)

Prompts

PromptWhat it does
recommend_a_headsetRecommends a headset from VR.org's picks given a budget and use case
this_week_in_vrDrafts a weekly VR / AR / XR roundup from the feed and originals
explain_vr_topicExplains a VR topic grounded in VR.org's canonical answer

How it works

Every tool composes VR.org's public JSON API (https://vr.org/api/*) into a single agent-friendly response. The server is a thin proxy: it holds no secrets, writes nothing, and cannot move money.

Threat model

VR.org's editorial is controlled, but the live feed also carries third-party RSS headlines. To keep a malicious or compromised upstream headline from manipulating the calling model, every tool output is:

  1. Sanitized. Control characters and zero-width / direction-override characters are stripped from every string.
  2. Capped. Serialized responses are limited to 50 KB so a large payload cannot flood the agent's context window.

Inputs are validated before any outbound request and every free-text parameter is length-capped at the schema layer. Errors are returned as structured, non-echoing objects rather than raw stack traces; on the rare path where an error string reaches the caller it runs through the same output scrub as a tool result, with any credential-shaped substring redacted and the text capped, and is flagged with isError.

Configuration

The API base URL is fixed to https://vr.org in source and cannot be overridden, so the server can only ever talk to VR.org.

Env varDefaultPurpose
VR_ORG_UA_SUFFIX(none)Optional suffix appended to the outbound User-Agent

Development

bash
npm installnpm run dev        # run from source over stdionpm run build      # compile to dist/npm test           # run the offline test suitenpm run typecheck  # type-check without emitting

Changelog

0.5.0

Protocol upgrade. Requires Node.js 20 or newer.

  • The server now runs on the MCP SDK v2 (@modelcontextprotocol/server) and speaks the 2026-07-28 protocol revision. Clients on the 2025 revisions connect exactly as before: the opening message decides which revision a connection uses.
  • Node.js 18 is no longer supported, because the v2 SDK needs Node.js 20. If you are pinned to Node 18, stay on 0.4.4.
  • The install is much smaller. The old SDK pulled in an HTTP stack this stdio server never used, more than 80 packages of it. The production dependency tree is now three packages, and npm audit is clean with no overrides.
  • The hosted endpoint at https://vr.org/mcp moved to the same protocol on the same day. It also answers at /mcp directly now instead of redirecting to /api/mcp, which halves the round trips for clients configured with the short URL.
  • No tool, resource or prompt changed.

0.4.4

search_vr_news now matches on words instead of one exact phrase.

  • The keyword filter used to require the whole query to appear, as typed, somewhere in a headline or snippet. Agents tend to send queries like "steam frame release date" or "best vr headset 2026", and those came back empty even when the feed was full of matching stories. In a replay of 25 realistic queries against the live feed, 18 returned nothing.
  • A query is now split into keywords. Filler ("what is the latest", "news", "today", years and month names) is dropped, and every remaining keyword has to appear in the headline, snippet, tags, category or source name, in any order. Plurals match singulars, punctuation is ignored ("half-life alyx" finds "Half-Life: Alyx"), and a model name typed without its space still matches ("psvr2" finds "PS VR2"). Numbers and two-letter terms match whole words only, so "quest 3" does not return Quest 3S stories.
  • Headline matches are listed first, newest first inside each group.
  • When a query is sent, the response adds match (all_terms, partial, none, or latest for a query that was all filler), terms (the keywords actually used) and total_matches. If nothing matches every keyword, the closest matches are returned and labelled partial with a hint. A call with no query returns exactly what it did before.
  • The hosted endpoint at https://vr.org/mcp carries the same matcher.

0.4.3

Maintenance release.

  • The vr_explain tool description now names the newer topics it can answer ("steam frame price", "meta vr glasses"), so an agent reading the tool list knows to ask for them. The hosted endpoint at https://vr.org/mcp carries the same wording.
  • The release workflow now publishes through npm trusted publishing (OIDC) and only falls back to a token if that is rejected. Provenance is attached as before.

0.4.2

vr_explain and the vrorg://guides resource now answer from VR.org's live explainer feed, so they stay current between releases.

  • The answers used to be a list compiled into the package in July 2026. By October most realistic topics ("steam frame", "steam frame price", "meta vr glasses", "quest 4") returned no_explainer, and several of the answers that did exist were out of date. The list is now fetched from https://vr.org/api/explainers and cached for ten minutes, the same way deals and events are, so a guide refresh on the site reaches agents without a package release.
  • Every fetched entry is validated before use (keys must be a non-empty list of non-empty strings, and the link must be on https://vr.org) and passes through the same sanitizer as other upstream text. If the fetch fails or returns nothing valid, the built-in list answers instead. That list now mirrors the site's current 34 guides, up from 10, so an offline server still gives current answers. A failed fetch is remembered for one minute so an outage does not slow down every call.
  • Matching is unchanged: the longest key contained in the topic wins, so "steam frame price" reaches the price page and not the Steam Frame hub.
  • The explain_vr_topic prompt no longer offers 'passthrough' as an example topic, which had no answer. It and the no_explainer hint now suggest 'steam frame'.
  • The get_vr_deals description names all five catalog sections: headsets, AR and XR glasses, accessories, haptics and body tracking, gaming hardware.
  • Bumps @modelcontextprotocol/sdk from 1.30.0 to 1.32.1 and refreshes the ip-address and proxy-addr pins. The advisories behind this sit in the SDK's OAuth client and HTTP transport, which this stdio server never loads. npm audit on the production dependencies reports zero vulnerabilities.

0.4.1

Fixes from a September 2026 audit, matched on the hosted endpoint at vr.org/mcp.

  • get_vr_article now returns the whole article. body_html was cut at the general 4,096-character string cap, which truncated most articles mid-tag while still reporting ok: true. It now has its own 45,000-character cap, and the 50 KB response cap still applies. The article also carries updated, the date a correction was applied, which the hosted endpoint already returned.
  • vr_explain no longer answers short topics with the wrong guide. A topic like "vr" or "3" used to match inside a longer key and return "PSVR2 vs Quest 3" with confidence; the reverse match now needs four or more characters starting on a word boundary.
  • compare_vr_headsets matches "Pimax Dream Air SE" correctly. The pimax alias was a prefix match that rewrote every Pimax query to Crystal.
  • Reading vrorg://news/latest no longer shrinks keyword search to 25 items for the next minute (the two shared a cache key with different request sizes).
  • A malformed slug in vrorg://article/{slug} now says "not found" instead of "temporarily unavailable, retry shortly".
  • Refreshed transitive dependency pins (hono, fast-uri, qs) for npm audit.

0.4.0

Content provenance. Feed results now carry a provenance field on every item, either vr_org_editorial (written and edited by VR.org) or third_party_feed (a headline or snippet relayed verbatim from an outside publisher). Any response containing relayed text also carries a content_notice saying to treat that text as data rather than instructions, and the vrorg://news/latest resource carries the same notice in prose. This is additive metadata, so existing fields and existing consumers are unaffected.

The point is to let a calling client tell which text VR.org actually stands behind. It follows the August 2026 GhostSplice research on splitting instructions across MCP channels, whose core mitigation is that clients should treat server output as data. This server is not a vector for that attack (it never requests sampling, its tool descriptions are static literals, and every value that can flow back in as a tool argument is validated against a strict allowlist), but it does relay text it did not write, and now it says so.

Also bumps @modelcontextprotocol/sdk to 1.30.0 and pins four transitive dependencies of the SDK's HTTP transport that carried advisories. This server is stdio-only and never loads that transport, so the pins are hygiene rather than an exposure fix. npm audit --omit=dev reports zero vulnerabilities.

0.3.2

Error-path hardening: tool errors now pass through the same output scrub as tool results, with secrets redacted and error text capped. All free-text parameters gain schema-level max lengths. No behavior change for valid inputs.

License

MIT. A VR.org project.

來源:README.md,提交 8f6377f

工具

11

search_vr_news

Search VR / AR / XR news

Returns the latest VR, AR, and XR headlines from VR.org's live aggregated feed plus VR.org originals, newest first. Optionally filter by category and by keywords: every keyword must appear in the headline, snippet, tags or source, in any order, and headline matches are listed first. Use a few keywords ('steam frame price') rather than a sentence, and omit the query for the latest headlines.

輸入參數limitquerycategory

list_vr_originals

List VR.org original articles

Returns summaries of VR.org's own editorial articles (original reporting, opinion, retrospectives, and guides), newest first. Optionally filter by category.

輸入參數limitcategory

get_vr_article

Get a VR.org article by slug

Returns the full content of a single VR.org original article by its slug: metadata (title, author, date, category, tags, snippet), the canonical URL, and the article body HTML.

輸入參數slug必填

get_vr_events

Get upcoming VR / AR / XR events

Returns upcoming VR, AR, and XR industry events (conferences, expos, launches) from VR.org's events calendar, soonest first. Set include_past to also include events that have already ended.

輸入參數limitinclude_past

get_vr_deals

Get VR product deals and prices

Returns VR.org's current curated product picks in five sections (headsets, AR and XR glasses, accessories, haptics and body tracking, gaming hardware) with prices, badges, and retailer links. Optionally filter to one section.

輸入參數section

compare_vr_headsets

Compare two VR headsets

Returns a side-by-side of two headsets (price, badge, description, retailer links) drawn from VR.org's curated catalog. Accepts partial names like 'Quest 3' or 'PSVR2'.

輸入參數a必填b必填

get_top_vr_games

Get the top VR games list

Returns VR.org's current ranked list of the top VR games.

無需輸入參數。

get_top_vr_apps

Get the top VR apps list

Returns VR.org's current ranked list of the top VR apps and utilities.

無需輸入參數。

list_vr_sources

List VR.org news sources

Returns the news sources VR.org aggregates, with per-source article counts and status, plus aggregate totals.

無需輸入參數。

vr_explain

Explain a VR / AR / XR topic

Returns a canonical VR.org answer and the authoritative guide link for a common VR / AR / XR question, covering the main buying guides and product hubs (for example 'what is vr', 'best headset', 'steam frame price', 'meta vr glasses', 'ar glasses', 'vr for beginners').

輸入參數topic必填

版本歷史

5
  1. v0.4.4Oct 13, 2026
  2. v0.4.3Oct 8, 2026
  3. v0.4.2Oct 7, 2026
  4. v0.4.1Sep 29, 2026
  5. v0.3.2Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Draftcall 整合