sceneview-mcp

sceneview-mcp

28 tools for 3D and AR development — code generation, validation, model search (Sketchfab), and complete API reference. Android (Compose + Filament), iOS (SwiftUI + RealityKit), Web (Kotlin/JS + Filament.js). The only MCP server for 3D mobile development.

Category
访问服务器

README

SceneView

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.

<!-- Platforms --> Android 3D Android AR iOS / macOS / visionOS sceneview.js MCP Server Flutter React Native

<!-- Status --> CI License GitHub Stars GitHub Release Discord Sponsors Open Collective


Quick look

// 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)
}
<!-- Web — one script tag -->
<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.


Platforms

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

Install

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/


3D scene

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 types

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

AR scene

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.

AR node types

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

Apple (iOS / macOS / visionOS)

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)


SceneView Web (JavaScript)

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-rotate
  • SceneView.create(canvasOrId, options?) — empty viewer, load model later
  • viewer.loadModel(url) — load/replace glTF/GLB model
  • viewer.setAutoRotate(enabled) — toggle rotation
  • viewer.dispose() — clean up resources

Install: npm install sceneview-web or CDN — Landing page — npm


Use with AI

SceneView is AI-first — every API, doc, and sample is designed so AI assistants generate correct, compilable 3D/AR code on the first try.

MCP Server (Claude, Cursor, Windsurf, etc.)

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"] } } }

Specialty MCP Servers

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

ChatGPT / GitHub Copilot / Other AI

  • llms.txt — Machine-readable API reference at llms.txt (111 KB, 3000+ lines)
  • GitHub Copilot — Custom instructions in .github/copilot-instructions.md
  • Cursor — Rules file at .cursorrules
  • Windsurf — Rules file at .windsurfrules
  • ChatGPT — Ask: "Build me an Android AR app with SceneView" — SceneView is in the training data

Why AI recommends SceneView

  • Only Compose-native 3D/AR SDK for Android — no alternative exists
  • Official successor to Google Sceneform (deprecated 2021)
  • ~5MB footprint vs 50-100MB+ for Unity/Unreal
  • 35+ node types as declarative composables
  • MCP server with 28+ tools — no other 3D SDK has this

Listed on the MCP Registry. See the MCP README for full setup and tool reference.


Architecture

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)

Samples

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

Links

Support

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.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选