Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

com.spriteship/spriteship

REMOTE · SPRITESHIP.COM

Build a game's 2D art layer with your agent: characters, animations, tilesets, levels, 5 engines.

Available components

0 this week 83 Trust /100

Last scanned (20 hours ago)

Scores higher than 90% of remote servers

Reachable. Last reached 16 Oct 2026.

Category Design and Media

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security80
Transport & Reachability100
Schema Quality & AI Usability63
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 21100 tokens (~234/item across 90 items; 90 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage90
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 71% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 90 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 91 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 1 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “get_map” rewrote its description, which is the text the model reads security
    • Tool “set_asset_collision_body” rewrote its description, which is the text the model reads security
    • Tool coverage: 82% → 71% ▼ functional
    • Schema quality: 269 → 234 ▲ functional
    • New tool “commit_map_draft” functional
    • New tool “get_map_draft” functional
    • New tool “get_project_export_command” functional
    • New tool “get_project_export_review” functional
    • New tool “get_project_export_status” functional
    • New tool “list_map_revisions” functional
    • New tool “map_authoring_context” functional
    • New tool “map_authoring_schema” functional
    • New tool “map_project_library” functional
    • New tool “map_workbench_context” functional
    • New tool “prepare_map_draft” functional
    • New tool “prepare_map_edits” functional
    • New tool “preview_map_draft” functional
    • New tool “restore_map_revision” functional
    • New tool “run_map_playtest” functional
    • New tool “set_asset_collision_roles” functional
    • New tool “set_character_collision_roles” functional
    • New tool “start_project_export” functional
    • “set_asset_collision_body” reworded the description of “collisionBody” cosmetic
  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 24 Sept 26 +4
    • HTTPS: unverified → pass ▲ security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “suggest_motion_hint” rewrote its description, which is the text the model reads security
    • Tool “animate_asset” rewrote its description, which is the text the model reads security
    • Tool “create_asset” rewrote its description, which is the text the model reads security
    • Tool “create_character” rewrote its description, which is the text the model reads security
    • Tool “fix_asset_seams” rewrote its description, which is the text the model reads security
    • Tool “generate_character_animation” rewrote its description, which is the text the model reads security
    • Tool “generate_pose” rewrote its description, which is the text the model reads security
    • Tool “regen_asset_pair” rewrote its description, which is the text the model reads security
    • New tool “resume_pose” functional
    • New tool “resume_ui_pack_batch” functional
  • 23 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
  • 22 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “import_asset_image” rewrote its description, which is the text the model reads security
    • New tool “approve_automatic_pose_fallback” functional
  • 21 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “generate_character_animation” rewrote its description, which is the text the model reads security
  • 20 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 16 Oct 2026 · Probed https://spriteship.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=spriteship.com CN=WE1,O=Google Trust Services,C=US 28 Aug 2026 26 Nov 2026 ECDSA 256 ECDSA-SHA256 eac94809b1ef95d70e8de8b7ad9e1d0e
SANs: spriteship.com, media.spriteship.com, *.media.spriteship.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of spriteship.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
spriteship.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://spriteship.com/mcp Verified 200
http (plaintext) http://spriteship.com/mcp HTTPS enforced 308 https://spriteship.com/mcp
MCP tools · 90 exposed · ~19,936 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
list_ui_fonts ~29

Read the retained licensed Google Fonts catalog. Existing font selection, preview and export cost zero customer credits.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_ui_packs ~28

List owned UI Packs, optionally within a project.

NameTypeReqDescription
projectIdstring––

No output schema declared.

No examples provided.

map_authoring_context ~78

Read project art, material recipes, limits, shape classes, current map JSON and revision. Inspect the returned artwork visually before selecting assets. Read your game code to establish movement/mechanics; SpriteShip fields are flexible metadata.

NameTypeReqDescription
assetOffsetinteger––
mapIdstring––
projectIdstringyes–

No output schema declared.

No examples provided.

map_authoring_schema ~42

Read the authoritative JSON Schema before composing a map. Use assetRef instead of inventing image URLs. Shapes, custom properties and paths retain their existing editor meanings.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

map_project_library ~41

Read owned project maps, reusable detached assemblies, destination spawn IDs, room links and broken-link diagnostics. No browser required.

NameTypeReqDescription
projectIdstringyes–

No output schema declared.

No examples provided.

map_workbench_context ~46

Read saved camera, reference brief, gameplay, assemblies, links, tests and per-engine support. Runtime availability is distinct from playability evidence.

NameTypeReqDescription
mapIdstringyes–

No output schema declared.

No examples provided.

mirror_animation ~132

FREE, no AI. Flip every cached frame of ONE animation horizontally and rebuild it — the cheap way to get walk_left from walk_right. NOT idempotent: calling it twice flips the animation back to its original orientation, so call it once and check the result before calling again. Frame count and order are preserved, so any frame selection stays valid. To keep BOTH directions, call duplicate_animation first and mirror the copy. Returns { jobId, mirrored } (frames flipped) — poll get_job.

NameTypeReqDescription
animationstringyesAnimation slug to flip in place.
characterIdstringyesCharacter id.

No output schema declared.

No examples provided.

phase_split ~174

FREE, no AI. Carve ONE multi-state clip into separate game-phase animations by frame windows — the classic case is a jump becoming crouch/rise/fall/land, with fall looping while airborne and the rest playing once. Each phase becomes a real exportable animation; the source animation is untouched. Jump-family animations often carry a ready-made suggestion: get_character → animations[<anim>].phaseProposal — pass its phases through verbatim. Frame windows index the FULL capture. Returns { jobId, created } — poll get_job.

NameTypeReqDescription
animationstringyesSource animation slug (e.g. "jump").
characterIdstringyesCharacter id.
phasesarrayyes2-6 phase windows. animations[<anim>].phaseProposal from get_character usually supplies these verbatim.

No output schema declared.

No examples provided.

plan_sync ~151

Compare the versions in assets/spriteship/spriteship.lock.json with current SpriteShip state in one call. Returns unchanged/changed/unavailable per character, asset, map, or UI pack; exact animation frame-count/FPS/collision, revision, runtime-intent, map-shape and UI component summaries when the previous lock entry includes the snapshot returned by an earlier call; and explicit fetch/download/review-removal actions. Existing v1 lock files without snapshots still detect version changes, then upgrade by saving each returned snapshot. Requests may contain 100 entries; honor Retry-After if the weighted sync budget is reached. Never delete local files for an unavailable entity without user confirmation.

NameTypeReqDescription
entitiesarrayyes–

No output schema declared.

No examples provided.

prepare_map_draft ~156

FREE. Resolve owned artwork and validate a complete editable map without changing the live map. Preserve stable placement IDs on edits and pass expectedRevision from context. Returns immutable draft ID/hash and graph-only topology report. Inspect canonical overview and camera-sized region images before commit; no browser is required. Walkable surfaces/transitions are ground-view only, visualParts/reveal apply across game types. Graph reachability is not body-clearance or gameplay proof. Missing assets use existing quoted generation with user approval.

NameTypeReqDescription
documentobjectyesComplete map JSON conforming to map_authoring_schema.
expectedRevisioninteger––
mapIdstring––
namestringyes–
projectIdstringyes–

No output schema declared.

No examples provided.

prepare_map_edits ~90

FREE. Apply up to 200 stable-ID operations against expectedRevision. Returns a validated draft and semantic diff without changing the live map. Preview/test then use commit_map_draft. Settings use null to remove optional values. Deleting referenced objects must repair their dependencies in the same batch.

NameTypeReqDescription
expectedRevisionintegeryes–
mapIdstringyes–
operationsarrayyes–

No output schema declared.

No examples provided.

preview_map_draft ~168

FREE. Render the actual map composition using canonical terrain/export rendering. Omit viewport for an overview, or request world-pixel viewport and scale for camera-sized inspection (2048px output limit). Inspect this image and fix problems before saving; image output is sufficient for visual review without browser automation. Split-part clips and walking-surface draw order use canonical semantics. This static preview does not prove playability; test mechanics in the target engine.

NameTypeReqDescription
draftIdstringyes–
scalenumber–Requested output pixels per world pixel; default 1. Capped to 2048 output pixels on the longest edge. Read returned scale for the effective value.
viewportobject–Omit for the entire map. Use camera-sized regions to inspect terrain and placement detail.

No output schema declared.

No examples provided.

rebuild_character ~175

FREE, no AI. Re-render one animation from its durable cached frames by passing animation. This is the repair/refresh tool: use it when a sheet looks stale or wrong after a series of edits, or when a previous rebuild failed. It never re-generates art, so it cannot change what the character looks like — only how the frames are packed and normalized. Omit animation only for an explicit full-character maintenance rebuild. Exact pose-owned scale references make the targeted path sibling-independent; legacy captures retain their compatibility sizing fallback. Image-only characters return NO_ANIMATIONS_TO_REBUILD without creating a job. A targeted rebuild returns an operationId/jobId — poll get_job.

NameTypeReqDescription
animationstring–Animation slug to rebuild independently. Omit only to rebuild the whole character.
characterIdstringyesCharacter id.

No output schema declared.

No examples provided.

recover_ui_pack_components ~86

Crop missing slots from a retained original PNG after visual review. No provider call or credit charge. Supply original-pixel rectangles and the current source hash; already delivered siblings remain untouched. Inspect validation after recovery.

NameTypeReqDescription
batchIdstringyes–
cropsarrayyes–
packIdstringyesOwned UI Pack ID.
sourceHashstringyes–

No output schema declared.

No examples provided.

regen_asset_pair ~346

PAID (Wan 3.0 costs 150 credits/second: 300 credits at the default 2-second settings). Re-run video generation for a SINGLE motion pair of an animated asset, leaving its other pairs alone. The new take lands as an additional iteration on that pair — earlier takes are preserved. DEFAULTS TO A COST PREVIEW — see the dryRun argument. Returns { jobId } — poll get_job.

NameTypeReqDescription
assetIdstringyesAsset id or slug.
dryRunboolean–DEFAULTS TO TRUE. While true this returns only a cost quote ({ estimatedCredits, balance, spendCapDaily, spentLast24h, capRemaining }) and executes nothing. Show the user estimatedCredits, then ask a…
durationSecondsnumber–Informs the cost estimate only — the dispatched job uses the pair's own duration.
idempotencyKeystring–Optional Idempotency-Key for the real (dryRun:false) call. Omit and one is minted per call. Reuse the SAME value when retrying a call that failed with ENTITY_BUSY / 402 / 429 so the retry cannot doub…
motionPromptstring–Replacement motion prompt for this take.
pairIdstringyesMotion pair id (from get_asset).
videoModelstring–Override the video model.

No output schema declared.

No examples provided.

rematte_animation ~192

FREE, no AI. Try a cleaner background removal on ONE animation's source video — the repair for a quality read showing deliveredIssues containing "matte" (green fringe, flickering holes, ragged edges). The cleaner version is kept ONLY if it measures better, so this can never make the animation worse; the motion itself is unchanged. One attempt per capture: if the same frames were already tried (matteRepair stamp), a repeat call is a cheap re-check + free re-render — regenerate the animation for a fresh take instead. Fails with SOURCE_VIDEO_EXPIRED when the source video aged past its 30-day retention. Returns { jobId } — poll get_job, then re-read the character's quality block: "matte" gone = the cleaner version shipped.

NameTypeReqDescription
animationstringyesAnimation slug to re-matte in place.
characterIdstringyesCharacter id.

No output schema declared.

No examples provided.

rename_ui_component ~86

Rename an owned component for free. Supply its current name as expectedName to reject stale edits. Preserves IDs, artwork and historical revisions; re-sync updates its exported display name.

NameTypeReqDescription
componentIdstringyesOwned component ID within this pack.
expectedNamestringyes–
namestringyes–
packIdstringyesOwned UI Pack ID.

No output schema declared.

No examples provided.

replace_ui_component_png ~89

Save a locally edited PNG, revalidate behavior metadata and preserve the prior revision. Free. Maximum PNG 4 MB and 2048 pixels per axis; no SVG artwork editing.

NameTypeReqDescription
componentIdstringyesOwned component ID within this pack.
imageBase64stringyes–
packIdstringyesOwned UI Pack ID.
revisionIdstringyes–

No output schema declared.

No examples provided.

reprocess_asset ~349

FREE and SYNCHRONOUS (no jobId — do not poll), no AI. Rebuild a staged, tileset, or terrain collection's presentation layout: anchor chooses the shared fixed point and cellOffsets apply per-item nudges. Modern manifest revisions are recomposed from their independent item PNGs and are never re-sliced; legacy staged and tileset revisions retain the source-sheet re-cut path, where cellInset can remove separator bleed. For a manifest revision, fitItemIndices makes those items fill their shared cell as much as possible while preserving aspect ratio. Legacy terrain must be upgraded to independent items first. Omitted fields keep the revision's current values; send cellOffsets:[] or cellInset:0 to clear. Returns a grid summary; call get_asset afterwards for fresh presigned tile URLs.

NameTypeReqDescription
anchorstring–Where each sprite is placed inside its cell. "bottom-middle" is the default for sprites that stand on the ground.
assetIdstringyesAsset id or slug (staged, tileset, or manifest-backed terrain).
cellInsetinteger–Legacy source sheets only: pixels shaved off every side of each cell to drop neighbouring bleed (0-32). Ignored for independent-item manifests. Pass 0 to clear.
cellOffsetsarray–Per-cell pixel nudges, in tile-index order. Pass [] to clear all nudges.
fitItemIndicesarray–Independent-item manifests only: itemIndex values to fit to the shared cell while preserving aspect ratio. This is a one-shot operation; omitted items keep their saved size.
iterationIdstringyesCollection revision (iteration) id to arrange.

No output schema declared.

No examples provided.

restore_map_revision ~66

FREE. Restore a saved revision as a new revision, preserving history. Pass the latest expectedRevision and reuse requestId on retry.

NameTypeReqDescription
expectedRevisionintegeryes–
mapIdstringyes–
requestIdstringyes–
revisionintegeryes–

No output schema declared.

No examples provided.

resume_pose ~70

FREE. Resume a failed pose when list_character_poses reports removalRecoveryAvailable. Reuses the saved image; never generates or charges for another image. Respect the retry-after time on cooldown errors, then poll list_character_poses.

NameTypeReqDescription
characterIdstringyes–
poseIdstringyes–

No output schema declared.

No examples provided.

resume_ui_pack_batch ~69

FREE. Resume background removal when a failed/uncertain illustrated batch reports removalRecoveryAvailable. Reuses its saved artwork and original billing identity. Respect cooldown errors; never create a replacement paid batch.

NameTypeReqDescription
batchIdstringyes–
packIdstringyesOwned UI Pack ID.

No output schema declared.

No examples provided.

retry_job ~561

FREE when the original KIE task or a validated stored artifact can be recovered; otherwise PAID only for the sub-steps that still need to run. Re-runs the FAILED step of a job whose status is "error" — the prompt, model and every setting are already on the job, so this is the cheap way out of a failure instead of creating the whole thing again. Work that already succeeded is NOT redone or re-charged: a generation that failed after its image landed reuses the paid result. get_job reports retryMode, retryRecovery and retryCost, and the dryRun quote here is that same number. If get_job reports failureAction:"edit_input", do not use this tool; edit the prompt or references and create a new generation. A non-retryable phase answers 400 JOB_NOT_RETRYABLE — some late phases hold partially-committed state and deliberately have no blanket retry. Eligible overhead Material jobs use stored_artifact recovery to repair the original without new generation or background removal. A confirmed failed repair is not offered again by that processor; refresh get_job and honor server eligibility, even below the general two-attempt limit. No automatic refund is implied. Confirmed background-removal provider failures already fall back automatically on the server, without a new user charge. There is no daily removal retry lockout; honor reported cooldowns and unknown-task safeguards if recovery still fails. For already-authorized generation, automatically execute a zero-credit recovery quote and poll it; no renewed approval or refund. Never duplicate a running recovery. Limit automatic retries to two per failed job per session; stop on recurring failure or any paid quote. DEFAULTS TO A COST PREVIEW — see the dryRun argument. Returns { jobId } — poll get_job.

NameTypeReqDescription
dryRunboolean–DEFAULTS TO TRUE. While true this returns only a cost quote ({ estimatedCredits, balance, spendCapDaily, spentLast24h, capRemaining }) and executes nothing. Show the user estimatedCredits, then ask a…
idempotencyKeystring–Optional Idempotency-Key for the real (dryRun:false) call. Omit and one is minted per call. Reuse the SAME value when retrying a call that failed with ENTITY_BUSY / 402 / 429 so the retry cannot doub…
jobIdstringyesId of a job whose status is "error" (from get_job).

No output schema declared.

No examples provided.

retry_unusable_result ~349

Quality Retry is the subscription compensation for AI art that invents details, ignores the request, or arrives unusable, letting the user try again without asking support for a credit refund. Costs ONE quality retry and ZERO credits; it is not a refund and preserves the original. Use get_subscription_allowances first and proceed only when features.retry is true; explain the purpose/cost and obtain approval before confirmed=true. This is distinct from retry_job (technical recovery) and ordinary paid revision. Do not use for arbitrary new ideas or imported still images. Persist requestId and reuse it after network errors; a returned allowance requires a new requestId.

NameTypeReqDescription
animationIdstring––
confirmedboolean–True only after the user approved using one quality retry.
entityIdstringyes–
issueDetailsstring–Required for reason=other. Describe the unusable result in up to 1000 characters; stored for support, not sent to AI or used to change the original prompt. Preserve on requestId replay.
kindstringyesUse character_pose with poseId for a completed generated pose with saved inputs, creating a new pose on the same character. Extracted/mirrored poses are excluded. Use character_animation for ordinary…
poseIdstring––
reasonstringyes–
requestIdstringyes–
revisionIdstring––

No output schema declared.

No examples provided.

revise_asset ~504

PAID. Generate a new revision of an asset from feedback text. The previous revision is kept — revisions are additive, never destructive. Environment Kit (`terrain`) assets also accept the legacy templateId to pull a whole category pack (edges / grounds / props / slopes / textures / structures). Passing sourceItemIndex uses that extracted item as the visual source for a complete new related collection: the source stays untouched and every output is a separate new asset listed in get_job.assetIds. The default dry run returns the exact semantic revision plan and planToken; show the preview to the user, then resend the unchanged request with that token. DEFAULTS TO A PLAN + COST PREVIEW — see dryRun. Returns { jobId } — poll get_job.

NameTypeReqDescription
assetIdstringyesAsset id or slug.
dryRunboolean–DEFAULTS TO TRUE. While true this returns only a cost quote ({ estimatedCredits, balance, spendCapDaily, spentLast24h, capRemaining }) and executes nothing. Show the user estimatedCredits, then ask a…
idempotencyKeystring–Optional Idempotency-Key for the real (dryRun:false) call. Omit and one is minted per call. Reuse the SAME value when retrying a call that failed with ENTITY_BUSY / 402 / 429 so the retry cannot doub…
imageModelstring–Override the image model.
planTokenstring–REQUIRED when dryRun=false. Copy unchanged from the immediately preceding dry-run response.
promptstring–What to change. Required unless templateId is given (terrain).
sourceItemIndexinteger–Collection item to seed a related collection. Preserves the source and creates one new asset per output.
sourceIterationIdstring–Revise from a specific earlier revision instead of the current one.
templateIdstring–Environment Kit (`terrain`) only — legacy focused category pack, not a dashboard prompt-starter ID.
textureKindstring–Texture only — 4-way seamless fill, or a directional left-right strip. Defaults to the asset's existing kind.

No output schema declared.

No examples provided.

revise_ui_pack_png ~200

Get a cost preview for a 100-credit selected PNG revision, then pass its signed quote to execute. SVG artwork editing is Phase 2; it is not enabled by this tool. Siblings and prior revisions remain available.

NameTypeReqDescription
componentIdstringyesOwned component ID within this pack.
dryRunboolean–Show the user estimatedCredits and ask whether to proceed, unless already authorized in this session. Prefer the client native question UI with Approve / Decline / Discuss choices; otherwise accept a…
idempotencyKeystring–Reuse the same key when retrying a confirmed request.
packIdstringyesOwned UI Pack ID.
quoteobject–Unmodified signed quote returned by the dry-run. Required when dryRun is false.
requestobject––

No output schema declared.

No examples provided.

run_map_playtest ~100

FREE bounded browser-free route/clearance or deterministic controller replay. Choose exactly one saved mapId or prepared draftId. Returns map hash, declared body/profile, trace, events, diagnostics and limitations. A passed movement test is not proof of combat, scripts or destination-engine gameplay. Save reusable scenarios in document.playtests; inspect canonical images separately.

NameTypeReqDescription
draftIdstring––
mapIdstring––
scenario–yes–

No output schema declared.

No examples provided.

save_project_style_guide ~60

Adopt a new immutable guide revision with optimistic concurrency. Colors, typography and camera apply to future generation, never silently rewrite prior assets.

NameTypeReqDescription
expectedRevisionintegeryes–
guideobjectyes–
projectIdstringyes–

No output schema declared.

No examples provided.

save_ui_component_defaults ~79

Save supported fill, text and layout values for an exact current revision. Free and deterministic; cannot manufacture unsupported capabilities or edit arbitrary SVG geometry.

NameTypeReqDescription
componentIdstringyesOwned component ID within this pack.
configurationobjectyes–
packIdstringyesOwned UI Pack ID.
revisionIdstringyes–

No output schema declared.

No examples provided.

save_ui_pack_style ~70

Save a pack-specific style for future quotes using the current pack updatedAt. Free; preserves project defaults and existing component revisions. A stale timestamp is rejected.

NameTypeReqDescription
expectedUpdatedAtstringyes–
packIdstringyesOwned UI Pack ID.
styleGuideobjectyes–

No output schema declared.

No examples provided.

select_frames ~195

FREE, no AI. Curate which frames an animation keeps, by index into the full capture, in order. Pass an empty array to reset to all frames. Non-destructive: the full capture is retained, so you can re-select at any time. Use get_frames with format:"sheet" first to choose indices. Returns a jobId — poll get_job.

NameTypeReqDescription
animationstring–Animation slug — required when target=character.
compositingobject–Characters only — apply scale/offset in the same rebuild.
entityIdstringyesCharacter id (target=character) or asset id/slug (target=assetPair).
framesarrayyesOrdered frame indices to keep. Empty array resets to the full capture.
pairIdstring–Motion pair id — required when target=assetPair.
targetstringyesA character animation, or an asset motion pair.

No output schema declared.

No examples provided.

set_asset_collision_body ~370

FREE and SYNCHRONOUS (no jobId — do not poll). Author the PHYSICS shape a game should build its collider from for an asset revision: rect, circle, polygon, compound of 1..16 simple disconnected bodies, or none, in NORMALIZED coordinates (0..1 fractions of the sprite/tile cell, origin top-left; a circle radius is a fraction of WIDTH). Set tileIndex to give one tile of a tileset/staged asset its own shape — it overrides the asset-level default for that tile. Pass collisionBody: null to clear/inherit, or {kind:"none"} to explicitly disable collision including bbox fallback. Compound children use the same cell space; preserve open archways between them. This is what stops a game from falling back to the sprite bounding box. The shape flows into every map and asset export made AFTER this edit — Tiled per-tile objectgroups, the Tiled map Collision layer, and the Phaser/Godot/Unity/GameMaker colliders — and it is resolved from the asset at export time, so it applies to tiles that were already placed on a map before you set it. Distinct from the FOOTPRINT, which is only the level editor's snap/tessellation shape and has no physics meaning.

NameTypeReqDescription
assetIdstringyesAsset id or slug.
collisionBody–yesNormalized asset shape, compound of 1..16 simple shapes, explicit none for passable scenery, or null to clear/inherit.
iterationIdstringyesRevision (iteration) id to stamp.
tileIndexinteger–Target one collection tile (tileset/staged/terrain). Coordinates are normalized to its padded presentation cell, not the cropped item image. Omit for the asset-level default.

No output schema declared.

No examples provided.

set_asset_collision_roles ~138

FREE, synchronous metadata edit for an owned revision or collection tileIndex. Each independent role accepts a normalized simple body, disconnected compound, or none. Coordinates refer to the full sprite or padded collection cell; radius is a fraction of width. Omitted roles stay unchanged, null clears an override, none disables. Tile roles override asset roles independently. hitboxFrames is not supported on assets. Legacy collisionBody remains the movement/hurtbox fallback; hitbox requires explicit configuration. No paid job.

NameTypeReqDescription
assetIdstringyes–
collisionRoles–yes–
iterationIdstringyes–
tileIndexinteger––

No output schema declared.

No examples provided.

set_asset_runtime_intent ~219

FREE and SYNCHRONOUS (no jobId — do not poll). Declare how an asset revision should be rendered at runtime: plain_image, particle_emitter, deformable_strip, repeat_fill, nine_slice or shader_effect. path_follow is accepted only for backward compatibility; do not set it on new assets. Draw and configure motion per placement in the level editor instead. The intent and its config flow into every engine export made AFTER this edit. Set tileIndex to target one tile of a tileset/staged asset.

NameTypeReqDescription
assetIdstringyesAsset id or slug.
configobject–Intent-specific config. Validated and clamped server-side; unknown keys are dropped.
iterationIdstringyesRevision (iteration) id to stamp.
runtimeUsestringyesThe render intent. plain_image clears any previous intent. path_follow is legacy-only; new path motion is authored per placement in the level editor.
tileIndexinteger–Target one tile (tileset/staged only).

No output schema declared.

No examples provided.

set_character_collision_roles ~176

FREE, synchronous metadata edit. Independent normalized full-frame movement, hurtbox and hitbox bodies. Character movement permits a simple body or none; hurtbox/hitbox also permit compound. Omitted keys stay unchanged; null clears that scoped override; none explicitly disables a role. Scope defaults to character base; select one poseId or animation. Only animation scope accepts hitboxFrames (inclusive zero-based delivered indices, maximum 64 windows). Omitted windows mean the explicitly configured hitbox is active for the whole animation; [] disables it for all frames. A hurtbox never inherits the new movement shape. Legacy collisionBody fallback remains supported. No paid job or implicit combat/faction rules.

NameTypeReqDescription
animationstring––
characterIdstringyes–
collisionRoles–yes–
poseIdstring––

No output schema declared.

No examples provided.

start_project_export ~102

FREE. Queue a durable complete Phaser, Godot or Unity project export. First review with get_project_export_review and pass its version and selected starting map/player. Returns a job ID immediately; poll get_project_export_status until ready. No generation credits are spent.

NameTypeReqDescription
enginestringyes–
expectedVersionstringyes–
playerCharacterIdstringyes–
projectIdstringyes–
startMapIdstringyes–

No output schema declared.

No examples provided.

suggest_motion_hint ~325

PAID but very cheap (one configured text-model call) and SYNCHRONOUS — returns { hint, cost } inline, no jobId. Reads a STAGED asset's prompt plus the stage pairs you intend to animate and writes the one-sentence motion description to pass as animate_asset's motionHint. Use it when you are about to spend 300 credits on a default video and are unsure what to write: a few credits here protects that spend. Object States assets only — any other type answers 400.

NameTypeReqDescription
assetIdstringyesObject States asset id or slug.
dryRunboolean–DEFAULTS TO TRUE. While true this returns only a cost quote ({ estimatedCredits, balance, spendCapDaily, spentLast24h, capRemaining }) and executes nothing. Show the user estimatedCredits, then ask a…
idempotencyKeystring–Optional Idempotency-Key for the real (dryRun:false) call. Omit and one is minted per call. Reuse the SAME value when retrying a call that failed with ENTITY_BUSY / 402 / 429 so the retry cannot doub…
pairsarray–The stage transitions you plan to animate — context for the hint, nothing is generated from them.

No output schema declared.

No examples provided.

suggest_project_style ~56

Suggest palette, treatment and existing font IDs from the available catalog. Free to customers; suggestions require explicit save to adopt.

NameTypeReqDescription
directionstringyes–
previewTextstring––
projectIdstringyes–

No output schema declared.

No examples provided.

validate_ui_component_layout ~99

Revalidate an exact current revision and apply only proven deterministic runtime layout repairs, including bar fill openings, panel text/slice regions, and explicitly named SVG button-state separation. Free; preserves original sources. This is not arbitrary SVG artwork editing and cannot promise a successful capability result.

NameTypeReqDescription
componentIdstringyesOwned component ID within this pack.
packIdstringyesOwned UI Pack ID.
revisionIdstringyes–

No output schema declared.

No examples provided.

whoami ~182

Verify the API key and report which powers it has. Returns { userId, username, keyId, keyName, scopes, mapLimits }. mapLimits contains maxMapsPerProject (null means unlimited), maxAreaPx (width × height allowance per map), maxWidthPx and maxHeightPx (independent technical side limits), and canResizeMaps. Paid plans allow any aspect ratio within both area and side limits. Admin accounts receive Studio map capacity even without a subscription. Read effective limits and the saved map before recommending gameplay-sized dimensions; starter dimensions are not an account limit. Free is fixed at 720 × 480; saved larger maps remain editable/exportable, but resizing requires a subscription. Map creation and editing use the web editor. Call this first when a tool fails with a scope error — the scopes array tells you what this key can and cannot do.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

Install

How do I install the com.spriteship/spriteship MCP server?

com.spriteship/spriteship is a hosted endpoint at https://spriteship.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · spriteship.com

# add to Claude Code
claude mcp add --transport http com-spriteship-spriteship 'https://spriteship.com/mcp'
Common questions

What is the com.spriteship/spriteship MCP server?

com.spriteship/spriteship is an MCP server listed in the public MCP registry as com.spriteship/spriteship. Build a game's 2D art layer with your agent: characters, animations, tilesets, levels, 5 engines. This page covers its hosted endpoint (https://spriteship.com/mcp).

Is the com.spriteship/spriteship MCP server safe to use?

com.spriteship/spriteship scores 83 out of 100 on VerifyMCP. 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 com.spriteship/spriteship MCP server expose?

com.spriteship/spriteship exposes 90 tools: get_project_export_review, start_project_export, get_project_export_status, get_project_export_command, get_integration_status, and 85 more. Their descriptions and schemas cost roughly 19,936 tokens of context every time the server is loaded.

Does the com.spriteship/spriteship MCP server require authentication?

No. We connected to com.spriteship/spriteship without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the com.spriteship/spriteship MCP server still maintained?

com.spriteship/spriteship is still listed as active in the MCP registry. We last reached this channel on 16 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.