spline

内容来源:README.md(说明文档) · 原始地址 · 查看安装指南

原始内容

Spline.design MCP Server (Archived)

This project is archived. Spline.design does not provide a public REST API, making most of this server's functionality non-operational. See below for details.

Why archived

This MCP server was built to programmatically control Spline.design 3D scenes through Claude. However, Spline does not offer a public REST API for scene manipulation. The ~130 tools that call api.spline.design target endpoints that don't exist and will fail with network errors.

Spline's actual developer tools are:

  • Code API — A client-side JavaScript runtime (@splinetool/runtime) that only works in a browser with a canvas element. It can manipulate objects in exported scenes but cannot create scenes or objects.
  • Real-time API — A feature inside the Spline editor for making outbound API calls from Spline to external services. Not an inbound API.

Neither of these enables the kind of server-side programmatic control this MCP server attempts.

What does work

10 code generation tools generate @splinetool/runtime code for Vanilla JS, React, and Next.js. However, Claude can already write this code without an MCP server, making these tools redundant.

Installation

Using npx (for Claude Desktop)

Add this to your Claude Desktop MCP config:

{
  "mcpServers": {
    "spline": {
      "command": "npx",
      "args": ["-y", "spline-mcp-server"]
    }
  }
}

Local development

git clone https://github.com/aydinfer/spline-mcp-server.git
cd spline-mcp-server
npm install
npm start

What you can do with it

Ask Claude to generate Spline runtime code for your projects:

  • "Generate a React component that loads my Spline scene and adds click handlers to objects"
  • "Write animation code that rotates an object on hover"
  • "Create an interactive scene with variable-based state management"
  • "Generate Next.js code with Spline integration"

Claude will use the code generation tools to produce working @splinetool/runtime code you can use directly in your web projects.

Spline Runtime API Reference

The @splinetool/runtime provides these methods (which the code generation tools target):

Method Description
findObjectByName(name) Find an object by name
findObjectById(uuid) Find an object by ID
getAllObjects() List all scene objects
emitEvent(event, nameOrUuid) Trigger an event on an object
addEventListener(event, cb) Listen for scene events
setVariable(name, value) Set a scene variable
getVariable(name) Get a scene variable
setZoom(value) Control zoom level
play() / stop() Control rendering

Objects expose position, rotation, scale, visible, and intensity properties.

Project Structure

spline-mcp-server/
├── src/
│   ├── tools/             # MCP tool implementations
│   │   └── design/        # Advanced design tools (pending API)
│   ├── utils/             # API client and runtime manager
│   ├── prompts/           # Prompt templates
│   ├── resources/         # MCP resources
│   └── index.js           # Main server entry point
├── bin/cli.js             # CLI entry point
├── docs/                  # Documentation
└── package.json

License

This project is licensed under the MIT License — see the LICENSE file for details.