About Three.js Mcp
Three.js Mcp is an MCP server for generating Three.js code, aimed at developers building 3D scenes. Its tools cover scene setup, rendering, interaction, animation, physics, and more.
Key features
- 01Create scenes and renderers
- 02Generate cameras, geometry, and materials
- 03Configure lighting and controls
- 04Load models, textures, and environments
- 05Handle animation, interaction, and physics
- 06Set up post-processing and XR
Use cases
- 01Lay out a Three.js scene structure
- 02Generate geometry, materials, and lighting
- 03Add animation and user interaction
- 04Include physics or XR in a scene
MCP support
It runs as a standard stdio MCP server and exposes Three.js code-generation tools to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEThreejs-mcp
A Three.js code-generation MCP server.
Tools
| Category | Tools |
|---|---|
| Scene & Renderer | scene_setup, html_template |
| Cameras | perspective_camera, orthographic_camera |
| Geometry | geometry, extrude_geometry, lathe_geometry, tube_geometry |
| Materials | material, shader_material |
| Meshes | mesh, instanced_mesh, group |
| Lighting | ambient_light, directional_light, point_light, spot_light, hemisphere_light, rect_area_light |
| Controls | orbit_controls, fly_controls, pointer_lock_controls, transform_controls |
| Loaders | gltf_loader, texture_loader, cube_texture_loader, hdr_environment, fbx_loader |
| Animation | animation_loop, keyframe_animation, tween_animation |
| Interaction | raycaster |
| Helpers | debug_helpers, light_helpers |
| Post-processing | postprocessing_setup |
| Environment | ground_plane, skybox, water_surface, particles, reflective_surface, lensflare |
| UI | css2d_label |
| Physics | rapier_physics |
| XR | webxr_setup |
| Utilities | math_utils, dispose_resources |
Prerequisites
- Python 3.13+
- uv
Installation
Clone this repository, then update the path in run.sh to point to the cloned directory:
#!/bin/zsh
source ~/.zshrc
exec uv run --directory /path/to/threejs-mcp threejs-mcp
Make the script executable:
chmod +x run.sh
Then follow the instructions for your MCP client below. Replace /path/to/threejs-mcp/run.sh with the actual path to the script.
Claude Code
claude mcp add threejs -s user -- /path/to/threejs-mcp/run.sh
The scope (-s) can be user, project, or local.
Claude Desktop
Open Settings > Developer > Edit Config and add to claude_desktop_config.json:
{
"mcpServers": {
"threejs": {
"command": "/path/to/threejs-mcp/run.sh"
}
}
}
Cursor
Open Settings > MCP > Add new global MCP server and add to ~/.cursor/mcp.json:
{
"mcpServers": {
"threejs": {
"command": "/path/to/threejs-mcp/run.sh"
}
}
}
Or add to .cursor/mcp.json in your project root for project-scoped configuration.
Windsurf
Open Settings > MCP > Add Server > Add custom server and add to your MCP config:
{
"mcpServers": {
"threejs": {
"command": "/path/to/threejs-mcp/run.sh"
}
}
}
VS Code / GitHub Copilot
Add to your user or workspace settings.json:
{
"mcp": {
"servers": {
"threejs": {
"command": "/path/to/threejs-mcp/run.sh"
}
}
}
}
Or create .vscode/mcp.json in your project root:
{
"servers": {
"threejs": {
"command": "/path/to/threejs-mcp/run.sh"
}
}
}
Zed
Add to your Zed settings (~/.config/zed/settings.json):
{
"context_servers": {
"threejs": {
"command": {
"path": "/path/to/threejs-mcp/run.sh"
}
}
}
}
Cline
Open Settings > MCP Servers > Edit MCP Settings and add to the config:
{
"mcpServers": {
"threejs": {
"command": "/path/to/threejs-mcp/run.sh"
}
}
}
Continue
Add to your ~/.continue/config.yaml:
mcpServers:
- name: threejs
command: /path/to/threejs-mcp/run.sh
Roo Code
Open Settings > MCP > Edit MCP Settings and add:
{
"mcpServers": {
"threejs": {
"command": "/path/to/threejs-mcp/run.sh"
}
}
}
Any other MCP client
This is a standard stdio MCP server. Run it with:
/path/to/threejs-mcp/run.sh
Scraping docs
The docs/ directory contains condensed markdown scraped from the Three.js documentation. To regenerate:
uv run python scrape_docs.py
This requires the httpx and beautifulsoup4 packages (not included in the main dependencies).
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.