Enables programmatic control and manipulation of A-Frame scenes, including entity creation and scene management.
Provides tools for controlling Babylon.js scenes, allowing for mesh updates, lighting configuration, and camera movements.
Supports the creation and import of 3D models using the glTF format within the managed 3D scenes.
Enables direct in-world AI chat functionality within 3D environments by integrating with OpenAI's models.
Supports controlling React Three Fiber (R3F) scenes, enabling AI-driven updates to 3D components within React-based environments.
Allows control of live Three.js scenes, including tools for managing objects, lighting, cameras, animations, and environment settings.
Targets high-performance 3D rendering and scene manipulation within WebGPU-based environments.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@maige-3d-mcpAdd a spinning blue sphere and set the background to a sunset orange."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
maige-3d-mcp
Multi-framework 3D MCP server — control live Three.js, A-Frame, Babylon.js, and R3F scenes from any MCP-capable AI (GitHub Copilot, Claude Desktop, Cursor, etc.) with in-world async chat so you can talk to the AI from inside the 3D canvas while it changes the scene around you.
Quick start
1. Install
cd mcp-webgpu
pnpm install2. Configure
Copy and edit the env file:
cp .env.example .envKey variables in .env:
Variable | Default | Purpose |
|
| WebSocket bridge port |
|
| Open the 3D client automatically |
|
| Which client to open |
| (blank) | Enables direct in-world AI chat |
| (blank) | Alternative AI provider |
|
| Which key to prefer |
Tip — two chat modes:
Relay mode (no key needed): the MCP client AI (Copilot, Claude, etc.) handles in-world chat by polling the
getPendingUserMessagestool.Direct mode (key in
.env): the server answers in-world chat on its own, independent of the MCP client.
3. Build the server
pnpm build:server4. Register with VS Code Copilot
The .vscode/mcp.json at the workspace root is already pre-configured. Reload your VS Code window and the maige-3d server will appear in Copilot agent mode.
5. Start the 3D browser client (dev mode)
pnpm dev:clientOpen http://localhost:5173 — the canvas auto-connects to the MCP WebSocket bridge.
The server is started by VS Code via the MCP stdio transport. You do not need to run it manually.
Available MCP Tools (23 total)
Object tools
Tool | Description |
| Add a mesh (box, sphere, cylinder, cone, torus, plane, capsule, gltf) |
| Partial update: position, rotation, scale, material, visibility |
| Remove by id |
| Duplicate with optional offset |
| Inspect a single object |
| Full scene JSON snapshot |
Light tools
createLight · updateLight · deleteLight — types: ambient, directional, point, spot, hemisphere
Camera tools
setCamera · flyToObject
Animation tools
animateObject · stopAnimation
Environment tools
setEnvironment — background color, fog, tone mapping, exposure, shadows
Scene tools
clearScene · loadScene · exportScene · undo · redo · takeScreenshot
In-world chat tools
Tool | Description |
| Get messages typed from inside the 3D canvas |
| Display AI reply in the floating chat overlay |
| Flush the queue |
In-world chat
Press ~ (backtick) or click the AI Chat panel in the bottom-right corner of the canvas. Type a message and press Enter. The AI will receive it on its next turn, act on it, and reply in the overlay — all without leaving the 3D environment.
Project layout
mcp-webgpu/
├── .env ← your keys go here (gitignored)
├── .env.example ← template
├── packages/
│ ├── server/ ← MCP server (TypeScript/Node)
│ │ └── src/
│ │ ├── main.ts ← entry point
│ │ ├── tools/ ← 23 MCP tool definitions
│ │ ├── handlers/ ← tool/prompt/resource handlers
│ │ ├── state/ ← SceneStateManager + UndoStack
│ │ ├── chat/ ← MessageQueue + ChatRelay
│ │ └── ws/ ← WebSocket server + 4 adapters
│ └── client-threejs/ ← Vite + Three.js browser client
│ └── src/
│ ├── scene.ts ← Three.js SceneManager
│ ├── ws-client.ts ← WebSocket client
│ ├── commands/ ← command dispatcher
│ └── overlay/ ← floating ChatOverlay UI
└── PLAN.md ← full architecture planRoadmap
Phase 1 — Three.js client + full tool set + in-world chat
Phase 2 — A-Frame client + Babylon.js client
Phase 3 — React Three Fiber client
Phase 4 — WebXR / VR headset support
Phase 5 —
npx maige-3d-mcpone-liner launcher
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.