spline-mcp
Enables interaction with n8n for workflow automation, including status checks, workflow generation, and webhook triggers.
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., "@spline-mcpgenerate React component for scene https://prod.spline.design/abc123/scene.splinecode"
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.
spline-mcp
MCP server for Spline.design code generation and asset management.
Overview
Spline.design is a 3D design tool that exports interactive scenes for the web. This MCP server provides:
Code Generation: Generate React, Next.js, and vanilla JS integration code
Asset Management: Download, cache, and validate
.splinecodefilesIntegration Support: WebSocket (Mahavishnu) integration
Helper Utilities: URL building, event documentation, code snippets
Note: Spline does not have a traditional REST API. Scenes are created in the Spline editor and exported as
.splinecodefiles for runtime use.
Related MCP server: Pixal3D-MCP
Spline V2 Compatibility
Spline V2 (released August 20, 2026) ships its own MCP server inside the rebuilt Spline desktop app that lets AI agents drive the editor directly — creating and modifying objects, materials, lights, cameras, booleans, particles, cloners, lathes, sky, variables, events, and states. See the Spline V2 launch announcement for details.
This server fills a different, complementary niche:
Workflow stage | Tool |
Authoring — building / editing the scene in the editor | Spline V2 MCP (bundled with the Spline desktop app) |
Embedding — putting the exported scene into your React / Next.js / vanilla app | This server ( |
Runtime control — manipulating variables / events from your app at runtime | Both cooperate: V2 MCP builds the scene; this server emits the JS that drives |
Concretely, this server does not edit scenes — it operates strictly on already-exported .splinecode URLs. If you need an agent to author a new scene from scratch, install the Spline desktop app and use its built-in MCP server. Use this server when you have a published .splinecode URL and want to scaffold the React / Next.js / vanilla integration, cache the scene asset, wire up runtime event handlers, or pipe events into Mahavishnu.
Installation
uv pip install -e .Quick Start
Generate a React Component
spline-mcp generate react https://prod.spline.design/6Wq1Q7YGyM-iab9i/scene.splinecodeDownload a Scene
spline-mcp download https://prod.spline.design/6Wq1Q7YGyM-iab9i/scene.splinecodeMCP Server Usage
Stdio Mode (default)
spline-mcp serveHTTP Mode
spline-mcp serve --http --port 3048Available Tools
Code Generation
Tool | Description |
| Generate React component with TypeScript |
| Generate standalone HTML/JS |
| Generate Next.js component with SSR support |
| Generate event handler code |
| Generate runtime variable bindings |
| Complete integration with all features |
Asset Management
Tool | Description |
| Download and cache a .splinecode file |
| Validate a .splinecode file |
| List all cached scenes |
| Clear cached scenes |
| Get cache statistics |
Helper Utilities
Tool | Description |
| Build export URL from scene ID |
| Parse URL to extract scene ID |
| List supported Spline event types |
| Get docs for specific event |
| Generate common code snippets |
Integration
Tool | Description |
| Check Mahavishnu WebSocket connection |
| Subscribe to real-time updates |
| Status of all integrations |
| Status of all integrations |
Documentation
Tool | Description |
| Get documentation for the @splinetool/runtime API by topic |
| Get installation guide for the Spline runtime |
| Get troubleshooting guide for common Spline issues |
Configuration
Set via environment variables with SPLINE_ prefix:
Variable | Default | Description |
|
| Default framework (react/vanilla/nextjs) |
|
| Generate TypeScript code |
|
| Use lazy loading with Suspense |
|
| Generate SSR placeholder for Next.js |
|
| Indentation spaces for generated code (2-8) |
|
| Use semicolons in generated JavaScript |
|
| Cache directory |
|
| Maximum cache size |
|
| Automatically validate downloaded scenes |
|
| Enable WebSocket integration |
|
| Mahavishnu WebSocket URL |
|
| Automatically reconnect on disconnect |
|
| Enable HTTP transport |
|
| HTTP server host |
|
| HTTP server port |
|
| Logging level |
|
| Use JSON logging format |
Generated Code Examples
React Component
import { Suspense, useRef, useCallback } from 'react';
import Spline from '@splinetool/react-spline';
interface HeroSceneProps {
className?: string;
}
export function HeroScene({ className }: HeroSceneProps) {
return (
<Suspense fallback={<div>Loading 3D scene...</div>}>
<Spline
scene="https://prod.spline.design/xxx/scene.splinecode"
className={className}
/>
</Suspense>
);
}With WebSocket Integration
// Auto-generated WebSocket integration with soft failover
const { subscribe, isConnected } = useWebSocket('ws://localhost:8690');
useEffect(() => {
if (!isConnected) return;
const unsubscribe = subscribe('spline:variables', (data) => {
splineRef.current?.setVariables(data);
});
return unsubscribe;
}, [isConnected]);Architecture
spline_mcp/
├── generators/ # Code generation (React, Vanilla, Next.js)
│ ├── base.py # Base classes and types
│ ├── react.py # React generator with FastBlocks patterns
│ ├── vanilla.py # Vanilla JS/HTML generator
│ └── nextjs.py # Next.js SSR generator
├── assets/ # Asset management
│ ├── manager.py # Download, cache, validate
│ └── validator.py # Scene file validation
├── integrations/ # External integrations
│ └── websocket.py # Mahavishnu WebSocket (soft failover)
├── tools/ # MCP tool definitions
│ ├── generation.py # Code generation tools
│ ├── assets.py # Asset management tools
│ ├── helpers.py # Utility tools
│ └── integration.py # Integration tools
├── config.py # Oneiric-based configuration
└── server.py # FastMCP applicationEcosystem Integration
Part of the Bodai Ecosystem:
Component | Role | Port |
Mahavishnu | Orchestrator | 8680 |
Akosha | Seer | 8682 |
Dhara | Curator | 8683 |
Session-Buddy | Builder | 8678 |
Crackerjack | Inspector | 8676 |
spline-mcp | 3D Orchestrator | 3048 |
Installation via Bodai Marketplace
This repo ships a Bodai Claude Code plugin manifest (.claude-plugin/plugin.json) plus a colocated .mcp.json and three slash commands in commands/. To install via the Bodai marketplace, first register the marketplace with Claude Code, then install the plugin by name. Once installed, the slash commands /spline-generate, /spline-assets, and /spline-websocket become available alongside the mcp__spline__* tools. Make sure the spline-mcp HTTP server is running on its configured port before invoking the slash commands.
License
BSD-3-Clause
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
AlicenseAqualityCmaintenanceMCP server for Vitrine, the 3D product viewer platform. Enables AI agents to upload GLB models, configure scenes, publish embeds, and manage Looks.17201MIT- FlicenseNot gradedqualityBmaintenanceStandalone MCP server for generating high-fidelity 3D assets from a single image using Pixal3D inference.2
- AlicenseAqualityDmaintenanceMCP server for integrating with Rodin Gen-2 API to generate 3D models from text descriptions or images.6MIT
- AlicenseNot gradedqualityAmaintenanceOpen-source, engine-agnostic MCP server shared by Unity-MCP, Godot-MCP, and Unreal-MCP.9Apache 2.0
Related MCP Connectors
MCP server for interacting with the Supabase platform
Official MCP server for Lovable, the AI-powered full-stack app builder.
MCP server for ByteDance Seedream AI image generation
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lesleslie/spline-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server