
Sceneview
io.github.ThomasGorisse由 GitHub 账号 ThomasGorisse 发布v3.4.2更新于 Oct 26, 2026
3D & AR SDK for Android, iOS, Web — API docs, samples, validation, and code generation.
概览
SceneView 3D 与 AR SDK 的 MCP 服务器,帮助助手写出正确的 Jetpack Compose、SwiftUI 和 Web 3D/AR 代码。
- 可以做什么
- 在运行前用真实的公开 API 校验代码片段
- 查询准确的节点签名与参考,而不是凭空编造
- 浏览并获取可直接使用的示例项目
- 获取各平台的项目接入与 AR 接入配置
- 适用场景
- 在使用 SceneView 开发 Android、Apple 平台或 Web 的 3D 与 AR 界面时,希望助手生成的代码符合真实 API,或想从可运行的示例起步。
- 运行要求
- 通过 npx 以 stdio 在本地运行(需要 Node.js)。README 称该服务器免费且无需 API 密钥;未声明任何环境变量或请求头。对于只支持 HTTP 的客户端,还提到一个托管 HTTP 端点。
安装
在 SourceWeft 中
- 打开 控制台中的 Sceneview,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
SceneView
The AI-first 3D & AR SDK for Jetpack Compose, SwiftUI and the web.
Declarative 3D and AR for app developers who want a model on screen, or in the room, without a game engine: Filament + ARCore on Android, RealityKit + ARKit on Apple, Filament.js + WebXR in the browser — with Flutter, React Native and Compose Multiplatform bridges on top. Open source, Apache 2.0.
AI-first means one thing here: an assistant that reads llms.txt or
the MCP server writes SceneView code that works on the first try. When it doesn't, the
API or the doc gets fixed.
[Android 3D] [Android AR] [iOS / macOS / visionOS] [sceneview-web] [Flutter] [React Native] [MCP Server]
[CI] [License] [GitHub Stars] [Discord] [Open Collective]
Try it
[Get it on Google Play] [Download on the App Store] [Open the Web Playground]
The demo apps are built from samples/. Any demo opens straight from a link:
https://sceneview.github.io/open?demo=<id>. Start with
Cosmos, the galaxy the catalogue opens on, or
3D Scan, a space scanned with ARCore and rebuilt in 3D.
Help test the demos
Install the Android demo, record your screen while you use a demo, and tell us what breaks or confuses you: open an issue with the recording attached, or send it from the app (any demo, Settings, then Send feedback). Your first report unlocks SceneView Labs, early access to the experimental demos, straight away.
Quick start
One minimal, working example per platform. The full reference for each is in
llms.txt.
Android
The app module needs compileSdk = 37, minSdk 24 or higher, AGP 9.4.0+, Kotlin 2.4 and JVM
target 21 for both Java and Kotlin: SceneView ships Java 21 bytecode with public inline
functions. The quickstart requirements give the Gradle
snippet and the reason for each.
models/helmet.glb lives in src/main/assets/. rememberModelInstance returns null until the
model is loaded, then recomposes. Never call modelLoader.createModel* from a background
coroutine: Filament calls must run on the main thread, and rememberModelInstance handles that.
AR (Android)
Plane detected → anchor set → Compose recomposes → the model appears. AR state is just Kotlin
state. For placement without a tap, grounded and gesture-ready, start from
AutoPlacementScene (see llms.txt).
arsceneview already declares the CAMERA permission and marks ARCore as optional. An AR
Optional app declares android.hardware.camera.ar and android.hardware.camera as
<uses-feature … android:required="false" />; an AR Required app overrides the ARCore value
with tools:replace="android:value". Both snippets are in the
AR manifest section.
iOS / macOS / visionOS (SwiftUI)
Swift Package Manager: https://github.com/sceneview/sceneview.git, from 4.63.0.
The content closure runs once unless its .contentID(_:) changes: without that line, a model
that finishes loading after the scene appears is never added.
Web
Compose Multiplatform (Android · iOS · desktop)
A viewer by design — load, orbit, light, tap; no AR. Scope and the one-time iOS setup:
sceneview-compose/.
Flutter
React Native
Flutter and React Native bridge a subset of the native API — see
flutter/ and
react-native/ for what is covered.
Your AI assistant
Then ask: "Add a 3D model viewer to my Compose screen." Every other client is in Use with AI.
Runs on
Each row is a published package plus an app or page you can open today, backed by a real capture of it.
Shipped means released and publicly reachable; the second word is the API maturity. The other platforms in the table below join this section once a capture backs them.
Platforms
Install
Use with AI
Everything an assistant needs to write SceneView code ships with the SDK:
llms.txt— the complete API reference in one file: composables, every node type, threading rules, recipes. Its Kotlin snippets are compiled in CI. Served athttps://sceneview.github.io/llms.txtfor tools without MCP support.- Rules files —
AGENTS.md(Codex, Cursor, GitHub Copilot, Gemini in Android Studio and others),CLAUDE.md(Claude Code),.github/copilot-instructions.md, and.cursorrulesfor older Cursor versions. - The MCP server — free, no API key. The tools assistants reach for most:
validate_code(checks a snippet for known pitfalls and unknown symbols before you run it; it does not check argument names),get_node_reference(the exact node signature, not an invented one),list_samples/get_sample(38 samples to start from), andget_setup/get_ar_setup(project wiring).
MCP setup
Clients that only speak HTTP (Gemini in Android Studio, ChatGPT) use the hosted endpoint
https://mcp.sceneview.dev/mcp, or run their own with npx sceneview-mcp --http. Per-client
snippets: sceneview.github.io/#ai-setup. Listed on the
MCP Registry.
ChatGPT / Codex plugin
This repository is also an OpenAI plugin: .codex-plugin/plugin.json points at the three
skills under agents/ (sceneview, sceneview-ios, sceneview-web). From a
checkout:
Codex also discovers the skills from .agents/skills/ on its own. Over HTTP the MCP server
carries an inline view_3d_model widget that renders a public GLB/glTF URL in the
conversation. Listing copy and test prompts: agents/OPENAI-PLUGIN.md.
Claude Code plugin
/plugin marketplace add sceneview/claude-marketplace, then /plugin install sceneview@sceneview,
installs the same three skills as the Codex plugin together with the MCP server. The commands used
to work on this repository are a separate plugin, sceneview-contrib@sceneview — see
sceneview/claude-marketplace.
Vertical MCP servers (Rerun AR debugging and others) are listed in the MCP README.
Android in depth
3D scene
SceneView is a composable that renders a Filament viewport. Nodes are composables inside it.
Node composables — 27 in 3D, 15 more in AR
AR scene
ARSceneView is SceneView with ARCore: the camera follows real-world tracking. See the
AR quick start above.
Capabilities
Model formats
There is no per-format API on Android: rememberModelInstance(modelLoader, path) accepts all of
them. On Apple, RealityKit reads no glTF, so .gltf / .glb are deliberately not in
ModelFormat; USD/Reality load through RealityKit and the mesh formats through MeshAsset. The format is decided by the file's bytes, not its extension, so a file shared into your
app as application/octet-stream with no name still opens. The converters are dependency-free
Kotlin in sceneview-core. Tracked next:
one ModelFormat entry point and
every format on the web. Details:
Model formats.
Apple (iOS / macOS / visionOS)
Native Swift Package built on RealityKit, with a node set mirroring the Android API. Content you
can build synchronously uses the @NodeBuilder form:
AR on iOS — tap a detected plane to place content:
Nodes — ModelNode · GeometryNode (cube/sphere/cylinder/cone/torus/capsule/plane) ·
LightNode · ImageNode · VideoNode · TextNode · ViewNode · BillboardNode · MeshNode ·
LineNode · PathNode · ShapeNode · PhysicsNode · ReflectionProbeNode · DynamicSkyNode ·
FogNode · CameraNode · AnchorNode · AugmentedImageNode · SceneReconstructionNode
(visionOS scene mesh). Plus an iOS RerunBridge with the same wire format as Android.
Full guide: SceneViewSwift/README.md.
SceneView Web
Two <script> tags and one call (see Web above). The wrapper is ~24 KB gzipped; the
engine it drives is Filament — the same renderer as Android SceneView — compiled to WebAssembly
(~2.3 MB gzipped).
JavaScript API (script tag):
SceneView.modelViewer(canvasOrId, url, options?)— all-in-one viewer with orbit + auto-rotateSceneView.create(canvasOrId, options?)— empty viewer, load a model laterviewer.loadModel(url)— load or replace a glTF/GLB modelviewer.setAutoRotate(enabled)— toggle rotationviewer.dispose()— release resources
Kotlin/JS (sceneview-web, npm only) — the power-user API: OrbitCameraController, the
geometry DSL, reactive node updates, and WebXR through ARSceneView (immersive-ar,
hit-test, anchors, light estimation), VRSceneView (immersive-vr, controllers) and the
low-level WebXRSession. The module builds a webpack bundle, so it has no Maven coordinate:
The package expects a Filament global and does not include the SceneView.modelViewer script
helpers. A Kotlin Multiplatform project that only needs the shared core (collision, math,
geometry, animation, physics — no renderer) uses
implementation("io.github.sceneview:sceneview-core-js:4.65.0").
Landing page · Playground · npm
The Compose-native successor to Sceneform
Google archived Sceneform in 2021 and ships
no first-party declarative AR renderer. SceneView descends from the maintained Sceneform
community fork: ARCore for perception, Filament for rendering, Jetpack Compose for the API, and
glTF (.glb / .gltf) instead of the deprecated .sfb format.
Coming from Sceneform? The migration guide maps it
concept by concept (ArFragment → ARSceneView { }, ModelRenderable →
rememberModelInstance, and so on).
AR debugging
- Record & Replay — capture an ARCore session once with
rememberARRecorder(), replay it 1:1 at your desk withARSceneView(playbackDataset = file). Seedocs/docs/ar-recording.mdand the Record & Playback demo. - Hosted Rerun viewer — export a scan's Rerun recording from the 3D Scan demo, host the
.rrdfile at an https address that ends in.rrd, and openhttps://sceneview.github.io/rerun/?url=<encoded-url>to scrub the session frame by frame in a browser, with no local install. The host has to allow cross-origin requests (CORS): a public GitHub repository'sraw.githubusercontent.comlink and GitHub Pages do, a GitHub release asset does not (checked 2026-10-13); an R2 or S3 bucket does with a CORS rule that allowshttps://sceneview.github.io. Architecture and the Kotlin API (RerunBridge.requestSaveAndShare) are in the AR Debug — Rerun.io section ofllms.txt.
Architecture
Each platform uses its native renderer. Shared logic lives in Kotlin Multiplatform.
Samples
Built with SceneView
- 3D AR Model Viewer — open a 3D file from any app or link (GLB, glTF, STL, OBJ, PLY, 3MF) and see it in your room at real size.
- Will It Fit — enter a piece of furniture's dimensions and see whether it fits before you buy.
Maintainer
Thomas Gorisse — Mobile SDKs and the AI agent pipeline behind them · Creator of SceneView, open-source 3D & AR
Links
Sponsors
SceneView runs in commercial products. Sponsor it or buy support.
Commercial products ship SceneView. Almost nobody contributes back, in code or in funding, while the maintainers carry every fix and every release. If SceneView is part of your product, sponsor it or buy support, now.
Sponsor. Funds the fixes, Filament upgrades and releases your product depends on. Open Source Collective issues the invoice and the receipt; your company is listed nowhere unless you ask.
Sponsor on Open Collective · or through GitHub Sponsors
Commercial support.
- Incident, $600. One reproducible problem. Within 3 business days: a minimal reproduction, the cause, and a workaround or a costed fix.
- 2.3 LTS, $1,800 for 90 days. One identified integration. Answers within 2 business days and up to 1 day of work a month; more work is quoted. The $600 of an Incident already bought is deducted.
Contracted and invoiced through Open Source Collective, the fiscal host; the money goes to the collective's budget. Payment comes before any work. Every version stays under Apache 2.0. Write to [email protected].
[Logos of the companies sponsoring SceneView on Open Collective]
[Avatars of the people backing SceneView on Open Collective]
来源:README.md,提交 828f3a1
工具
0版本历史
1- v3.4.2最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分