Skip to main content
Glama
README.md
# Aseprite MCP Server

A Model Context Protocol (MCP) server for Aseprite.

## Features
- **Procedural Script Execution:** Run custom Lua scripts to programmatically draw and manipulate sprites inside Aseprite.
- **Semantic Tools:** Add animations, draw assets (grass, stone), and create projects.
- **Visual Feedback:** Most drawing operations return a PNG preview to the LLM.
- **Security:** Temporary Lua scripts are safely execution-bound and cleaned up.

## Setup
1. Install [Aseprite](https://www.aseprite.org/).
2. Clone this repo and install dependencies:
   ```bash
   pnpm install
   pnpm run build
   ```
3. (Optional) Copy `.env.example` to `.env` and set `ASEPRITE_PATH` if it's not in your system PATH.

## Usage with Claude Desktop
Add the following to your Claude Desktop config:
```json
{
  "mcpServers": {
    "aseprite": {
      "command": "node",
      "args": ["/path/to/aseprite_mcp/dist/index.js"],
      "env": {
        "ASEPRITE_PATH": "aseprite"
      }
    }
  }
}
```

## Security Note
- Never commit your `.env` file.
- Temporary Lua scripts are automatically cleaned up after execution.
An MCP to integrated LLMs with Aesprite

TDQS

A3.5/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a distinct purpose: app control (launch_aseprite), project creation (create_project), animation (add_animation), drawing (draw_asset), preview (get_preview), and low-level scripting (run_script). No two tools overlap in their primary function, and run_script is clearly positioned as a general escape hatch.

Naming Consistency5/5

All tools follow a consistent snake_case verb_noun pattern (run_script, launch_aseprite, create_project, add_animation, draw_asset, get_preview). This makes the API highly predictable and easy to navigate.

Tool Count5/5

Six tools is well-scoped for an Aseprite MCP server. Each tool covers a core operation without redundancy, staying within the ideal 3-15 range for a focused integration.

Completeness2/5

The tool surface lacks standard lifecycle operations such as opening an existing project, saving/exporting, and managing layers or palettes. While run_script can perhaps fill these gaps via custom Lua code, the explicit toolset is incomplete for typical Aseprite workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues