Install
$ agentstack add mcp-ampersante-spine2d-animation-mcp ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
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:
.json— Spine 4.2 skeleton (bones, slots, default skin, region attachments).atlas— libgdx/Spine texture atlas.png— packed atlas page(s)
Key behaviors:
- Multi-segment skeleton (
root → hip → torso → chest → neck → head, limbs offchest, legs offhip); 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
[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](LICENSE) for the full license text.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: ampersante
- Source: ampersante/spine2d-animation-mcp
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.