Skip to main content
Glama

LibreSprite-MCP

Install MCP Server PyPI version

Prompt your way into LibreSprite

Model Context Protocol (MCP) server for prompt-assisted editing, designing, and scripting inside LibreSprite.

https://github.com/user-attachments/assets/71440bba-16a5-4ee2-af10-2c346978a290

Prerequisites

uv is the recommended way to install and use this server. Here are quick one-liners to install it if you haven't:

  • Windows: (run as administrator)

    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  • Unix:

    curl -LsSf https://astral.sh/uv/install.sh | sh

More on installing uv.

The package is published on PyPI, so feel free to consume it any other way you prefer (pipx, etc)

Related MCP server: aseprite-mcp

Usage

Step 1: Setting up the client

Add the MCP server with the following entrypoint command (or something else if you are not using uv) to your MCP client:

uvx libresprite-mcp

Examples:

  • Claude Desktop & Cursor

    Edit Claude > Settings > Developer > Edit Config > claude_desktop_config.json or .cursor > mcp.json to include the server:

    {
        "mcpServers": {
            // ...existing servers...
            "libresprite": {
                "type": "stdio",
                "command": "uvx",
                "args": [
                    "libresprite-mcp"
                ]
            }
            // ...existing servers...
        }
    }

    You can also use this fancy badge to make it quick:

    Install MCP Server

NOTE

You will have to restart Claude Desktop to load the MCP Server.

Step 2: Setting up LibreSprite

Download the latest stable remote script mcp.js from releases and add it to LibreSprite's scripts folder:

scripts-folder

Step 3: Connect and use

Run the mcp.js script (that you see in the screenshot above), and make sure your MCP server is running (Claude Desktop/Cursor is loaded and running). If all went well, you should see the following screen:

connect-button

Click the "Connect" button and you can now start talking to Claude about your next big pixel-art project!

Some pointers

  • You can only run one instance of the MCP server at a time.

  • The server expects port 64823 to be free.

  • The server has a hacky and brittle implementation (see ARCHITECTURE), and is not extensively tested.

  • The MCP resources are kinda low quality with unclear API reference and limited examples, leaving the LLM confused at times. If you're a LibreSprite expert, we need your help.


Available Tools

1 tool
run_scriptB
        Run a JavaScript script inside Libresprite.

        IMPORTANT: Make sure you are well versed with the documentation and examples provided in the resources `docs:reference` and `docs:examples`.

        Args:
            script: The script to execute

        Returns:
            Console output
        
ParametersJSON Schema
NameRequiredDescriptionDefault
scriptYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only mentions executing a script and returning console output, omitting critical details like potential data mutation, security risks, or error handling. For a tool that runs arbitrary code, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at 5 lines. It is front-loaded with the purpose, followed by an important warning, then parameter and return sections. Every part serves a purpose, though the warning could be shortened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the potential complexity of running scripts, the description lacks context on failure modes, timeouts, or permissions. The existence of an output schema reduces the need to explain return values, but behavioral gaps remain, making it incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the parameter 'script' is clarified only in the description as 'The script to execute.' This adds meaning but is minimal and does not provide constraints or examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Run a JavaScript script inside Libresprite,' which is a specific verb-resource combination. There are no sibling tools, so differentiation is not required.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes an IMPORTANT note about consulting documentation, which implies a prerequisite but does not explicitly state when to use the tool or when to avoid it. No alternatives exist, so the guidance is minimal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.4/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity between tools. The singular tool has a clear and distinct purpose.

Naming Consistency5/5

The single tool name 'run_script' follows a consistent verb_noun pattern. No inconsistencies exist due to the absence of other tools.

Tool Count2/5

The server provides only one tool for a complex domain (LibreSprite pixel art editor). This is too few for typical workflows, which would require multiple tools for editing, layering, and exporting.

Completeness2/5

The server exposes only a generic script runner, lacking direct tools for common operations like creating, editing, or exporting sprites. While scripting can compensate, the surface is severely incomplete for the stated domain.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Snehil-Shah/libresprite-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server