自托管服务器首次启动会下载 VGGT-1B 模型,该模型为 CC BY-NC 4.0 仅限非商业使用,商用需走托管服务或自行取得授权;使用托管服务需先执行 login 登录并保存 API key;server/ 和 core/ 是私有仓库的手工同步镜像,自托管路径尚不成熟,出问题需附日志提 issue。
openreality
reality-openedBSD-2-Clause活跃维护把手机拍摄的视频重建为可被 AI 查询的 3D 场景,内置 MCP 工具让 Claude、Cursor 等直接调用,并提供可自托管的 broker 与 VGGT-SLAM 库。
Open Reality: phone video to AI-queryable 3D scenes. MCP tools for Claude/Codex/Cursor (npm openreality-mcp), the self-hostable broker, and the VGGT-SLAM library, in one repo. BSD-2-Clause.
claude mcp add openreality -- npx -y openreality-mcp serve
npx -y openreality-mcp login自托管需要自己的 GPU 机器或自己的 Modal 账户(CPU Web 服务 + GPU worker);README 未给出具体显存要求。使用内置离线模拟器则无需 GPU。
把手机视频变成 AI 可查询的 3D 场景,并通过 MCP 工具让 Claude、Codex、Cursor 直接测量、导航和导出
把手机拍摄的视频重建为可被 AI 查询的 3D 场景,内置 MCP 工具让 Claude、Cursor 等直接调用,并提供可自托管的 broker 与 VGGT-SLAM 库。
核心能力
- 上传手机视频,几分钟生成持久化 3D 场景
- 通过 MCP 暴露 42 个工具,供 AI 助手调用
- 未校准前只报相对单位,校准后才输出米制测量
- 在扫描出的自由空间内规划到目标点的路径
- 把扫描导出为 LeRobot/GR00T 数据集或 Isaac Sim/MuJoCo 场景
容易踩的坑
- v0.4.0openreality-mcp 0.4.0: export a scene to MuJoCo最新正式版2026-10-20 · 2026-10-20 20:57 UTC
openreality-mcp 0.4.0: export a scene to MuJoCo
New tool:
export_mujoco. One call takes a scene to a loadable MuJoCo model. It builds (or reuses) the scene'smujoco_mjcfexport on the server, downloads it, unpacks it to disk, and returns the path toscene.xml:import mujoco model = mujoco.MjModel.from_xml_path("<scene_xml from the tool result>") # needs mujoco>=3.3or
python -m mujoco.viewer --mjcf=<path>. The export also shipstrajectory.csvand areplay.pythat flies the scan camera through the scene.What's in the model
- The scan placed in metres, Z up, with the floor at z=0. Lengths are metric only after you anchor the scene, so
export_mujocois refused (409metric_scale_required) until you runscene_anchor. The refusal comes back verbatim, with a pointer to the fix. - Collision is a floor plane plus one upright box per detected object, each box fit to the scan points inside it. The scan mesh is visual only, because MuJoCo collides any mesh as its convex hull, which would turn a room into one solid block. Walls and undetected furniture do not collide. Every export's
manifest.jsonsays this incollision_note.
Everything else
mujoco_mjcfis accepted byexport_manifest,export_prepareandexport_status.- 42 tools (was 41).
Server side: MuJoCo and Isaac Sim exports now share one core, so both get the same metric gate, gravity alignment and mesh.
Build the Claude desktop bundle yourself with
cd mcp && npm run build:mcpb. - The scan placed in metres, Z up, with the floor at z=0. Lengths are metric only after you anchor the scene, so
- v0.3.1openreality-mcp 0.3.1: Claude desktop extension, Claude Code plugin, MCP Registry manifest2026-09-03 · 2026-09-03 19:47 UTC
查看更新说明
openreality-mcp 0.3.1: install from anywhere
Same 41 tools as 0.3.0, packaged for every place people install MCP servers.
Claude desktop, one click. Download
openreality-mcp-0.3.1.mcpbbelow and double-click it (or drag it into the Claude desktop window). The settings panel takes an optional server URL for self-hosters and an optional API token; otherwise runnpx -y openreality-mcp loginonce in a terminal.Claude Code plugin. The repo is now a plugin marketplace that bundles the MCP server with the workflow skill:
/plugin marketplace add reality-opened/openreality /plugin install openreality@openrealityOfficial MCP Registry.
mcp/server.jsonand themcpNamefield are in place (io.github.reality-opened/openreality-mcp); the registry listing follows the npm publish of this version.Everything else
- All 41 tools now carry
readOnlyHint/destructiveHintannotations (no tool deletes anything). mcp/README.mdgains a plain-language privacy policy.- Acknowledgements section in both READMEs, crediting VGGT-SLAM, VGGT, Depth Anything V2, gsplat, SAM 3, TRELLIS, LeRobot, GR00T, GTSAM, cordis, and the MCP SDK.
- New post: Why our 3D tools refuse to say "metres" until you prove it.
Build the bundle yourself with
cd mcp && npm run build:mcpb. - All 41 tools now carry
- demo-assets-v1Demo recordings2026-09-02 · 2026-09-02 18:04 UTC
查看更新说明
Terminal demo rendered from docs/demo/demo.tape (VHS): a real Claude Code session driving the openreality MCP tools against the built-in offline simulator. Referenced by the README.
- v0.3.02026-09-01 · 2026-09-01 20:37 UTC
查看更新说明
First release from the standalone open-source repo.
- Rebuilt on the cordis plugin architecture: ctx.broker and ctx.mcp services, one plugin per tool namespace, effect-scoped (reversible) tool registration, inject-gated activation. See the Architecture section of the README.
- Full parity with the last in-tree release line: 0.2.1 transport resilience (GET retry, poll-blip tolerance, progress notifications on long waits) plus the scene_share_access tool (41 tools total).
- Self-contained: the @reality/protocol wire contract is vendored with a pinned-commit manifest; a mock-backend simulator supports fully offline development.
- 59 tests: unit, contract, transport, cordis lifecycle, and a real stdio end-to-end suite that records examples/transcript.md.
Install: npx -y openreality-mcp serve (see https://open-reality.io/mcp for per-client setup).
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Utilities
| 🎥 Video in, 3D scene out | Upload a phone video. A few minutes later you have a persistent 3D scene. |
| 📏 Measurement | Distances and angles between any points. Numbers are only called metres after you calibrate with real distance; otherwise relative. |
| 🧭 Path planning | Plan a route through the scanned free space to an object or a point. |
| 🤖 Robot-training exports | Turns a scan into LeRobot / GR00T style datasets or an Isaac Sim or MuJoCo scene (hosted service). |
| 🕵️ Scene agents | Server-side agents that survey, label, and answer questions about a scene. |
| 🛠️ 42 tools for your AI | Everything is exposed through MCP. |
| 🧪 Offline simulator | A mock backend fakes the entire workflow with fixture data, so you can develop and demo with no account and no GPU. |
| 🏠 Self-hostable | The full server runs on your own GPU box or your own Modal account, no account with us needed. |
Quickstart
Add the tools to your AI assistant:
claude mcp add openreality -- npx -y openreality-mcp serve
codex mcp add openreality -- npx -y openreality-mcp serve
Add this to claude_desktop_config.json (Settings → Developer → Edit Config)
or ~/.cursor/mcp.json:
{
"mcpServers": {
"openreality": {
"command": "npx",
"args": ["-y", "openreality-mcp", "serve"]
}
}
}
Claude Code plugin (the MCP server plus the workflow skill in one step):
/plugin marketplace add reality-opened/openreality
/plugin install openreality@openreality
Claude desktop extension: download openreality-mcp-<version>.mcpb from the
latest release
and double-click it, or drag it into the Claude desktop window. No terminal needed.
Then sign in once (opens your browser, stores a revocable API key on your machine):
npx -y openreality-mcp login
Scan a room with your phone at open-reality.io, or just ask your assistant to upload a video file. Full per-client setup: open-reality.io/mcp.
Examples
Once connected, talk to your assistant like this:
"Upload
~/Videos/kitchen.mp4and reconstruct it."
"What objects are in my latest scan, and how big is the room?"
"The counter edge to the window is 2.4 m. Calibrate the scene, then measure the couch."
"Plan a path from the door to the desk and describe it."
"Export this scan as robot-training data and save the zip locally."
Self Hosting
The whole workflow is self-hostable. Read
server/docs/self-hosting.md; the short version:
git clone https://github.com/reality-opened/openreality
cd openreality/server
# Path A: your own GPU box (one process, local disk)
python -m server.selfhost --data-dir ~/openreality-data
# Path B: your own Modal account (CPU web server + GPU worker)
modal deploy modal_selfhost.py
Self-hosted servers need no account: a single token printed at first start is
your login, and the MCP client connects with OPENREALITY_URL plus that token.
[!IMPORTANT] Licensing. This repo is BSD-2-Clause, but the 3D reconstruction model a self-hosted server downloads (VGGT-1B and the VGGT code it runs on) is licensed by its owners as CC BY-NC 4.0, non-commercial use only. Nothing here redistributes it; your server fetches it from the source under their terms. For commercial use, use the hosted service (which runs a commercially licensed model) or get your own license from the model owners.
Repo index
| Directory | What it is | Ships as |
|---|---|---|
mcp/ | The MCP server: 42 tools, scene resources, the offline simulator, and a full test suite. Developed here directly. | npm openreality-mcp |
server/ | The backend: turns videos into persistent scenes and serves measurement, planning, agents, and exports over a plain REST API. | source (public mirror) |
core/ | The 3D reconstruction library: camera tracking and dense geometry from ordinary video (the VGGT-SLAM 2.0 line), plus metric calibration, object detection, and splat export. | source (public mirror) |
server/ and core/ are curated mirrors of our private working repos, synced
by hand; each carries a MIRROR.md that says exactly what is included and how
it is synced. mcp/ is developed in this repo directly.
Technical details
flowchart LR
A["📱 phone video"] --> B["server: 3D reconstruction<br/>(GPU job)"]
B --> C[("persistent scene:<br/>geometry + objects + report")]
C --> D["41 MCP tools"]
D --> E["🤖 Claude / Codex / Cursor"]
E -->|"measure · navigate · export"| D
The MCP process always runs on your machine and holds your credentials; every tool call is a typed REST call to a server (ours or yours). Big files are written to your disk, never pasted into the AI's context. Server refusals and uncertainty labels reach the AI unedited, so it cannot pretend a relative number is metres.
The measurement rule is explained in Why our 3D tools refuse to say "metres" until you prove it.
🙏 Acknowledgements
Open Reality stands on other people's research and code. Thank you to:
- VGGT-SLAM by Dominic Maggio, Hyungtae Lim and Luca Carlone (MIT SPARK Lab). The reconstruction core in
core/is the VGGT-SLAM 2.0 line, and the scan demo above is theirs. - VGGT (Meta AI), the feed-forward 3D backbone a self-hosted server fetches under its own licence (see the note above).
- Depth Anything V2, the metric-depth model behind our scale-drift correction between map segments.
- gsplat from the Nerfstudio project, the optional GPU refinement in our splat export.
- SAM 3 (Meta AI) for segmentation, and SAM 3D Objects and TRELLIS (Microsoft) for object completion and variants on the hosted service.
- LeRobot (Hugging Face), NVIDIA GR00T and Isaac Sim, whose dataset and scene formats our robot-training exports target.
- GTSAM for factor-graph optimization, cordis for the plugin runtime, and the MCP TypeScript SDK.
🤝 Contributing
Issues and pull requests are welcome on any component. Changes to mcp/ land
here directly; fixes to server/ and core/ are folded back into the private
working repos and re-synced out. If you self-host and something breaks, an
issue with your logs is a gift: the self-host paths are young.
License
BSD-2-Clause for everything in this repository. Third-party models
are fetched from their owners under their own licenses (see the licensing note
above and server/docs/self-hosting.md).