Skip to content

MCP and AI Tools

Islumina has no remote MCP endpoint. Package documentation is served as static files that an AI can read directly; MCP is used only for AI Sprite Studio’s local image-generation workflow, because that workflow reads and writes local files.

  • /llms.txt: ecosystem index.
  • /llms-full.txt: standalone ecosystem context and the 0.6.0 family contracts.
  • Each package’s llms-full.txt: in the GitHub repository root, and also published with the npm package at node_modules/<pkg>/llms-full.txt.

For package selection and validation, see the AI Quick Start.

aisprite-studio ships a stdio MCP server that lets MCP-capable AI clients inspect sprite workspaces, repair the canonical reference, receive exact row or frame generation tasks, submit PNGs, and run deterministic QA with a scored summary. The server never calls an image API and stores no model API key; image generation stays with the connected AI host.

After cloning aisprite-studio, run these commands from the repository root:

終端機視窗
npm ci
npm run test:mcp

test:mcp builds mcp-server/dist/index.js and runs its tests. Run npm run serve when you also want the web editor; its AI Agent Handoff card generates the client configuration with your paths filled in.

Replace /absolute/path/to/aisprite-studio in the examples below. AIPLAYBOOK_ROOT remains a temporary fallback for existing configurations; new setups should use AISPRITE_STUDIO_ROOT.

Codex, in ~/.codex/config.toml:

[mcp_servers.aisprite-studio]
command = "node"
args = ["/absolute/path/to/aisprite-studio/mcp-server/dist/index.js"]
[mcp_servers.aisprite-studio.env]
AISPRITE_STUDIO_ROOT = "/absolute/path/to/aisprite-studio"

Claude Code (project .mcp.json) and Claude Desktop (claude_desktop_config.json) use the same mcpServers object:

{
"mcpServers": {
"aisprite-studio": {
"command": "node",
"args": ["/absolute/path/to/aisprite-studio/mcp-server/dist/index.js"],
"env": { "AISPRITE_STUDIO_ROOT": "/absolute/path/to/aisprite-studio" }
}
}
}

Claude Code can also register it from the command line:

終端機視窗
claude mcp add aisprite-studio -e AISPRITE_STUDIO_ROOT=/absolute/path/to/aisprite-studio -- node /absolute/path/to/aisprite-studio/mcp-server/dist/index.js

Gemini CLI: add the same mcpServers["aisprite-studio"] object to .gemini/settings.json, then run /mcp list inside Gemini CLI to check that all nine tools are ready.

Antigravity or another image agent without an MCP client: if the host supports local stdio MCP, use the same JSON. Otherwise press Copy active frame task in the editor, generate the image, and hand it to an MCP-connected agent that calls aisprite_studio_submit_generated_frame.

  1. aisprite_studio_list_assets: list generation workspaces, frame progress, references, and QA status (read-only).
  2. If the reference is marked failed, call aisprite_studio_get_reference_task, generate one replacement, and submit it with aisprite_studio_submit_reference.
  3. After the reference passes human visual review, generate the frames in either mode, always with every returned image reference:
    • Row: aisprite_studio_get_row_task returns a prompt, the reference and a numbered layout guide for one whole animation. Draw every pose in one image and submit it with aisprite_studio_submit_generated_row; the server keys it, cuts exactly the declared number of poses by content, and writes them at one shared scale, or writes nothing and says what it found. Drawing the poses together keeps identity, scale and palette consistent. When warning says the poses would be enlarged more than 1.25×, use frame tasks instead.
    • Frame: aisprite_studio_get_generation_task returns one frame task; submit the PNG with aisprite_studio_submit_generated_frame.
  4. Run aisprite_studio_run_deterministic_qa. Its summary gives the overall status, the lowest animation score (0–100), per-animation hints, and the failing frames with a repair_hint each; regenerate what it names. aisprite_studio_get_qa_report returns the full report.

Every checked-in generated image is treated as failed, unapproved material. Submitting a replacement does not approve it, and deterministic QA is not visual approval; packing still requires a separate visual QA pass.

  • The hosted Sprite Playground is read-only and has no write endpoint.
  • Local submission accepts only declared frame or animation names and valid PNGs up to 20 MiB. Frames must match frame_size exactly and are written only to assets/{asset}/frames/{frame}.png; a row picture is written to assets/{asset}/raw/{animation}.png and becomes frames only when exactly the declared number of poses is found.
  • Replacing an existing frame must be explicit, and MCP annotations mark it as destructive.

The hosted container and editor use the exact-origin aibridgejs iframe adapter. A browser agent can call window.aispriteStudioBridge.requestContext() and observe the aisprite-studio:context event, or use the bounded selectAsset(asset) and reloadAssets() commands. This channel cannot generate images or write files; those operations remain local MCP-only.