8th Wall MCP Server
Enables building WebAR experiences using natural language through tools for Three.js scene creation, project management, and asset integration within 8th Wall Desktop. It supports advanced features like face tracking, image targets, and automated 3D model management.
README
8th Wall MCP Server
Build WebAR experiences with natural language using Claude Desktop and 8th Wall Desktop
š One-Click Install
Download the latest version:
š¦ 6.3 MB ⢠šØ Pure Three.js ⢠š± AR-Tested ⢠š Bug Fixes
Double-click to install! No terminal commands, no configuration files.
⨠What's New
Latest Updates (v0.2.10) š
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
Previous Updates (v0.2.9) š„
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"
Previous Updates (v0.2.8) š
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
Previous Updates (v0.2.7) š”ļø
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
Previous Updates (v0.2.6) š
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
Previous Updates (v0.2.5) šØ
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
Previous Updates (v0.2.4)
- š¤ 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
šÆ Features
š ļø 66+ Tools for Advanced AR Development
š¤ AI-Powered Creation (NEW!)
- 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 Development (NEW!)
- 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
šØ Scene Building
- 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 & Project Management
- 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
šØ Natural Language Scene Building
"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"
š§ Three Operation Modes
- 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)
š¦ Installation
Option 1: One-Click Install (Recommended)
- 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
Option 2: Manual Installation
-
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
š® Quick Start
Create Your First AR Scene
-
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"
Work with 8th Wall Desktop
"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 for Assets
"Search PolyHaven for space textures"
"Download the damaged helmet GLB"
"Add the downloaded model at position (0, 1.5, -3)"
š§ Desktop Scene Building Tools
Primitives & Shapes
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)
3D Models
desktop_add_model- Add GLB/GLTF models:- Load from
assets/folder - Position, rotation, scale
- Animation playback
- Physics support (static, dynamic, kinematic)
- Load from
Animations
-
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
AR Features
desktop_enable_face_tracking- Face AR experiencesdesktop_add_image_target- Image trackingdesktop_add_video- Video textures- Hider materials for AR portals
š Documentation
Tool Categories
<details> <summary><b>Project Management (12 tools)</b></summary>
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
</details>
<details> <summary><b>Scene Building (13 tools)</b></summary>
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
</details>
<details> <summary><b>Asset Management (8 tools)</b></summary>
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
</details>
<details> <summary><b>Development Tools (3 tools)</b></summary>
devserver_start/devserver_stop- Local previewhealth_ping- Health check
</details>
<details> <summary><b>Web Scene Tools (11 tools)</b></summary>
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
</details>
<details> <summary><b>Documentation (2 tools)</b></summary>
docs_get_page- Fetch documentationdocs_search- Search docs
</details>
š Known Issues & Fixes
ā Fixed in v0.1.0
- 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
Current Limitations
- 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
šļø Project Structure
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
š Advanced Usage
Environment Variables
{
"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
HTTP Bridge for n8n
Run an HTTP bridge to call tools from n8n or other automation platforms:
HTTP_PORT=8787 MODE=local PROJECT_ROOT=./project npm run http
API Endpoints:
GET http://localhost:8787/tools- List all toolsPOST http://localhost:8787/tool/<toolName>- Invoke a tool
Development
npm run dev # Run with ts-node
npm run build # Compile TypeScript
npm run typecheck # Type checking only
npm run pack:dxt # Create MCPB package
š Examples
Create an AR Beach Scene
1. "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)"
Create an AR Portal
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%"
Image Target Experience
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"
š¤ Contributing
Contributions are welcome! Please see:
- CONTRIBUTING.md for contribution guidelines
- CODE_OF_CONDUCT.md for our code of conduct
- SECURITY.md for security reporting
Development Workflow
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Run
npm run typecheck - Submit a pull request
š License
MIT License - see LICENSE for details
š Links
- 8th Wall Desktop: 8thwall.com/desktop
- Model Context Protocol: modelcontextprotocol.io
- Claude Desktop: claude.ai
- PolyHaven Assets: polyhaven.com
- GitHub Issues: Report a bug
š” Tips
- 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
š Acknowledgments
- 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.