spine2d-animation-mcp
The SPINE2D Animation MCP Server is a tool for generating animations from PSD character files using natural language descriptions. It automates the rigging and animation process, offering previews and multiple export formats for user-defined animations. The server aims to make animation creation accessible and efficient by integrating natural language processing capabilities.
SPINE2D Animation MCP Server
This Model Context Protocol (MCP) server provides tools for creating SPINE2D animations from PSD character files using natural language descriptions.
Overview
The SPINE2D Animation MCP server allows you to:
- Import PSD character files
- Automatically rig characters
- Generate animations using natural language descriptions
- Preview animations
- Export animations in various formats
Requirements
- Python 3.6+
- Required Python packages (installed automatically):
- Flask
- Pydantic
- Pillow
- PSD-Tools
- OpenAI (for natural language processing)
- Requests
- Python-dotenv
Installation
- Clone this repository
- Run the installation script:
./install.sh
The installation script will:
- Create necessary storage directories
- Install Python dependencies
- Configure MCP settings for VS Code
- Optionally configure MCP settings for Claude Desktop
Usage
After installation, restart VS Code and/or Claude. You can then use the following tools through the MCP server:
Import PSD Character
Upload and process a PSD file:
Use: "Import my character from character.psd"
Parameters:
file_path
: Path to the PSD file
Setup Character
Automatically rig a character that has been imported:
Use: "Set up rigging for my character"
Parameters:
character_id
: Character ID from import_psd
Generate Animation
Create an animation from a text description:
Use: "Create a happy waving animation for my character"
Use: "Make my character jump with excitement"
Use: "Animate my character to run scared with sparkle effects"
Parameters:
character_id
: Character IDdescription
: Animation description (e.g., "wave happily")
Preview Animation
Get a preview of the animation:
Use: "Show me a preview of the waving animation"
Parameters:
character_id
: Character IDanimation_id
: Animation ID
Export Animation
Export the final animation:
Use: "Export the jumping animation as a GIF"
Parameters:
character_id
: Character IDanimation_id
: Animation IDformat
: Export format (json, png, gif)
Project Structure
spine2d-animation-mcp/
├── README.md # This file
├── requirements.txt # Python dependencies
├── install.sh # Installation script
├── src/
│ ├── main.py # Entry point
│ ├── server.py # MCP server implementation
│ ├── psd_parser.py # PSD parsing module
│ ├── animation_generator.py # Animation generation module
│ └── spine2d_integration.py # SPINE2D integration module
└── storage/ # Created during installation
├── characters/ # Imported character data
├── animations/ # Generated animations
├── rigs/ # Character rigs
└── exports/ # Exported animations
How It Works
- PSD Import: The server parses a PSD file, extracts layers, and organizes them into a character structure.
- Character Rigging: The server analyzes the character structure and automatically creates bones, IK constraints, and skin attachments.
- Animation Generation: Natural language descriptions are parsed to extract animation type, emotion, and intensity. The server then applies these to animation templates.
- Animation Preview: The server generates a preview of the animation in GIF format.
- Animation Export: The server exports the animation in the requested format (JSON, PNG, or GIF).
Limitations
- The automatic rigging system is based on layer names and structure, which may require specific naming conventions for optimal results.
- The animation templates are predefined, so complex custom animations may require manual adjustment.
- The natural language processing is simplified in this implementation and may not capture all nuances of complex descriptions.
Future Improvements
- Improved natural language understanding using more advanced LLM integration
- More sophisticated automatic rigging with bone placement based on image analysis
- Expanded library of animation templates
- Real-time preview rendering
- More export formats and options
Documentation
- - Complete guide for creating animations from scratch with just a PSD file
- - Instructions for connecting MCP server outputs to your SPINE2D software