Server data from the Official MCP Registry
3D & AR SDK for Android, iOS, Web — API docs, samples, validation, and code generation.
3D & AR SDK for Android, iOS, Web — API docs, samples, validation, and code generation.
Valid MCP server (1 strong, 1 medium validity signals). 3 known CVEs in dependencies (0 critical, 3 high severity) ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.
14 files analyzed · 4 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-thomasgorisse-sceneview": {
"args": [
"-y",
"sceneview-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
3D & AR for every platform.
Build 3D and AR experiences with the UI frameworks you already know. Same concepts, same simplicity — Android, iOS, Web, Desktop, TV, Flutter, React Native.
// Android — Jetpack Compose
SceneView(modifier = Modifier.fillMaxSize()) {
rememberModelInstance(modelLoader, "models/helmet.glb")?.let {
ModelNode(modelInstance = it, scaleToUnits = 1.0f, autoAnimate = true)
}
}
// iOS — SwiftUI
SceneView(environment: .studio) {
ModelNode(named: "helmet.usdz")
.scaleToUnits(1.0)
}
<script src="https://cdn.jsdelivr.net/npm/sceneview-web@4.0.0/sceneview.js"></script>
<script> SceneView.modelViewer("canvas", "model.glb") </script>
# Claude — ask AI to build your 3D app
claude mcp add sceneview -- npx sceneview-mcp
# Then ask: "Build me an AR app with tap-to-place furniture"
No engine boilerplate. No lifecycle callbacks. The runtime handles everything.
| Platform | Renderer | Framework | Status |
|---|---|---|---|
| Android | Filament | Jetpack Compose | Stable |
| Android TV | Filament | Compose TV | Alpha |
| iOS / macOS / visionOS | RealityKit | SwiftUI | Alpha |
| Web | Filament.js (WASM) | Kotlin/JS + sceneview.js | Alpha |
| Desktop | Software renderer | Compose Desktop | Alpha |
| Flutter | Native per platform | PlatformView | Alpha |
| React Native | Native per platform | Fabric | Alpha |
| Claude / AI | — | MCP Server | Stable |
Android (3D + AR):
dependencies {
implementation("io.github.sceneview:sceneview:4.0.1") // 3D
implementation("io.github.sceneview:arsceneview:4.0.1") // AR (includes 3D)
}
iOS / macOS / visionOS (Swift Package Manager):
https://github.com/sceneview/sceneview-swift.git (from: 4.0.0)
Web (sceneview.js — one line):
<script src="https://cdn.jsdelivr.net/npm/sceneview-web@4.0.0/sceneview.js"></script>
Web (Kotlin/JS):
dependencies {
implementation("io.github.sceneview:sceneview-web:4.0.0")
}
Claude Code / Claude Desktop:
claude mcp add sceneview -- npx sceneview-mcp
{ "mcpServers": { "sceneview": { "command": "npx", "args": ["-y", "sceneview-mcp"] } } }
Desktop / Flutter / React Native: see samples/
SceneView is a Composable that renders a Filament 3D viewport. Nodes are composables inside it.
SceneView(
modifier = Modifier.fillMaxSize(),
engine = rememberEngine(),
modelLoader = rememberModelLoader(engine),
environment = rememberEnvironment(engine, "envs/studio.hdr"),
cameraManipulator = rememberCameraManipulator()
) {
// Model — async loaded, appears when ready
rememberModelInstance(modelLoader, "models/helmet.glb")?.let {
ModelNode(modelInstance = it, scaleToUnits = 1.0f, autoAnimate = true)
}
// Geometry — procedural shapes
CubeNode(size = Size(0.2f))
SphereNode(radius = 0.1f, position = Position(x = 0.5f))
// Nesting — same as Column { Row { } }
Node(position = Position(y = 1.0f)) {
LightNode(apply = { type(LightManager.Type.POINT); intensity(50_000f) })
CubeNode(size = Size(0.05f))
}
}
| Node | What it does |
|---|---|
ModelNode | glTF/GLB model with animations. isEditable = true for gestures. |
LightNode | Sun, directional, point, or spot light. apply is a named parameter. |
CubeNode / SphereNode / CylinderNode / PlaneNode | Procedural geometry |
ImageNode | Image on a plane |
ViewNode | Compose UI rendered as a 3D surface |
MeshNode | Custom GPU mesh |
Node | Group / pivot |
ARSceneView is SceneView with ARCore. The camera follows real-world tracking.
var anchor by remember { mutableStateOf<Anchor?>(null) }
ARSceneView(
modifier = Modifier.fillMaxSize(),
planeRenderer = true,
onSessionUpdated = { _, frame ->
if (anchor == null) {
anchor = frame.getUpdatedPlanes()
.firstOrNull { it.type == Plane.Type.HORIZONTAL_UPWARD_FACING }
?.let { frame.createAnchorOrNull(it.centerPose) }
}
}
) {
anchor?.let {
AnchorNode(anchor = it) {
ModelNode(modelInstance = helmet, scaleToUnits = 0.5f)
}
}
}
Plane detected → anchor set → Compose recomposes → model appears. Clear anchor → node removed. AR state is just Kotlin state.
| Node | What it does |
|---|---|
AnchorNode | Follows a real-world anchor |
AugmentedImageNode | Tracks a detected image |
AugmentedFaceNode | Face mesh overlay |
CloudAnchorNode | Persistent cross-device anchor |
StreetscapeGeometryNode | Geospatial streetscape mesh |
Native Swift Package built on RealityKit. 19 node types.
SceneView(environment: .studio) {
ModelNode(named: "helmet.usdz").scaleToUnits(1.0)
GeometryNode.cube(size: 0.1, color: .blue).position(x: 0.5)
LightNode.directional(intensity: 1000)
}
.cameraControls(.orbit)
AR on iOS:
ARSceneView(planeDetection: .horizontal) { position, arView in
GeometryNode.cube(size: 0.1, color: .blue)
.position(position)
}
Install: https://github.com/sceneview/sceneview-swift.git (SPM, from 4.0.0)
The lightest way to add 3D to any website. One script tag, one function call. ~25 KB library powered by Filament.js WASM — the same engine behind Android SceneView.
<script src="https://cdn.jsdelivr.net/npm/sceneview-web@4.0.0/sceneview.js"></script>
<script> SceneView.modelViewer("canvas", "model.glb") </script>
API:
SceneView.modelViewer(canvasOrId, url, options?) — all-in-one viewer with orbit + auto-rotateSceneView.create(canvasOrId, options?) — empty viewer, load model laterviewer.loadModel(url) — load/replace glTF/GLB modelviewer.setAutoRotate(enabled) — toggle rotationviewer.dispose() — clean up resourcesInstall: npm install sceneview-web or CDN — Landing page — npm
SceneView is AI-first — every API, doc, and sample is designed so AI assistants generate correct, compilable 3D/AR code on the first try.
The official MCP server provides 28 tools, 33 compilable samples, a full API reference, and a code validator:
# Claude Code — one command
claude mcp add sceneview -- npx sceneview-mcp
# Claude Desktop / Cursor / Windsurf — add to MCP config
{ "mcpServers": { "sceneview": { "command": "npx", "args": ["-y", "sceneview-mcp"] } } }
| Domain | Install | Tools |
|---|---|---|
| Automotive — car configurators, HUD, dashboards | npx automotive-3d-mcp | 9 |
| Healthcare — anatomy, DICOM, surgical planning | npx healthcare-3d-mcp | 7 |
| Gaming — characters, physics, particles, levels | npx gaming-3d-mcp | 7 |
| Interior Design — room planning, AR furniture | npx interior-design-3d-mcp | 7 |
| Rerun.io — AR debug logging, visualization | npx rerun-3d-mcp | 5 |
llms.txt (111 KB, 3000+ lines).github/copilot-instructions.md.cursorrules.windsurfrulesListed on the MCP Registry. See the MCP README for full setup and tool reference.
Each platform uses its native renderer. Shared logic lives in KMP.
sceneview-core (Kotlin Multiplatform)
├── math, collision, geometry, physics, animation
│
├── sceneview (Android) → Filament + Jetpack Compose
├── arsceneview (Android) → ARCore
├── SceneViewSwift (Apple) → RealityKit + SwiftUI
├── sceneview-web (Web) → Filament.js + WebXR
└── desktop-demo (JVM) → Compose Desktop (software wireframe placeholder)
| Sample | Platform | Run |
|---|---|---|
samples/android-demo | Android — 3D & AR Explorer | ./gradlew :samples:android-demo:assembleDebug |
samples/android-tv-demo | Android TV | ./gradlew :samples:android-tv-demo:assembleDebug |
samples/ios-demo | iOS — 3D & AR Explorer | Open in Xcode |
samples/web-demo | Web | ./gradlew :samples:web-demo:jsBrowserRun |
samples/desktop-demo | Desktop | ./gradlew :samples:desktop-demo:run |
samples/flutter-demo | Flutter | cd samples/flutter-demo && flutter run |
samples/react-native-demo | React Native | See README |
SceneView is free and open source. Sponsors help keep it maintained across 9 platforms.
| Platform | Link | |
|---|---|---|
| :heart: | GitHub Sponsors (0% fees) | Sponsor on GitHub |
| :blue_heart: | Open Collective (transparent) | opencollective.com/sceneview |
| :star: | MCP Pro (unlock all tools) | sceneview-mcp.mcp-tools-lab.workers.dev/pricing |
See SPONSORS.md for tiers and current sponsors.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.