# Pixelbolt pixel art toolkit (mcpb · pixelbolt.mcpb)

Pixel art and sprite animation for agents: JSON recipes to PNG, APNG, GIF and sprite sheets.

- Trust score: 52/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-18

## Components

- mcpb · `pixelbolt.mcpb`: 52/100 (this document), [markdown](https://verifymcp.io/servers/skulitom-pixelbolt/pixelbolt.md), [page](https://verifymcp.io/servers/skulitom-pixelbolt/pixelbolt)

## Channel facts

- Registry: `mcpb`
- Package: `https://github.com/skulitom/Pixelbolt/releases/download/v0.9.0/pixelbolt.mcpb`
- Version: `0.9.0`
- Transport: `stdio`
- SHA-256: `8e71223eadd0eced17a6b2fbe39be2d953cf4b02e9ccb7fac1c4e9d0fb61f906`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-18.

- **Supply Chain Security**: 13/100
  - No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.
  - Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).
  - No install/post-install scripts declared.
  - Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to skulitom/Pixelbolt).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 0 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 52/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2322 tokens (~290/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 13/100
  - Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 89/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 66% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 8 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Pixelbolt pixel art toolkit MCP server?

Pixelbolt pixel art toolkit ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, 8e71223eadd0eced17a6b2fbe39be2d953cf4b02e9ccb7fac1c4e9d0fb61f906; the commands to do that are on this page. If it does not match, do not open it.

- Download bundle: `https://github.com/skulitom/Pixelbolt/releases/download/v0.9.0/pixelbolt.mcpb`
- SHA-256: `8e71223eadd0eced17a6b2fbe39be2d953cf4b02e9ccb7fac1c4e9d0fb61f906`

### Verify on macOS / Linux

```bash
echo "8e71223eadd0eced17a6b2fbe39be2d953cf4b02e9ccb7fac1c4e9d0fb61f906  pixelbolt.mcpb" | shasum -a 256 -c
```

### Verify on Windows (PowerShell)

```powershell
(Get-FileHash -Algorithm SHA256 .\pixelbolt.mcpb).Hash -eq "8e71223eadd0eced17a6b2fbe39be2d953cf4b02e9ccb7fac1c4e9d0fb61f906"
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-18 (score 52, +2)

- [security regression] Tool safety: pass → unverified
- [security] Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [functional regression] Schema quality: 261 → 290
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional improvement] Stability: unverified → 0.13
- [functional] Package version: 0.8.0 → 0.9.0

### 2026-10-14 (score 50, +27)

- [security improvement] Injection markers: unverified → pass
- [security] First check of Judged manipulation: pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] MCP protocol: unverified → pass
- [functional] First check of Schema quality: fail
- [functional] First check of Destructive annotations: pass
- [functional] First check of Schema quality: fail
- [functional] First check of Tool coverage: 66
- [functional] First check of Schema quality: good

### 2026-10-13 (score 23)

First indexed and scored.

## MCP tools (8)

### `pixel_help` (~67 tokens)

Start here before drawing pixel art, sprites, tiles, icons, effects or animations. Get the Pixelbolt authoring guide, JSON Schema, and a complete editable example. Pass topic poses, scenes, autotile, fx, fluid or normals for those sidecar schemas.

Input parameters:

- `topic`

### `pixel_validate` (~175 tokens)

Check a pixel art recipe for mistakes before inspecting or exporting it. Validate a pixel project and return its revision id, dimensions, frame timing, animations, and clipping locations. Pass fps to check the timing against a video frame grid. Saves an immutable recipe revision; no asset export.

Input parameters:

- `fps` (number|string): Also check timing against a video frame rate (24, 25, 29.97, 30, 60 or a fraction): frameGrid lists frame durations that are not whole video frames, positions a sequence would lengthen, shorten or ne…
- `project` (object)
- `revision` (string): Revision id from an earlier Pixelbolt response. Send it instead of project to reuse that recipe, including after restarting with the same MCP --out directory.

### `pixel_inspect` (~621 tokens)

Look at pixel art, a sprite or an animation frame by frame to check how it looks. See a project without exporting assets. Returns one PNG contact sheet of every frame (or the chosen frames, or one animation in playback order), read left to right and top to bottom, with each cell's frame name and duration. With grid: true it also returns palette-key text grids with x/y rulers for exact pixel checks. view: tile repeats frames 3x3 for seam review. Use region to zoom in. Saves an immutable recipe revision. Use this while iterating; call pixel_render to export.

Input parameters:

- `animation` (string): Show one animation in playback order instead of frames.
- `background` (string): Cell background: checker (default), transparent, a palette name or a hex color.
- `diagnostics` (boolean): Advisory duplicate, empty, isolated-pixel, palette and loop-boundary evidence, original animation timing, and per-frame counts of pixels a cleanup change would alter (corners, strays).
- `frames` (array): Frame names to show, in this order. * (any characters) and ? (one character) in a name select every matching frame in project order, such as "flash-*". Default: every frame.
- `grid` (boolean): Also return each frame as palette-key text rows with x/y rulers. At most 16,384 pixels in total.
- `layers` (array): Isolate named layers, preserving inheritance/transforms/visibility. Omits frame ops, background and final canvas corrections, which do not belong to a named layer.
- `maxCells` (integer): Bound the preview with evenly spaced samples; returns omitted count and original positions. Does not alter exported animation. Evenly spaced samples can alias with a repeating pattern; use step and o…
- `native` (boolean): Also return a native-size contact sheet beside the enlarged view.
- `offset` (integer): First position the step keeps, counting from 0. Default 0; offset 1 with step 2 shows the B frames.
- `project` (object)
- `reference` (string): Saved revision to compare against at the same origin. Adds a before/after image and changed-pixel report.
- `region` (object): Crop every frame to this canvas rectangle. Smaller regions are shown larger.
- `revision` (string): Revision id from an earlier Pixelbolt response. Send it instead of project to reuse that recipe, including after restarting with the same MCP --out directory.
- `scale` (integer): Contact sheet scale. Default: the largest that fits about 1024px.
- `step` (integer): Keep every step-th cell of the selection (frames or animation positions), starting at offset: step 2 shows only the A frames of an A/B strobe. Applied before maxCells.
- `view`: Onion uses pink previous/cyan next poses in animation playback order (requires animation). Tile repeats each frame 3x3 and reports doubled edges and wrap steps.

### `pixel_patch` (~369 tokens)

Fix or tweak pixel art (one pixel, a colour, a frame or its timing) without redrawing it. Change a recipe with targeted edits instead of resending it. Pass revision or project, plus changes applied in order: {"set": path, "value": v}, {"insert": path, "value": v}, {"remove": path}, or {"paint": "frames[blink]", "value": [{"x": 9, "y": 7, "color": "k"}]}. Paint replaces exact RGBA in canvas coordinates after all layers; transparent erases. {"cleanup": "frames[run-2]", "value": {"corners": true}} proposes fixes for doubled corners and stray pixels. Other paths look like frames[blink].layers[body].ops[2].x2, palette.k or animations.idle.frames[-]. Or pass overlay to apply a saved correction overlay. The patch is atomic and the result must validate. Returns the new revision, edit details, every frame whose pixels changed (exact pixels for small changes), timing and animation changes, and a before/after PNG with one row per frame. Saves immutable base and result revisions; render the revision to export assets.

Input parameters:

- `changes` (array): Edits applied in order. Paths match error paths, such as frames[3].duration; lists also accept [name] and [-] to append.
- `overlay` (object): Apply a saved pixelforge-overlay instead of changes. Canvas-only overlays reapply when the frames they touch are unchanged (reported as rebased).
- `project` (object)
- `revision` (string): Revision id from an earlier Pixelbolt response. Send it instead of project to reuse that recipe, including after restarting with the same MCP --out directory.

### `pixel_render` (~309 tokens)

Export pixel art as game-ready files: sprite sheet, sprites, animations, GIFs or frames for a video. Render a project into PNG sprite sheet, atlas JSON, individual PNGs, APNG animations, CSS, and Canvas player. Writes a new unique folder inside the configured export directory and saves an immutable recipe revision. Returns the folder, key files (relative), frame/animation counts, actual playback and a bounded contact sheet. Large previews report sample positions and omissions; all frames still export. Optionally select an animation.

Input parameters:

- `animation` (string): Preview this animation in playback order. Default: preview every frame in project order. All animations are always exported.
- `gif` (object): Also write every animation as a GIF in gifs/ for sharing ({} for defaults). Exact colours, at most 256 per frame, never quantized; notes report alpha and timing changes.
- `listFiles` (boolean): List every exported file. Default: key files plus frame/animation counts.
- `project` (object)
- `revision` (string): Revision id from an earlier Pixelbolt response. Send it instead of project to reuse that recipe, including after restarting with the same MCP --out directory.
- `sequence` (object): Also write a numbered PNG sequence for a video editor into sequence/: one PNG per video frame with alpha, plus sequence.json and a README with the ffmpeg command for a .mov. The result reports timing…

### `pixel_compile` (~303 tokens)

Build a character animation from parts, a terrain tileset, particle effects such as sparks, embers or dust, simulated smoke, fire, explosions, steam, magic swirls and water (splashes, waterfalls, drips, bubbling potions), or a lighting normal map. Compile a pixelforge-poses source (named parts, attachments, rotated parts, tweened in-betweens, mirrored poses, markers), a pixelforge-autotile template (47-tile blob or 16-tile cardinal sets), a pixelforge-fx source (seeded particle emitters baked into frames), a pixelforge-fluid source (a deterministic fluid simulation mapped onto palette ramps; loops seamlessly) or a pixelforge-normals source (a lighting normal pass derived from a colour recipe, aligned for scene lighting and editable like any recipe) into an ordinary recipe. Saves the recipe as a revision and returns a contact sheet; pass metadata: true for pose attachment/marker metadata, the autotile mask table, particle counts, fluid peaks and per-frame pixel counts, or the normal directions.

Input parameters:

- `metadata` (boolean)
- `source` (object, required): A pixelforge-poses, pixelforge-autotile, pixelforge-fx, pixelforge-fluid or pixelforge-normals document (see pixel_help topics). A normals source's recipe may be inline, a file under the server root…

### `pixel_scene` (~242 tokens)

Compose a pixel art scene or room from sprites, tilemaps and lighting. Render a pixelforge-scene manifest (placements, tilemaps with autotile legends and neighbour rules, named cues, sequences, trajectories, attachments, ground sorting, shade placements, palette themes and optional multiplied or ramp lighting) at a time in milliseconds and return the image plus placements and warnings. Assets may be inline recipes, files under the server root, or {"revision": id}. Pass export: true to write a replayable scene bundle to a new folder, and sequence: { fps, size } to write the scene as numbered PNG frames for a video editor.

Input parameters:

- `density` (boolean)
- `export` (boolean)
- `lit` (boolean)
- `scale` (integer)
- `scene` (object, required)
- `sequence` (object): Also write a numbered PNG sequence for a video editor into sequence/: one PNG per video frame with alpha, plus sequence.json and a README with the ffmpeg command for a .mov. The result reports timing…
- `time` (integer)
- `view`

### `pixel_import` (~115 tokens)

Turn existing pixel art or a sprite sheet PNG into an editable recipe. Import a native-resolution 8-bit RGB/RGBA PNG (optionally sliced by an unscaled atlas) as an editable recipe without changing any pixel. Pass data (base64 PNG) or path (inside the server root). Saves the recipe as a revision.

Input parameters:

- `atlas` (object)
- `data` (string): Base64 PNG bytes.
- `name` (string)
- `path` (string): PNG file path relative to the server root.

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/skulitom-pixelbolt/pixelbolt#diagnostics

## Score history

- 2026-10-18: 52
- 2026-10-17: 50
- 2026-10-16: 50
- 2026-10-15: 50
- 2026-10-14: 50
- 2026-10-13: 23

## Common questions

### What is the Pixelbolt pixel art toolkit MCP server?

Pixelbolt pixel art toolkit is an MCP server listed in the public MCP registry as io.github.skulitom/pixelbolt. Pixel art and sprite animation for agents: JSON recipes to PNG, APNG, GIF and sprite sheets. This page covers its MCPB bundle (https://github.com/skulitom/Pixelbolt/releases/download/v0.9.0/pixelbolt.mcpb).

### Is the Pixelbolt pixel art toolkit MCP server safe to use?

Pixelbolt pixel art toolkit scores 52 out of 100 on VerifyMCP. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Pixelbolt pixel art toolkit MCP server expose?

Pixelbolt pixel art toolkit exposes 8 tools: pixel_help, pixel_validate, pixel_inspect, pixel_patch, pixel_render, and 3 more. Their descriptions and schemas cost roughly 2,201 tokens of context every time the server is loaded.

### What licence is the Pixelbolt pixel art toolkit MCP server under?

Pixelbolt pixel art toolkit declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- Repository: https://github.com/skulitom/Pixelbolt
- Changelog RSS feed: https://verifymcp.io/servers/skulitom-pixelbolt/pixelbolt.xml
- Changelog JSON feed: https://verifymcp.io/servers/skulitom-pixelbolt/pixelbolt.json
- HTML version of this page: https://verifymcp.io/servers/skulitom-pixelbolt/pixelbolt
