Provides programmatic interaction with Aseprite, including canvas operations, drawing tools, palette management, and batch processing. Allows creating sprites, managing layers and frames, drawing shapes, applying color palettes, and exporting to various formats.
Implements a Python-based MCP server for interacting with Aseprite, requiring Python 3.13+ to operate and offering Lua script generation for Aseprite operations.
Aseprite MCP Tools v2.0
A powerful Python MCP (Model Context Protocol) server for programmatic interaction with Aseprite, featuring enhanced error handling, configuration management, batch processing, and more!
🚀 What's New in v2.0
🛡️ Comprehensive Error Handling: Custom exceptions with detailed, actionable error messages
🔧 Configuration Management: Pydantic-based settings with JSON/YAML support
📝 Advanced Logging: Structured logging with performance metrics
🎨 Palette Management: Create, apply, and extract color palettes
⚡ Batch Processing: Process multiple files in parallel
🏗️ Lua Script Builder: Clean, type-safe Lua script generation
🔒 Enhanced Security: Input validation and path traversal protection
🧪 Full Test Coverage: Comprehensive unit tests
Related MCP server: MCP Builder
📋 Features
Core Drawing Tools
Canvas Operations: Create sprites, add layers and frames
Drawing Tools: Pixels, lines, rectangles, circles, and fill operations
Export Tools: Export to various formats with scaling and layer support
New Palette Tools (v2.0)
Preset Palettes: GameBoy, NES, PICO-8, CGA, Monochrome, Sepia
Custom Palettes: Create and apply custom color schemes
Palette Extraction: Extract colors from existing images
Color Remapping: Replace colors throughout sprites
Batch Processing (v2.0)
Batch Resize: Resize multiple sprites maintaining aspect ratio
Batch Export: Convert multiple files to different formats
Batch Palette Apply: Apply palettes to multiple files
Custom Scripts: Run Lua scripts on file sets
🔧 Installation
Requirements
Python 3.13+
Aseprite (must be installed separately)
Claude Desktop Configuration
Using UV (Recommended)
Using Python
Install Dependencies
⚙️ Configuration
Environment Variables
Configuration File (config.json)
Configuration File (config.yaml)
📖 Usage Examples
Basic Drawing Operations
Layer and Frame Management
Palette Operations
Export Operations
Batch Processing
🏗️ Architecture
Project Structure
Error Handling
Lua Script Builder
🧪 Testing
Run all tests:
Run specific test:
Run demo script:
📝 Logging
Logs include:
Operation tracking
Performance metrics
Error details with context
Structured JSON output (optional)
Example log:
🤝 Contributing
Fork the repository
Create a feature branch
Follow the coding standards:
Use type hints
Add input validation
Include error handling
Write unit tests
Update documentation
Submit a pull request
📄 License
MIT License - see LICENSE file for details
🙏 Credits
Original implementation: Divyansh Singh
v2.0 improvements: Enhanced error handling, configuration, batch processing, and more
📚 Additional Resources
IMPROVEMENTS.md - Detailed v2.0 changes