godot-sprite-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| inspect_spritesheetA | Inspect a PNG spritesheet and return frame rectangles. Use this tool before building animations when you need to discover the
frame layout of a spritesheet. The alpha channel is analysed; pixels with
alpha strictly greater than Args:
image_path: Absolute path, relative path, or Returns:
A JSON-compatible dictionary with |
| build_sprite_framesA | Create a Godot 4.x SpriteFrames .tres resource from atlas regions. This writes a Args:
project_root: Absolute path to the Godot project directory (the folder
containing Returns:
Metadata including the absolute |
| extract_collision_polygonA | Extract a simplified outer collision polygon from opaque pixels. This optional tool is intended for static objects and irregular scenery. For moving characters and monsters, use build_body_collider instead to get a stable feet-aligned RectangleShape2D or CapsuleShape2D. The largest external alpha contour is traced and simplified with the Ramer-Douglas-Peucker algorithm. The result is a simple clockwise polygon with at most 24 vertices, suitable for a CollisionPolygon2D. Args:
image_path: Absolute path, relative path, or Returns:
A dictionary with |
| build_body_colliderA | Build a stable single-shape body collider for a moving character. This is the recommended collision tool for player/enemy movement. It consumes all frames of one animation, overlays their alpha masks, measures the full character height and a thickness-filtered body width, and returns a feet-aligned RectangleShape2D (default) or CapsuleShape2D. The older extract_collision_polygon tool remains available for static objects. Args:
image_path: Path or Returns:
A JSON-compatible dictionary containing height/top/bottom, filtered
body width and raw width, |
| build_character_sceneA | Write a complete Godot 4 .tscn character scene with AnimatedSprite2D and feet-aligned body collider. Args:
project_root: Path to the Godot project directory containing Returns:
Metadata including the written |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool targets a distinct stage of the pipeline (inspection, frame resource, collider, scene assembly), and the descriptions explicitly resolve the one real overlap by steering static objects to extract_collision_polygon and moving characters to build_body_collider. The only residual ambiguity is that build_character_scene composites the work of build_sprite_frames and build_body_collider, so an agent could pick the composite when it wanted just a sub-artifact.
All five names are snake_case verb_noun pairs (inspect_spritesheet, extract_collision_polygon, build_sprite_frames, build_body_collider, build_character_scene). The verb choice is semantically meaningful: 'inspect' for the read-only analysis tool, 'build' for the generators.
Five tools map cleanly onto a linear asset pipeline with no filler or redundancy. Every tool has an identifiable role and there is no thin one-tool surface nor a bloated menu.
The core workflow (discover frames -> SpriteFrames resource -> collider -> full character scene) is fully covered end to end. Minor gaps exist: no tool to read/validate or amend an existing .tres/.tscn, no TileSet or non-character sprite output, and no way to re-inspect previously generated assets.