mcpField
S
SPINE2D Animation MCP Server

SPINE2D Animation MCP Server

Local
github.com/naosenMedia & Design122Updated 21w ago

About SPINE2D Animation MCP Server

spine2d-mcp is an MCP server that converts a layered PSD character into a Spine 4.2 project, with skeleton JSON, texture atlas and atlas PNG pages. It targets developers and artists who need to rig and import characters into Spine and Unity. The project is in Phase 0 and has not yet been validated against a real PSD in the Spine editor or Unity.

Key features

  1. 01Converts body-part named PSD layers into a Spine 4.2 project
  2. 02Outputs skeleton JSON, atlas file and atlas PNG pages
  3. 03Multi-segment bone hierarchy with generated intermediate bones
  4. 04Joint-edge bone pivots instead of image centers
  5. 05Preserves PSD draw order as Spine slot order
  6. 06Validates skeleton structure against Spine 4.2 reader rules

Use cases

  1. 01Generating an initial Spine rig from a character PSD
  2. 02Preparing Spine character assets for a Unity project
  3. 03Calling the import tool by path from an MCP client

MCP support

This is a stdio MCP server exposing one tool, import_psd_to_spine, which takes a PSD path and returns the project, atlas and PNG file paths. MCP clients such as Claude Desktop or Claude Code can use it to run the conversion.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

spine2d-mcp

An MCP server that converts a layered PSD character into a Spine 4.2 project — skeleton JSON, texture atlas, and atlas page PNG(s) — ready to import into the Spine editor and Unity.

The goal is to cut the manual rig-and-import work for a character from days down to roughly an hour.

Status

Phase 0 (proof of concept): PSD → a correct, importable rig (no animations yet).

The pipeline is implemented and covered by tests against synthetic fixtures. It has not yet been validated against a real PSD in the Spine editor / Unity — that is the next milestone. Animation generation, headless preview, and Unity export are planned for later phases.

What it does today

Given a PSD whose layers are named after body parts (head, body/torso, arm_left, hand_right, leg_left, foot_right, …), the import_psd_to_spine tool produces:

  • <name>.json — Spine 4.2 skeleton (bones, slots, default skin, region attachments)
  • <name>.atlas — libgdx/Spine texture atlas
  • <name>.png — packed atlas page(s)

Key behaviors:

  • Multi-segment skeleton (root → hip → torso → chest → neck → head, limbs off chest, legs off hip); missing intermediate bones are created as positioned virtual bones.
  • Joint-correct pivots — each bone pivots at the joint edge of its part (or an explicit <part>[pivot] marker layer), not the image center, so rotation behaves anatomically.
  • PSD draw order is preserved as Spine slot order.
  • Structural validation of the skeleton against the invariants the Spine 4.2 reader enforces.

Format source of truth: reference/SkeletonJson.java (spine-runtimes 4.2).

Requirements

  • Python 3.11+
  • uv

Setup

uv sync

Run the tests

uv run pytest

Run the MCP server

uv run spine2d-mcp

This starts a stdio MCP server exposing a single tool:

import_psd_to_spine(psd_path: str, out_dir: str | None = None)
  -> { project_path, atlas_path, png_paths }

Point an MCP client (e.g. Claude Desktop / Claude Code) at it, then ask it to import a PSD by path.

Project layout

src/spine2d_mcp/
  server.py          FastMCP server + import_psd_to_spine tool
  pipeline.py        PSD -> Spine project orchestration
  psd/parser.py      PSD -> flat layer list (+ pivot markers)
  psd/conventions.py bone hierarchy, joint sides, [pivot] tag
  spine/schema.py    Pydantic models for Spine 4.2 JSON
  spine/builder.py   layers -> SpineProject
  spine/writer.py    SpineProject -> JSON
  spine/validator.py structural validation
  atlas/packer.py    rectpack bin packing
  atlas/writer.py    .atlas text + composite PNG
reference/           SkeletonJson.java, spineboy.atlas (format references)
tests/               pytest suite (synthetic PSD fixtures)

License

This project is released under the MIT License.

You may use, copy, modify, merge, publish, distribute, sublicense, and sell copies of the software, provided that the original copyright notice and license text are included with substantial portions of the software.

The software is provided "as is", without warranty of any kind. See LICENSE for the full license text.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.