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) and n8n workflow 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: Vitrine MCP Server
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 |
| Check n8n availability |
| Generate n8n workflow for Spline |
| Trigger n8n webhook |
| Status of all integrations |
Configuration
Set via environment variables with SPLINE_ prefix:
Variable | Default | Description |
|
| Default framework (react/vanilla/nextjs) |
|
| Generate TypeScript code |
|
| Use lazy loading with Suspense |
|
| Cache directory |
|
| Maximum cache size |
|
| Enable WebSocket integration |
|
| Mahavishnu WebSocket URL |
|
| Enable n8n integration |
|
| n8n server URL |
|
| HTTP server port |
|
| Logging level |
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)
│ └── n8n.py # n8n workflow integration
├── 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 |
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.
Latest Blog Posts
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