Aseprite MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ASEPRITE_PATH | Yes | Path to the Aseprite executable (e.g., C:\Program Files\Aseprite\aseprite.exe). | |
| ASEPRITE_WS_HOST | No | WebSocket server bind address for live mode. | 127.0.0.1 |
| ASEPRITE_WS_PORT | No | WebSocket server port for live mode. | 9001 |
| ASEPRITE_MCP_MODE | No | Execution mode: 'cli' (default) or 'ws' for WebSocket live mode. | cli |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| apply_operationsA | 执行一批 Aseprite 操作(唯一变更入口)。 如果 session_id 为空且首个 op 是 create_sprite/open_sprite, 会先创建会话再执行。destructive op 需要 confirmed=true。 成功时 op_results 只保留服务器才知道的新信息(如 open_sprite 读到的实际尺寸), 回显入参的条目会被丢弃;要完整回显或 dry_run 的执行计划就用 verbose=true。 |
| run_luaA | 执行任意 Lua(逃逸舱)。必须 unsafe=true 且 confirmed=true。 与 op 批量同样受快照保护:snippet 失败会回滚文档,成功则把改前状态留作 undo 备份。 CLI 模式下每次调用都会重写 .ase,所以 changed 表示"文档被重写"而非"内容语义变化"。 |
| inspectA | 返回画布预览与量化指标(只读,永不改动文档)。 动画文档用 frame(1 起)指定看哪一帧;越界由 Lua 侧夹到有效范围。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| create_sprite_prompt | 生成精灵创作引导消息。 |
| iterate_sprite_prompt | 生成迭代审查引导消息。 |
| create_animation_prompt | 生成动画创作引导消息。 |
| animation_consistency_prompt | 生成动画一致性工作流引导(帧继承 + 补间 + 差异验证)。 解决 AI 动画最常见的帧间脱节问题:每帧必须基于上一帧做增量, 静态部分由 propagate_cels 保证零差异,动态部分用补间或局部编辑。 |
| multi_layer_prompt | 生成多图层创作引导消息。 |
| create_tileset_prompt | 生成瓦片集创作引导消息。 |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| list_sessions | 列出当前所有活跃的绘制会话。 |
| get_default_palette | 返回默认像素艺术调色板(16 色)。 |
| list_palette_presets | 返回可用的预设调色板名称列表(docs §4.3)。 |
| list_timing_presets | 返回动画帧时长预设类型列表(docs §7.2)。 |
| list_blend_modes | 返回 Aseprite 支持的所有混合模式列表。 |
| list_ani_dirs | 返回 Aseprite 支持的所有动画方向列表。 |
| list_sprite_patterns | 返回可用的精灵网格布局参考模板列表。 |
| list_tileset_templates | 返回可用的瓦片布局模板列表(docs §8.2)。 |
TDQS
Scored across 3 tools
The three tools have clearly distinct purposes: apply_operations is the sole programmatic mutation entry point, run_lua is an escape hatch for arbitrary scripts, and inspect is strictly read-only. No two tools overlap in functionality, making selection unambiguous for an agent.
All names follow a consistent lowercase snake_case pattern starting with a verb: apply_operations, run_lua, inspect. The convention is uniform and predictable, with no mixed styles or ambiguous verbs.
With only 3 tools, the surface is minimal but perfectly aligned with the server's purpose. The heavy lifting is encapsulated inside operation types for apply_operations, so the small count is intentional and well-scoped rather than sparse.
The tool set covers the full lifecycle: mutate (apply_operations), arbitary scripting (run_lua), and read/analyze state (inspect). Supporting operations like create_sprite and open_sprite are exposed as ops within apply_operations, so no critical gap exists for typical Aseprite workflows.