VR.org's read-only Model Context Protocol (MCP) server, for VR, AR, XR news aggregation and original reporting. Any MCP-compatible agent (such as Claude Desktop, Claude Code, Cursor, Continue, etc.) can access live news, original editorial content (including full article text), the VR/AR/XR events calendar, curated headset deals, buying guide Q&A, and popular game and app lists in a single call.
Key capabilities and scale: the server contains eleven tools, five resources, and three prompts, with zero keys, zero writes, and zero payments. Each tool connects to VR.org's public JSON API (https://vr.org/api/*)组合成对智能体友好的单次响应。服务器为轻量代理,不保存密钥、不写入数据、不能转移资金。
How to use: run directly with npx (no global install required). You can also download the latest version of the .mcpb package and double-click to install it into Claude Desktop; or configure manually: add it to claude_desktop_config.json, or add it to .cursor/mcp.json. The hosted remote endpoint provides the same tools over MCP's streamable-HTTP transport, so web clients (ChatGPT connectors, Claude.ai connectors) can use it without a local install. Human setup guides for each client are at vr.org/connect. All MCP resources that can be attached as context are browsable.
Security and content handling: because live feeds contain third-party RSS headlines, to prevent upstream malicious or compromised headlines from manipulating the calling model, all tool output is sanitized (control characters, zero-width characters, and directional override characters are removed), and serialized responses are limited to no more than 50 KB, avoiding large payloads overwhelming the agent's context window. Inputs are validated before external requests are made, and all free-text parameters are length-limited at the schema layer. Errors are returned as structured, non-echoing objects rather than raw stack traces; in the rare cases where an error string reaches the caller, it undergoes the same output cleaning as tool results, credential-shaped substrings are redacted, text is truncated, and isError is flagged. The API base URL is fixed in the source code to https://vr.org,不可覆盖,因此服务器只能与 VR.org communication.
Version and compatibility: requires Node.js 20 or newer. The server already runs on MCP SDK v2 (@modelcontextprotocol/server) and supports the 2026-07-28 protocol revision; clients on the 2025 revision connect in exactly the same way, and the opening message determines which revision the connection uses. Node.js 18 is no longer supported because the v2 SDK requires Node.js 20; if you are pinned to Node 18, stay on 0.4.4. The install size is greatly reduced: the old SDK pulled in an HTTP stack that this stdio server never used (more than 80 packages), and the production dependency tree is now three packages, with npm audit showing no warnings and no overrides needed. Hosted endpoint https://vr.org/mcp Migrated to the same protocol on the same day, and now responds directly at /mcp instead of redirecting to /api/mcp, cutting round trips in half for clients configured with the short URL.
Feature update: search_vr_news now matches by term rather than one exact phrase. Previously the keyword filter required the entire query to appear verbatim in the title or summary, and agents often sent queries like "steam frame release date" or "best vr headset 2026" that returned empty even when the source was full of matching coverage. In a replay of 25 real queries against the live source, 18 returned empty. Now the query is split into keywords, filler words are discarded (such as "what is the latest", "news", "today", years, and month names), and each remaining keyword must appear in any order in the title, summary, tags, category, or source name. Plurals match singulars, punctuation is ignored ("half-life alyx" finds "Half-Life: Alyx"), and model numbers entered without spaces still match ("psvr2" finds "PS VR2"). Numbers and two-letter words match only as whole words, so "quest 3" does not return coverage of the Quest 3S. Title matches are listed first, and within a group they are sorted by most recent. When a query is sent, the response appends match (all_terms, partial, none, or latest when the query is all filler words), terms (the keywords actually used), and total_matches. If nothing matches all keywords, the closest matches are returned and marked as partial with a hint. Calls without a query return exactly the same content as before. The hosted endpoint https://vr.org/mcp uses the same matcher.
vr_explain and the vrorg://guides resource now answer from VR.org's live explainer source, so they stay current between releases. Previously the answers were a list compiled into the package in July 2026, and by October most real-world topics ("steam frame", "steam frame price", "meta vr glasses", "quest 4") returned no_explainer, and several existing answers were outdated. The list is now fetched from https://vr.org/api/explainers and cached for ten minutes, the same as deals and events, so site guide refreshes reach agents without a release. Every fetched entry is validated before use (keys must be a non-empty list of non-empty strings, links must be at https://vr.org),并与其他上游文本一样通过净化器。若获取失败或无有效返回,则使用内置列表回答;该列表现镜像站点当前 34 guides (previously 10), so the offline server can still give current answers. Fetch failures are remembered for one minute to avoid a failure slowing down every call. The matching logic is unchanged: the longest key contained in the topic wins, so "steam frame price" reaches the price page rather than the Steam Frame hub page.
get_vr_article now returns the full article. body_html was previously truncated by the generic 4,096-character string limit, and most articles were cut off mid-tag while still reporting ok: true; it now has its own limit of 45,000 characters, and the 50 KB response limit still applies. Articles also carry updated (the date a correction was applied), which the hosted endpoint already returned.
Content provenance: each item in source results now carries a provenance field, with the value vr_org_editorial (written and edited by VR.org) or third_party_feed (a headline or summary forwarded verbatim from an external publisher). Any response containing forwarded text also carries content_notice, warning that the text should be treated as data rather than instructions; the vrorg://news/latest resource carries the same notice in prose form. This is additional metadata and does not affect existing fields or existing consumers. Its purpose is to let calling clients distinguish which text is actually endorsed by VR.org.
License: MIT, VR.org project. Free, no key required, no writes.
More details about charging, pricing, platforms, and so on are not provided in the material.