Spline MCP Server

The Spline MCP Server connects AI coding tools like Claude, Cursor, Codex, and Antigravity directly to your Spline editor. Using the Model Context Protocol (MCP), any MCP-compatible client can build and edit Spline 3D scenes and Hana designs for you — creating files, generating 3D models and images, writing layouts, and running edits — all inside the app you already have open.

Download the Spline desktop app

Required to use the MCP server. Available for macOS and Windows.

The Spline MCP Server ships built into the Spline desktop app, so the desktop app is required — the MCP connection does not work from the browser. There's no separate package to install: downloading and opening the desktop app is all the setup the server needs.


How it works

The MCP server runs inside the Spline desktop app and acts as a bridge between your AI client and your live editor tabs:

AI coding tool  ──►  Spline MCP Server  ──►  your open editor tab
(Claude, Cursor,      (inside the app)        (Spline 3D or Hana)
 Codex, …)
  • Your AI client sends a request (for example, "add a floating island scene").
  • The MCP server forwards it to the matching editor tab in the Spline desktop app.
  • The editor performs the work and sends the result back to your AI client.

Because the editor tab does the actual work, the agent has access to everything the editor can do — the scene, the objects, materials, cameras, and Spline's AI generation features.

One server, two surfaces. The same connection drives both products. Requests are routed automatically by kind:

  • 3D requests (scenes, meshes, cameras, lighting) go to your Spline 3D tab.
  • 2D / Hana requests (websites, app screens, UI, layouts) go to your Hana tab.

Everything runs locally on your machine over 127.0.0.1. The MCP server never exposes your work to the internet — the only place your requests and results travel is between the Spline app and the AI client you connected.


Requirements

  • The Spline desktop app (macOS or Windows) — required, since the MCP server is bundled inside it and can't run from the browser.
  • An MCP-compatible AI coding tool:
    • Claude Code, Claude Desktop, Cursor, VS Code, Antigravity and ChatGPT — configured automatically.
    • Windsurf and other MCP-compatible clients — a quick one-time setup, see Connecting other clients.

Setup

Automatic setup

When you install and open the Spline desktop app, it registers the MCP server with every supported client it finds installed. No config editing required.

ClientWhere Spline writes the server
Claude Code~/.claude.json
Claude Desktopclaude_desktop_config.json (including the Windows MSIX install)
CursorCursor's MCP config
VS CodeVS Code and VS Code Insiders
AntigravityAntigravity's MCP config (current and legacy paths)
ChatGPTThe codex CLI bundled in the ChatGPT desktop app (TOML config)
  1. Download the Spline desktop app (macOS or Windows) and open it at least once. This step is required — the MCP server lives inside the app.
  2. Restart your AI client so it picks up the new server. Most clients only load MCP servers at startup.
  3. That's it — Spline's tools are now available to the agent.

You can manage this per client in Spline's MCP settings, which lists every supported client with its own toggle plus a global switch, and shows the exact setup steps for whichever one you expand.

To confirm the connection, the tools will appear in your client namespaced under Spline (for example, mcp__Spline__3d_run_code or mcp__Spline__2d_write_html).

Connecting other clients

For an MCP-compatible tool Spline doesn't auto-configure — Windsurf, for example — copy the generated server entry into that tool's MCP config. Spline's MCP settings has an Other agents panel that gives you exactly this entry to paste, with the paths already resolved for your install.

You'll find the entry the app created under the Spline key in:

  • Claude Code~/.claude.json
  • Claude Desktop
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json

It looks like this (the exact paths are specific to your machine and install):

{
  "mcpServers": {
    "Spline": {
      "type": "stdio",
      "command": "/path/to/Spline.app/.../MacOS/Spline",
      "args": ["/path/to/spline-mcp.cjs"],
      "env": {
        "ELECTRON_RUN_AS_NODE": "1"
      }
    }
  }
}

Copy that Spline entry into the MCP configuration of the tool you want to use, then restart it. Most tools accept this same command/args/env shape; check your tool's MCP docs if its config format differs.

