Build WebAR experiences with natural language using Claude Desktop and 8th Wall Desktop
Download the latest version:
📦 6.3 MB • 🎨 Pure Three.js • 📱 AR-Tested • 🐛 Bug Fixes
Double-click to install! No terminal commands, no configuration files.
FIXED: ECS ATTRIBUTE ERRORS
- 🐛 Fixed "No attribute registered" Error - Disabled broken animation tools
- ❌ Broken Tools Removed -
desktop_add_rotation_animationanddesktop_add_scale_animationdisabled - ✅ Use Three.js Animations - All animations now use
desktop_add_threejs_script - 🎯 No More Runtime Errors - Zero ECS attribute errors in Desktop projects
- 📝 Helpful Error Messages - Broken tools now guide you to the correct approach
- 🚀 Stable & Reliable - All working tools tested and verified
A-FRAME COMPONENTS COMPLETELY REMOVED
- 🗑️ Deleted All A-Frame Components - Removed particleSystem.js, audioController.js, gestureHandler.js, physicsHelper.js
- ✅ No More AFRAME Errors - Zero chance of "Can't find variable: AFRAME" errors
⚠️ Clear Tool Warnings - A-Frame tools now clearly marked as "WEB PROJECTS ONLY"
Documentation Clarity
- 🎯 Documentation Added - Clear explanation: Desktop = Three.js, NOT A-Frame
- ✅ No More Confusion - A-Frame is only for web projects, not Desktop
- 📚 DESKTOP_THREEJS_ONLY.md - Complete guide to proper Desktop development
- 🛠️ Right Tools - Use
desktop_add_threejs_scriptfor Desktop projects
AFRAME Safety Checks (for web projects only)
- 🛡️ Safe AFRAME Registration - All components now check for AFRAME before registering
- ⏱️ Load Event Waiting - Components wait for window 'load' event before initialization
- 🐛 Zero Runtime Errors - Eliminated "Can't find variable: AFRAME" errors
- 📝 Comprehensive Logging - Detailed console messages for debugging
- ✅ Graceful Fallback - Helpful error messages guide users to add A-Frame if needed
- 🔄 Webpack HMR Compatible - No more disconnection issues
Three.js is Now the Default Framework!
- 🎯 Three.js Default - All new projects now default to Three.js instead of A-Frame
- 🐛 Mobile Fixes - Eliminated A-Frame loading errors on mobile devices
- ✅ Better Compatibility - Improved mobile browser support with pure Three.js
- 🔄 Auto-Fallback - Scene tools automatically use Three.js when engine is unknown
- 📚 Full Documentation - Comprehensive migration guide and updated templates
- ⚡ No Breaking Changes - A-Frame still supported via explicit template parameter
Three.js Script Generator
- 🎯
desktop_add_threejs_script- Generate battle-tested Three.js scripts for AR interactions - ✅ Proper XR8 Integration - Handles pipeline initialization, scene access, and camera setup correctly
- 📱 AR-Tested - Works perfectly on mobile devices with touch/click interactions
- 🎨 Interactive Objects - Creates tap-to-change-color spheres, particle systems, and more
- 📍 Optimal Positioning - Places objects 5m ahead at eye level with proper FOV
- 🐛 Comprehensive Logging - Detailed debugging output for troubleshooting
- 📦 6.3 MB - Includes all dependencies and templates
- 🤖 AI-Powered AR Creation - Create complete AR experiences from natural language
- 🎨 6 Experience Templates - Light painting, model showcase, portals, face filters
- 💻 Code Generation - Generate custom JavaScript components
- 🧩 Custom Components - Add and manage A-Frame components
- 🔍 Unified Asset Discovery - Search PolyHaven assets with recommendations
- 🎯 Smart Orchestration - Analyzes requests and chains tools automatically
- Smart Orchestration -
create_ar_experience- Build complete AR experiences from descriptions - Pattern Recognition - Automatically identifies AR experience types (face tracking, image targets, etc.)
- Code Generation - Generate custom JavaScript from natural language
- Experience Templates - 6 pre-built templates (light painting, portals, face filters, etc.)
- Custom Components - Add and manage A-Frame components
- Asset Discovery - Search PolyHaven with smart recommendations
- Code Templates - Pre-built particle systems, gesture handlers, audio controllers
- JavaScript Validation - Check code for errors before deployment
- Desktop Scene Building - Add shapes, models, lights, and animations
- AR Features - Image targets, face tracking, world tracking
- Animation System - Rotation, scale, and model animations
- Physics - Add physics to objects (dynamics, mass, gravity)
- Asset Management - Search PolyHaven, download models, manage files
- Project Tools - Create, edit, and manage 8th Wall Desktop projects
- Dev Server - Built-in preview server for testing
"Create a spinning red cube with a metallic sphere orbiting around it"
"Add a beach ball with physics that falls when the scene starts"
"Create an AR portal using hider materials"
"Add an image target experience with a video"
- Local Mode (Default) - Work with 8th Wall Desktop projects locally
- Docs Mode - Access 8th Wall documentation
- API Mode - Integrate with 8th Wall Cloud (requires API key)
- Download the mcp-8thwall-0.1.0.mcpb file
- Double-click to open with Claude Desktop
- Click Install when prompted
- Done! All 47 tools are now available
-
Clone the repository:
git clone https://github.com/superdwayne/8thwallmcp.git cd mcp-8thwall -
Install dependencies:
npm install
-
Build:
npm run build
-
Add to Claude Desktop config (
~/.claude/claude_desktop_config.json):
{
"mcpServers": {
"mcp-8thwall": {
"command": "node",
"args": [
"/absolute/path/to/mcp-8thwall/dist/index.js"
]
}
}
}- Restart Claude Desktop
-
Set your project:
"Set my project to my-ar-project" -
Add 3D content:
"Create a red spinning cube at position (0, 1, -2)" -
Add animations:
"Make the cube pulse between 80% and 120% size" -
Add AR features:
"Enable face tracking with a debug mesh"
"List all my 8th Wall Desktop projects"
"Set project to beach-scene"
"Add a seagull GLB model from assets at position (0, 2, 0)"
"Add physics to the beach ball"
"Make the rocket orbit the planet"
"Search PolyHaven for space textures"
"Download the damaged helmet GLB"
"Add the downloaded model at position (0, 1.5, -3)"
desktop_add_shape- Add 3D primitives:- Geometries: box, sphere, cylinder, cone, plane, circle, torus, ring
- Materials: basic, standard, phong
- Properties: color, roughness, metalness, opacity, emissive
- Hider materials: colorWrite, depthWrite, depthTest (for AR portals)
desktop_add_model- Add GLB/GLTF models:- Load from
assets/folder - Position, rotation, scale
- Animation playback
- Physics support (static, dynamic, kinematic)
- Load from
-
desktop_add_rotation_animation- Spin objects:- Axis selection (X, Y, Z)
- Speed control
- Loop and reverse options
- Easing functions
-
desktop_add_scale_animation- Pulse/breathe effects:- Min/max scale
- Duration control
- Loop and reverse
- Easing functions
-
desktop_set_model_animation- Control model animations:- Play specific animation clips
- Loop control
- Playback speed
desktop_enable_face_tracking- Face AR experiencesdesktop_add_image_target- Image trackingdesktop_add_video- Video textures- Hider materials for AR portals
Project Management (12 tools)
project_get_root/project_set_root- Manage project directorydesktop_list_projects/desktop_set_project- 8th Wall Desktop projectsproject_get_info- Get project structureproject_list_files- List filesproject_read_file/project_write_file- File operationsproject_delete_file/project_move_file- File managementproject_scaffold- Create new projectproject_export_zip- Export for upload
Scene Building (13 tools)
desktop_add_shape- Primitives (box, sphere, etc.)desktop_add_model- GLB/GLTF modelsdesktop_add_rotation_animation- Spin objectsdesktop_add_scale_animation- Pulse effectsdesktop_add_image_target- Image trackingdesktop_add_video- Video texturesdesktop_enable_face_tracking- Face ARdesktop_set_model_animation- Model animationsdesktop_read_json/desktop_write_json/desktop_patch_json- JSON manipulationdesktop_guess_scene- Find scene files
Asset Management (8 tools)
assets_status- Check PolyHaven availabilityassets_search_polyhaven- Search assetsassets_polyhaven_categories- Browse categoriesassets_polyhaven_files- Get asset metadataassets_download_url- Download filesassets_unzip- Extract archivesprompts_asset_strategy- Asset guidance
Development Tools (3 tools)
devserver_start/devserver_stop- Local previewhealth_ping- Health check
Web Scene Tools (11 tools)
For A-Frame and Three.js projects:
scene_detect_engine- Detect A-Frame or Three.jsscene_add_gltf_model- Add modelsscene_set_background_color- Backgroundscene_add_primitive- Primitivesscene_add_light- Lightingscene_set_environment_hdr- HDR environmentscene_add_animation- Animationsscene_add_textured_plane- Image planesscene_add_orbit_controls- Three.js controlsscene_add_grid_helper/scene_add_floor- Helpers
Documentation (2 tools)
docs_get_page- Fetch documentationdocs_search- Search docs
- Geometry Properties Error - Fixed missing
heightSegmentsandopenEndedproperties for cylinders and cones - Color Rendering Issue - Materials now use
basictype instead ofstandardfor reliable color rendering - Server Crashes - Fixed process lifecycle management with proper keep-alive intervals
- MCPB auto-installation may require Claude Desktop restart
- Image target camera preview shows black in Desktop mode (test on phone)
- Video autoplay may require user interaction on some platforms
mcp-8thwall/
├── src/
│ ├── index.ts # Server entry point
│ ├── tools/
│ │ ├── desktop.ts # 8th Wall Desktop tools
│ │ ├── scene.ts # Web scene tools
│ │ ├── project.ts # Project management
│ │ ├── assets.ts # Asset tools
│ │ ├── devserver.ts # Dev server
│ │ └── docs.ts # Documentation tools
│ ├── clients/
│ │ └── 8thwallClient.ts # API client
│ └── utils/
│ └── projectRoot.ts # Project root management
├── dist/ # Compiled JavaScript
├── manifest.json # MCPB manifest
├── mcp-8thwall-0.1.0.mcpb # Desktop Extension package
└── README.md # This file
{
"mcpServers": {
"mcp-8thwall": {
"command": "node",
"args": ["/path/to/dist/index.js"],
"env": {
"MODE": "local",
"PROJECT_ROOT": "/path/to/your/project",
"EIGHTHWALL_DESKTOP_ROOT": "~/Documents/8th Wall"
}
}
}
}Available Modes:
local(default) - Work with local 8th Wall Desktop projectsdocs- Access 8th Wall documentationapi- Integrate with 8th Wall Cloud API
Run an HTTP bridge to call tools from n8n or other automation platforms:
HTTP_PORT=8787 MODE=local PROJECT_ROOT=./project npm run httpAPI Endpoints:
GET http://localhost:8787/tools- List all toolsPOST http://localhost:8787/tool/<toolName>- Invoke a tool
npm run dev # Run with ts-node
npm run build # Compile TypeScript
npm run typecheck # Type checking only
npm run pack:dxt # Create MCPB package1. "Set project to beach-scene"
2. "Add a blue sphere for the sky at (0, 50, 0) with radius 100"
3. "Add a sandy plane as the ground at (0, 0, 0)"
4. "Download a seagull GLB and add it flying at (2, 5, -10)"
5. "Make the seagull rotate slowly on the Y axis"
6. "Add a beach ball with physics at (0, 2, -3)"
1. "Set project to portal-demo"
2. "Create a portal using hider materials"
3. "Add a rotating torus as the portal ring"
4. "Add a blue emissive sphere as the portal glow"
5. "Make the glow pulse between 80% and 120%"
1. "Set project to image-target-demo"
2. "Add an image target for 'poster.jpg'"
3. "Add a video plane with 'promo-video.mp4'"
4. "Add a GLB model that appears on the image"
5. "Make the model spin on the Y axis"
Contributions are welcome! Please see:
- CONTRIBUTING.md for contribution guidelines
- CODE_OF_CONDUCT.md for our code of conduct
- SECURITY.md for security reporting
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Run
npm run typecheck - Submit a pull request
MIT License - see LICENSE for details
- 8th Wall Desktop: 8thwall.com/desktop
- Model Context Protocol: modelcontextprotocol.io
- Claude Desktop: claude.ai
- PolyHaven Assets: polyhaven.com
- GitHub Issues: Report a bug
- Use
desktop_list_projectsto discover your 8th Wall Desktop projects - Search PolyHaven for free 3D assets, textures, and HDRIs
- Test AR features on a phone for camera preview
- Use hider materials (
colorWrite: false) for AR portal effects - Enable physics for dynamic objects
- Use animations to bring your scenes to life
- 8th Wall for their amazing WebAR platform
- Anthropic for Claude and the MCP protocol
- PolyHaven for free 3D assets
- The MCP Community for tools and inspiration
Built with ❤️ by Dwayne Paisley-Marshall