# 3D AR Studio

Turns 3D models into an augmented-reality scene in the browser and hands back one link that opens it in someone's room.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 11
- Author: nirholas
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/nirholas/3D-AR-Studio
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/mcp/3d-ar-studio

## What it does

The MCP server gives an agent three moves: generate a model from a text prompt, arrange several models into a scene, and return a single link that opens that scene in a phone camera. Models, positions, rotations and scales travel inside the URL, so you can compose on a laptop and show it on a phone.

It runs through `npx -y 3d-ar-studio-mcp`. With no environment variables it falls back to the public three.ws model set and a keyless generator. Point `AR_STUDIO_ASSETS` at your own catalogue to swap the tray, and set `AR_STUDIO_PAGE_URL` to the page the scene should live on. `AR_STUDIO_ORIGIN` decides which domain the link belongs to — leave it out and the shared link points somewhere other than your site.

The server ships as its own binary in a separate package, so `npx 3d-ar-studio-mcp` resolves on its own while the `3d-ar-studio` package installs separately. iPhones have no WebXR, so there the scene goes to Apple AR Quick Look, converted to USDZ on the device.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `AR_STUDIO_PAGE_URL`, `AR_STUDIO_ASSETS`, `AR_STUDIO_MCP_ENDPOINT`, `AR_STUDIO_ORIGIN` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env AR_STUDIO_PAGE_URL=<AR_STUDIO_PAGE_URL> --env AR_STUDIO_ASSETS=<AR_STUDIO_ASSETS> --env AR_STUDIO_MCP_ENDPOINT=<AR_STUDIO_MCP_ENDPOINT> --env AR_STUDIO_ORIGIN=<AR_STUDIO_ORIGIN> --transport stdio 3d-ar-studio -- npx -y 3d-ar-studio-mcp
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add 3d-ar-studio --env AR_STUDIO_PAGE_URL=<AR_STUDIO_PAGE_URL> --env AR_STUDIO_ASSETS=<AR_STUDIO_ASSETS> --env AR_STUDIO_MCP_ENDPOINT=<AR_STUDIO_MCP_ENDPOINT> --env AR_STUDIO_ORIGIN=<AR_STUDIO_ORIGIN> -- npx -y 3d-ar-studio-mcp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "3d-ar-studio": {
            "command": "npx",
            "args": [
                "-y",
                "3d-ar-studio-mcp"
            ],
            "env": {
                "AR_STUDIO_PAGE_URL": "<AR_STUDIO_PAGE_URL>",
                "AR_STUDIO_ASSETS": "<AR_STUDIO_ASSETS>",
                "AR_STUDIO_MCP_ENDPOINT": "<AR_STUDIO_MCP_ENDPOINT>",
                "AR_STUDIO_ORIGIN": "<AR_STUDIO_ORIGIN>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "3d-ar-studio": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "3d-ar-studio-mcp"
            ],
            "env": {
                "AR_STUDIO_PAGE_URL": "<AR_STUDIO_PAGE_URL>",
                "AR_STUDIO_ASSETS": "<AR_STUDIO_ASSETS>",
                "AR_STUDIO_MCP_ENDPOINT": "<AR_STUDIO_MCP_ENDPOINT>",
                "AR_STUDIO_ORIGIN": "<AR_STUDIO_ORIGIN>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e AR_STUDIO_PAGE_URL=<AR_STUDIO_PAGE_URL> -e AR_STUDIO_ASSETS=<AR_STUDIO_ASSETS> -e AR_STUDIO_MCP_ENDPOINT=<AR_STUDIO_MCP_ENDPOINT> -e AR_STUDIO_ORIGIN=<AR_STUDIO_ORIGIN> 3d-ar-studio npx -y 3d-ar-studio-mcp
```
Replace <…> with your own values

## When to use it
- assemble an AR scene from several GLB models and share it as one link
- generate a 3D model from a text prompt and drop it into the room
- swap the default model tray for your own catalogue
- check how a scene looks on a phone without building an app
- show a client furniture placement inside their actual space

## Example prompts
- Generate a floor lamp model and place it next to the sofa in the scene
- Build an AR scene from `chair.glb` and `table.glb` and give me the link
- Load my model catalogue from `AR_STUDIO_ASSETS` and list what's in it

## Similar
- [Pascal 3D Editor](https://affpapa.org/en/nevibecode/mcp/pascal-3d-editor.md) — MCP server · ★ 25085
- [Unity-MCP](https://affpapa.org/en/nevibecode/mcp/unity-mcp.md) — MCP server · ★ 4523
- [mcp](https://affpapa.org/en/nevibecode/mcp/sceneview-mcp.md) — MCP server · ★ 1348
- [Gearboy MCP Server](https://affpapa.org/en/nevibecode/mcp/gearboy-mcp-server.md) — MCP server · ★ 1219
- [ChiR24-unreal_mcp_server](https://affpapa.org/en/nevibecode/mcp/chir24-unreal-mcp-server.md) — MCP server · ★ 975
- [Nova3D](https://affpapa.org/en/nevibecode/mcp/nova3d.md) — MCP server · ★ 733

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