Because the app keeps its own entries healthy across updates and moves, the simplest way to stay current is to let Spline manage the clients it supports and copy the entry from one of those whenever a path changes.


Using it

  1. Open the Spline desktop app and keep it running.
  2. In your AI client, just ask for what you want. You don't have to open a file first — if no matching file is open, the agent creates a new one and opens it in a tab.

Example prompts

  • "Create a 3D scene with a rotating glass sphere on a pedestal and a soft studio light."
  • "In Hana, design a clean pricing page with three tiers and a call-to-action."
  • "Generate a 3D model of a low-poly tree and add it to my scene."
  • "Take the dashboard screen from src/app/dashboard/page.tsx and rebuild it in Hana so I can redesign it."
  • "I refined the layout in Hana — export it and update the matching component in my repo."

The agent picks the right surface automatically: design requests go to Hana, 3D requests go to Spline 3D. If you have both open, calls are routed to the most recently focused tab of the matching kind.

As the agent works, the frame or scene it's editing lights up so you can follow along in real time. You can connect several sessions at once — they all route to the same running editor.

What the agent can do

Once connected, the agent can, among other things:

In Spline 3D

  • Create new 3D files and build or edit scenes.
  • Generate 3D models and images with Spline AI.
  • Inspect the scene and objects, run scene edits, set the camera view, and capture screenshots.
  • Write the code layer over the canvas — HUDs, interfaces and game logic. See the Preview / Edit / Code tabs and AI Agent.

In Hana

  • Create new Hana files and design or rebuild frames (web pages, app screens, UI).
  • Add, move, duplicate, resize, recolor, and update objects.
  • Generate images, work with 3D shapes, apply effects, and export designs.

Working with your existing codebase (Hana)

Because your AI coding tool is already working inside your repository, Hana can sit right in your design-to-code loop instead of being a separate silo:

  • Bring a screen into Hana. Point the agent at a page or component in your repo, and it rebuilds that screen as a live Hana frame — it translates the markup into Hana's supported HTML + CSS (flexbox) subset. From there you can redesign it visually on the canvas.
  • Build screens in Hana, in code. You can also have the agent author a frame directly from HTML + CSS, so a screen you describe in code shows up as an editable Hana design.
  • Push your canvas edits back to code. After you tweak the design in Hana, the agent exports the frame's current state back to HTML + CSS and translates those changes into your framework — Next.js, Vue, plain HTML, and so on. Every exported element keeps a stable reference back to its Hana object, so the agent can map a visual change to the right place in your source.

This round-trip works within Hana's supported HTML + CSS subset. Complex or framework-specific markup may need the agent to reconcile the exported HTML against your existing components rather than replacing them wholesale.


MCP settings

Open Settings → MCP in the Spline app. Every supported client gets its own row with a toggle, so you can connect Claude Code but leave Cursor alone. Expand a row to see the setup steps for that specific client.

Turning a client off removes Spline's entry from that client's config and stops it being re-added; turning it back on re-registers it. Agents only load their MCP servers at startup, so Spline reminds you to restart the one you just switched on.

If you delete the Spline entry from a config by hand, Spline treats that as a deliberate opt-out and won't put it back.

Connection status

Each row shows whether that client is currently talking to Spline:

What you seeWhat it means
ConnectedThe client has a live session with Spline right now
Starts on useRegistered and working, but this client only launches the connection when you actually use it — expect this for VS Code and ChatGPT
No labelRegistered and idle

"Starts on use" is not a problem. VS Code and ChatGPT don't start the connection when they open, so send a message in the client and it connects.

There's also an MCP status indicator in the app's sidebar — click it to jump straight to these settings.


Privacy & security

  • The server binds to 127.0.0.1 only — it is never reachable from the network.
  • Connections are gated by an origin allowlist, so arbitrary web pages can't reach it. There are no tokens to manage.
  • Your scenes and prompts stay between the Spline app and the AI client you connected. (Spline AI generation features used by the agent run in the cloud, the same as when you use them in the editor.)

Troubleshooting

On this page