{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"npm_npm-modelcontextprotocolserver-threejs","slug":"npm-modelcontextprotocolserver-threejs","name":"@modelcontextprotocol/server-threejs","type":"mcp","url":"https://www.npmjs.com/package/@modelcontextprotocol/server-threejs","page_url":"https://unfragile.ai/npm-modelcontextprotocolserver-threejs","categories":["mcp-servers"],"tags":[],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"npm_npm-modelcontextprotocolserver-threejs__cap_0","uri":"capability://tool.use.integration.three.js.scene.graph.exposure.via.mcp.protocol","name":"three.js scene graph exposure via mcp protocol","description":"Exposes Three.js 3D scene objects (geometries, materials, meshes, lights, cameras) as MCP resources that LLM clients can query and manipulate. Implements a resource-based MCP server that maps Three.js scene hierarchy to a queryable interface, allowing remote clients to introspect scene state, object properties, and spatial relationships without direct WebGL access.","intents":["I want an LLM to understand the current state of my Three.js scene and suggest modifications","I need to programmatically query what objects exist in a 3D scene and their properties","I want to expose a Three.js visualization to an AI agent that can reason about 3D geometry"],"best_for":["AI agents building or analyzing 3D scenes","LLM-powered 3D design tools","Teams integrating Three.js with Claude or other MCP-compatible LLMs"],"limitations":["Read-only or limited write access to scene graph depending on implementation — cannot guarantee real-time bidirectional sync","No built-in support for complex shader code introspection or custom material parameters beyond standard Three.js materials","Latency overhead from MCP protocol serialization for large scenes with thousands of objects"],"requires":["Node.js 16+","Three.js library (npm package)","MCP client implementation (e.g., Claude Desktop with MCP support)","Active Three.js scene instance"],"input_types":["Three.js scene object","MCP resource queries (JSON)"],"output_types":["JSON-serialized scene graph","Object metadata (position, rotation, scale, material properties)","Structured scene state"],"categories":["tool-use-integration","3d-visualization"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-modelcontextprotocolserver-threejs__cap_1","uri":"capability://tool.use.integration.mcp.tool.registration.for.3d.object.manipulation","name":"mcp tool registration for 3d object manipulation","description":"Registers MCP tools that allow LLM clients to create, modify, and delete Three.js objects (meshes, lights, cameras) through standardized tool-calling interfaces. Implements tool handlers that translate LLM function calls into Three.js API operations, with schema validation for geometry parameters, material properties, and transform operations.","intents":["I want an LLM to programmatically create 3D objects in my scene based on natural language descriptions","I need the AI to modify object positions, rotations, and scales in response to user requests","I want to enable LLM-driven 3D scene generation without writing custom APIs"],"best_for":["Developers building AI-powered 3D design interfaces","Teams using Claude or other MCP-compatible LLMs for 3D content creation","Prototyping LLM-driven 3D visualization tools"],"limitations":["Tool schema must be predefined — cannot dynamically expose all Three.js parameters without explicit tool registration","No built-in undo/redo system — state changes are immediate and require external transaction management","Limited error recovery — invalid geometry parameters may fail silently or crash the scene"],"requires":["Node.js 16+","Three.js library","MCP client with tool-calling support","Active Three.js scene and renderer"],"input_types":["MCP tool calls (JSON with schema)","Geometry parameters (dimensions, positions, rotations)","Material properties (color, opacity, texture URLs)"],"output_types":["Three.js Object3D instances","Tool execution results (success/failure)","Updated scene state"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-modelcontextprotocolserver-threejs__cap_2","uri":"capability://automation.workflow.real.time.scene.synchronization.with.mcp.clients","name":"real-time scene synchronization with mcp clients","description":"Maintains bidirectional state synchronization between the Three.js scene and connected MCP clients, pushing scene updates (object creation, deletion, property changes) to clients and receiving commands from clients to modify the scene. Uses MCP notifications or polling mechanisms to keep client representations of the scene state consistent with server-side changes.","intents":["I want changes made by an LLM to immediately reflect in my 3D visualization","I need multiple clients to see the same 3D scene state in real-time","I want to track scene history and replay modifications made by an AI agent"],"best_for":["Collaborative 3D design tools with LLM assistance","Real-time 3D visualization dashboards","AI-powered 3D scene editors with live preview"],"limitations":["Synchronization latency depends on MCP transport layer (typically 50-500ms per round-trip)","No built-in conflict resolution for concurrent edits from multiple clients","Large scenes (10k+ objects) may experience performance degradation due to serialization overhead"],"requires":["Node.js 16+","MCP server with notification support or polling mechanism","Three.js scene with change tracking","Network connection between server and clients"],"input_types":["Three.js scene events (object added, removed, property changed)","MCP client commands"],"output_types":["MCP notifications (scene updates)","Serialized object state (JSON)"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-modelcontextprotocolserver-threejs__cap_3","uri":"capability://data.processing.analysis.geometry.and.material.parameter.schema.generation","name":"geometry and material parameter schema generation","description":"Automatically generates JSON schemas for Three.js geometry constructors and material properties, enabling MCP clients to understand valid parameters for creating and modifying 3D objects. Introspects Three.js class definitions to extract parameter names, types, and constraints, then exposes these schemas as MCP resources or tool definitions.","intents":["I want an LLM to know what parameters are valid for creating a BoxGeometry or other Three.js geometry","I need to validate user input before passing it to Three.js constructors","I want to generate UI forms or prompts based on available 3D object types and their parameters"],"best_for":["Building LLM-driven 3D interfaces with parameter validation","Generating dynamic UIs for 3D object creation","Teams needing schema-driven 3D object generation"],"limitations":["Schema generation may not capture all Three.js parameter constraints (e.g., numeric ranges, enum values)","Custom geometries or materials not in standard Three.js library are not automatically exposed","Schema updates require manual maintenance if Three.js API changes"],"requires":["Node.js 16+","Three.js library with introspectable class definitions","Schema generation logic (custom implementation or library)"],"input_types":["Three.js class definitions"],"output_types":["JSON Schema objects","MCP resource definitions"],"categories":["data-processing-analysis","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-modelcontextprotocolserver-threejs__cap_4","uri":"capability://tool.use.integration.camera.and.viewport.control.via.mcp","name":"camera and viewport control via mcp","description":"Exposes Three.js camera and viewport controls (position, rotation, field of view, aspect ratio) as MCP tools and resources, allowing LLM clients to adjust the viewing perspective of the 3D scene. Implements camera manipulation handlers that translate LLM commands into Three.js camera transformations and viewport updates.","intents":["I want an LLM to adjust the camera view to focus on a specific object or region","I need to programmatically change the field of view or camera projection","I want the AI to suggest optimal camera angles for visualizing the scene"],"best_for":["AI-powered 3D visualization tools","Automated scene composition and framing","Interactive 3D design assistants"],"limitations":["No built-in collision detection or constraints — camera can be placed inside objects or outside valid bounds","Limited support for complex camera animations or easing functions","Viewport aspect ratio changes require renderer resize, which may cause performance hiccups"],"requires":["Node.js 16+","Three.js scene with active camera","Three.js renderer with viewport support"],"input_types":["Camera position (x, y, z coordinates)","Camera rotation (Euler angles or quaternion)","Field of view (FOV) in degrees","Aspect ratio"],"output_types":["Updated camera state (JSON)","Rendered viewport image (if renderer is available)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-modelcontextprotocolserver-threejs__cap_5","uri":"capability://data.processing.analysis.scene.export.and.serialization.to.standard.formats","name":"scene export and serialization to standard formats","description":"Exports Three.js scenes to standard 3D file formats (glTF/glB, OBJ, FBX) or JSON representations that can be persisted, shared, or imported into other 3D tools. Implements serialization handlers that traverse the scene graph, extract geometry and material data, and write to disk or return as structured data.","intents":["I want to save a Three.js scene created by an LLM to a file for later use","I need to export a 3D scene to a format compatible with other 3D software","I want to create a snapshot of the scene state for version control or backup"],"best_for":["3D content creation pipelines with LLM assistance","Teams needing to export AI-generated 3D models","Archiving and versioning 3D scenes"],"limitations":["Export quality depends on Three.js exporter implementations — some formats may lose material or animation data","Large scenes may require significant memory and disk space","Texture and asset references may break if paths are not correctly resolved"],"requires":["Node.js 16+","Three.js library with exporter modules (GLTFExporter, OBJExporter, etc.)","File system write permissions"],"input_types":["Three.js scene object"],"output_types":["glTF/glB binary files","OBJ text files","JSON scene representation","FBX binary files (if exporter available)"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-modelcontextprotocolserver-threejs__cap_6","uri":"capability://tool.use.integration.lighting.and.material.property.adjustment","name":"lighting and material property adjustment","description":"Exposes Three.js lighting (ambient, directional, point, spot lights) and material properties (color, metalness, roughness, emissive, opacity) as MCP tools and resources. Implements handlers for modifying light intensity, color, position, and material parameters, with real-time updates to the scene rendering.","intents":["I want an LLM to adjust lighting to improve scene visibility or create mood","I need to programmatically change material properties like color or reflectivity","I want the AI to suggest optimal lighting setups for a given scene composition"],"best_for":["AI-powered 3D scene composition tools","Automated lighting and material design","Interactive 3D visualization with LLM assistance"],"limitations":["No support for advanced lighting features like global illumination or ray tracing (limited to Three.js rendering capabilities)","Material changes may not reflect in real-time if using deferred rendering or custom shaders","Light shadow maps require manual configuration and can impact performance"],"requires":["Node.js 16+","Three.js scene with lights and materials","Three.js renderer with lighting support"],"input_types":["Light type (ambient, directional, point, spot)","Light properties (intensity, color, position, direction)","Material properties (color, metalness, roughness, emissive, opacity)"],"output_types":["Updated light state (JSON)","Updated material state (JSON)","Rendered scene preview (if renderer available)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-modelcontextprotocolserver-threejs__cap_7","uri":"capability://data.processing.analysis.scene.query.and.spatial.analysis.via.mcp","name":"scene query and spatial analysis via mcp","description":"Provides MCP tools for querying scene structure and performing spatial analysis: finding objects by name or type, calculating bounding boxes, measuring distances between objects, detecting intersections, and traversing the scene hierarchy. Implements query handlers that use Three.js raycasting and bounding box calculations to answer spatial questions.","intents":["I want to find all objects of a specific type in the scene","I need to calculate the distance between two objects or check if they intersect","I want an LLM to analyze the spatial layout of the scene and suggest improvements"],"best_for":["AI-powered 3D scene analysis and optimization","Spatial reasoning in 3D design tools","Automated scene validation and constraint checking"],"limitations":["Raycasting and intersection detection are computationally expensive for large scenes","Bounding box calculations may be inaccurate for complex geometries with custom shaders","No built-in support for complex spatial queries (e.g., finding objects within a region)"],"requires":["Node.js 16+","Three.js scene with objects","Three.js Raycaster for intersection detection"],"input_types":["Query parameters (object name, type, position, radius)","Raycaster origin and direction"],"output_types":["Object metadata (name, type, position, rotation, scale)","Bounding box coordinates","Distance measurements","Intersection results"],"categories":["data-processing-analysis","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":29,"verified":false,"data_access_risk":"high","permissions":["Node.js 16+","Three.js library (npm package)","MCP client implementation (e.g., Claude Desktop with MCP support)","Active Three.js scene instance","Three.js library","MCP client with tool-calling support","Active Three.js scene and renderer","MCP server with notification support or polling mechanism","Three.js scene with change tracking","Network connection between server and clients"],"failure_modes":["Read-only or limited write access to scene graph depending on implementation — cannot guarantee real-time bidirectional sync","No built-in support for complex shader code introspection or custom material parameters beyond standard Three.js materials","Latency overhead from MCP protocol serialization for large scenes with thousands of objects","Tool schema must be predefined — cannot dynamically expose all Three.js parameters without explicit tool registration","No built-in undo/redo system — state changes are immediate and require external transaction management","Limited error recovery — invalid geometry parameters may fail silently or crash the scene","Synchronization latency depends on MCP transport layer (typically 50-500ms per round-trip)","No built-in conflict resolution for concurrent edits from multiple clients","Large scenes (10k+ objects) may experience performance degradation due to serialization overhead","Schema generation may not capture all Three.js parameter constraints (e.g., numeric ranges, enum values)","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.26,"ecosystem":0.3,"match_graph":0.25,"freshness":0.9,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:23.904Z","last_scraped_at":"2026-05-03T14:23:43.786Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=npm-modelcontextprotocolserver-threejs","compare_url":"https://unfragile.ai/compare?artifact=npm-modelcontextprotocolserver-threejs"}},"signature":"cYQXALZhmJJtO8u6l2sxWwjnIh5eHlQ4lZGw4NGNIFzt+k2noaDxhWNOqf5nlvFuonrPtZZt4TZUnodnSQY3Ag==","signedAt":"2026-06-16T08:52:37.727Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/npm-modelcontextprotocolserver-threejs","artifact":"https://unfragile.ai/npm-modelcontextprotocolserver-threejs","verify":"https://unfragile.ai/api/v1/verify?slug=npm-modelcontextprotocolserver-threejs","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}