protogrid

Search / ai.retrodiffusion/pixel-art

Retro Diffusion Pixel Art

R1· needs a key

Generate authentic pixel art - sprites, animations, and tilesets - from any MCP client

v1.1.0 · active · repository · website · descriptor JSON · versions

An agent can connect on its own if it already holds PIXEL_ART_TOKEN.Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.
Quality80good
Trust89of 100
Uptime, 30 days100%
Latency p50329 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "pixel-art": {
      "type": "http",
      "url": "https://mcp.retrodiffusion.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${PIXEL_ART_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http pixel-art https://mcp.retrodiffusion.ai/mcp --header "Authorization: Bearer ${PIXEL_ART_TOKEN}"
[mcp_servers.pixel-art]
url = "https://mcp.retrodiffusion.ai/mcp"
bearer_token_env_var = "PIXEL_ART_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "pixel-art": {
      "type": "remote",
      "url": "https://mcp.retrodiffusion.ai/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:PIXEL_ART_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "pixel-art": {
      "type": "http",
      "url": "https://mcp.retrodiffusion.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${PIXEL_ART_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=pixel-art&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLnJldHJvZGlmZnVzaW9uLmFpL21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke1BJWEVMX0FSVF9UT0tFTn0ifX0%3D"
}
{
  "servers": {
    "pixel-art": {
      "type": "http",
      "url": "https://mcp.retrodiffusion.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${PIXEL_ART_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "pixel-art": {
      "httpUrl": "https://mcp.retrodiffusion.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${PIXEL_ART_TOKEN}"
      }
    }
  }
}
extensions:
  "pixel-art":
    enabled: true
    name: "pixel-art"
    type: streamable_http
    uri: "https://mcp.retrodiffusion.ai/mcp"
    headers:
      "Authorization": "Bearer ${PIXEL_ART_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${PIXEL_ART_TOKEN}. The registry never accepts secret values.

Quality 80 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations33 of 33 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • warn
    tools.token_costabout 15,804 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes24 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

33 tools, about 15,804 tokens to load them all · tool set 9534bd5f946f · tools last changed 2026-09-27 · checked 2026-10-20 20:14 UTC

Tool changes

  • start_lowpoly_generatechangedinput schema
  • estimate_lowpoly_costchangeddescription, input schema
    before

    Price a Low-Poly job without starting it (free). For generate with size auto, returns the size auto would pick.

    after · 56% of words in common

    Price a Low-Poly job without starting it (free). For generate with size auto, returns the size auto would pick. style prices a generate in that style (Lite styles cost less); other operations use the model's own style.

  • start_lowpoly_generatechangeddescription, input schema
    before

    Start building a low-poly 3D model with pixel-art textures from a prompt and/or reference images (paid). Optional input_palette (a palette image, as for create_inference): the model uses only its colors, and revisions and animations keep them. Returns task_id and asset_id immediately; poll get_lowpoly_job(task_id) until it succeeds (usually 1-5 minutes). Then use export_lowpoly_model for .glb/.bbmodel/Minecraft/OBJ files, start_lowpoly_revise to change it, or start_lowpoly_animate to add motion. Failed jobs are refunded automatically; never restart a running job.

    after · 86% of words in common

    Start building a low-poly 3D model with pixel-art textures from a prompt and/or reference images (paid). reference_models puts your existing models (by asset_id) into it exactly, e.g. "a tavern with my table". Optional input_palette (a palette image, as for create_inference): the model uses only its colors, and revisions and animations keep them. Returns task_id and asset_id immediately; poll get_lowpoly_job(task_id) until it succeeds (usually 1-5 minutes). Then use export_lowpoly_model for .glb/.bbmodel/Minecraft/OBJ files, start_lowpoly_revise to change it, or start_lowpoly_animate to add motion. Failed jobs are refunded automatically; never restart a running job.

  • start_lowpoly_rerigadded

    Rebuild the skeleton of a rigged Low-Poly model version (paid, priced by size), e.g. to move a pivot or add bones. The version is updated in place; animations whose bones the new rig still has are kept. Versions without a rig are rigged for free by their first animation instead. Poll get_lowpoly_job(task_id).

  • start_lowpoly_splitadded

    Break a Low-Poly model into separate models (paid, priced by its size): a desk scene becomes the desk, a candle, each book, and so on. Each piece is a new model (and history item) facing the front, with its own textures, rig and animations; the original is unchanged. Poll get_lowpoly_job(task_id); its pieces list the new models.

  • start_lowpoly_animatechangedinput schema
  • start_lowpoly_revisechangedinput schema
  • start_lowpoly_generatechangedinput schema
  • estimate_lowpoly_costchangedinput schema
  • delete_lowpoly_animationadded

    Delete one animation from a Low-Poly model's version (free) and return the model. The rig stays, so animating again needs no new rig. This cannot be undone.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 89 / 100

provenance85
liveness100
freshness65
hygiene100

+repository +dns-namespace +website +reachable +uptime-100% ~updated-102d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.retrodiffusion.ai/mcp streamable-httpapi_key ${PIXEL_ART_TOKEN}yes100%329 ms2025-11-252026-10-20

Tools (33)

authenticateread-onlyAuthenticate this MCP session with a RetroDiffusion public API key.
create_inferenceGenerate images using the public /v2/inferences endpoint. For the highest quality prefer RD Pro styles (rd_pro__*); they support reference_images for character/style consistency, and most go as small as 12x12 px (check list_available_styles for each style's limits) — a small target size is never a reason to switch to a cheaper model family. Style ids are opaque strings with no uniform format (some RD Fast styles appear as "default:rd_flux"); take them verbatim from the catalog and never infer capabilities from an id's prefix. For animation styles prefer start_inference_job + get_inference_job instead — animations are long-running, and a failed animation is worth one retry with identical parameters (failures auto-refund). Field-tested workflow rules: N distinct items = N individually usable images (separate calls or num_images=N), never one sheet/grid image unless a sheet IS the deliverable. Variants of ONE image (seasons, day/night, palettes) = generate the base once, then derive each variant with the image_edit tool ("... keep the exact same composition") — independent generations of the "same" scene come out unrelated. Converting an existing image INTO pixel art is rd_pro__pixelate with input_image (16-256 px output, batch<=16); reference_images-based generation re-imagines rather than converts. To animate an image you already have, use rd_advanced_animation__* with input_image (fixed-format rd_animation__* styles generate their own subject from the prompt instead). To get the other directional views of a sprite you already have, use rd_advanced_animation__rotate with input_image (same 8-direction layout as rd_animation__8_dir_rotation). Use `input_image` for the main source image, `reference_images` for extra per-inference guidance, and `style_reference_images` only on create_user_style/update_user_style. The response excludes raw base64 image payloads to keep MCP outputs compact.
create_user_styleCreate a user style from the public RD Pro template using /v2/styles. Use `style_reference_images` and `style_reference_caption` for style-level references. These are baked into the custom style and are not the same as per-inference `reference_images`.
delete_lowpoly_animationdestructiveDelete one animation from a Low-Poly model's version (free) and return the model. The rig stays, so animating again needs no new rig. This cannot be undone.
delete_user_styledestructiveDelete a user style using /v2/styles/{style_id}. style_id can be either internal id or prompt_style/public_id.
estimate_edit_tool_costread-onlyValidate an edit-tool request and estimate its cost and duration without running it. Always free.
estimate_inference_costread-onlyEstimate generation cost using the public /v2/inferences endpoint with check_cost=true. Use `input_image` for the main source image, `reference_images` for extra per-inference guidance, and `style_reference_images` only on create_user_style/update_user_style.
estimate_lowpoly_costread-onlyPrice a Low-Poly job without starting it (free). For generate with size auto, returns the size auto would pick. style prices a generate in that style (Lite styles cost less); other operations use the model's own style.
export_lowpoly_modelExport a Low-Poly model for an engine or tool and return a hosted download URL (free). Engines (Godot, Unity, Unreal, three.js) and Blender get .glb; Blockbench gets .bbmodel; Minecraft gets a resource pack; .glb and .bbmodel include every animation. Animated GIFs, sprite sheets and MP4 videos need an animation name from the model.
fix_pixel_artread-onlyRecover the native pixel grid from enlarged, softened, AI-rendered, or compressed pixel art. Standard uses the native Rust detector. Neural uses the neural reconstruction engine and accepts optional target width and height values. This repairs existing art—it does not generate a new image. Both engines are free and share a limit of 10 requests per minute per API token. Provide exactly one source as base64 input_image or a public HTTPS image_url. URL input avoids the ALB request-body limit. Decoded images may contain up to 16 megapixels. Successful response JSON is limited to 850,000 bytes for AWS ALB compatibility.
get_balanceread-onlyGet credits/balance using the public /v2/inferences/credits endpoint.
get_inference_jobread-onlyCheck the status of an async generation started with start_inference_job. Statuses: pending, running, succeeded, failed. On success the result carries hosted output_urls (raw base64 payloads are excluded to keep MCP outputs compact).
get_inference_resultread-onlyRetrieve retained outputs for a synchronous generation. Use the request_id returned by create_inference to recover or refresh signed output URLs. This lookup is read-only; never repeat a paid create_inference call just because delivery URLs are temporarily missing.
get_lowpoly_jobread-onlyStatus of a Low-Poly job: pending, running, succeeded or failed. On success, the model with its versions, render URLs and animations. Poll every 10-20 seconds; jobs take minutes.
get_lowpoly_modelread-onlyA Low-Poly model: status, versions (render URLs, animations) and any running job.
get_lowpoly_pricingread-onlyLow-Poly (3D) sizes, prices per operation (generate / revise / animate), styles, limits and export targets. Free.
get_service_statusread-onlyCheck RetroDiffusion subsystem health (/v2/status, no auth). Useful before bulk generation runs.
get_style_usageread-onlyExplain how to use a public prompt_style from the RetroDiffusion API. Use this before create_inference if you are unsure whether a style expects `input_image`, supports per-inference `reference_images`, or whether you meant style-level `style_reference_images`.
list_available_modelsread-onlyReturn unique public model identifiers available in /v2/styles/selector.
list_available_stylesread-onlyList publicly available styles from /v2/styles/selector. Use this to discover valid prompt_style values plus style metadata such as require_input_image and supports_reference_images.
list_edit_toolsread-onlyList the enabled canvas edit tools from /v2/edit/tools with their fields, costs, and limits. Edit tools are the recommended way to post-process generated pixel art: background removal, palette conversion, color reduction, pixel correction, rotation, inpainting, outpainting, seam tiling, and prompt-driven edits.
list_inference_jobsread-onlyList your most recent async jobs, newest first (GET /v2/inferences/tasks). Recovery path: if a submission response was lost (timeout, disconnect) before the task_id arrived, the job was still accepted — find it here instead of re-submitting and being charged twice. Then poll it with get_inference_job.
list_lowpoly_modelsread-onlyThe account's Low-Poly models, newest first.
logoutClear the authenticated RetroDiffusion API key for this MCP session.
recolor_lowpoly_modelRecolor a Low-Poly model's textures with the image color tools and save the result as a new version (returns the model). Color Reducer and Palette Converter are free; Color Style Transfer costs $0.01. Later revisions and animations keep the new colors.
run_edit_toolRun a canvas edit tool on an image via /v2/edit/tools/{tool_id}. Free tools: color_reducer, palette_converter, pixel_correction, k_centroid_downscale, rotate. $0.01 tools: background_remover, color_style_transfer. Premium ($0.18): image_edit, inpainting, outpainting, seam_tiling. Use estimate_edit_tool_cost first for anything that charges — estimation is free. The edited image is returned in base64_images.
start_inference_jobStart a generation as an async job (POST /v2/inferences with async=true) and return a task_id. Recommended for advanced animations (rd_advanced_animation__*), other animation styles, and batches — they run for tens of seconds and can outlive a synchronous MCP call. Poll the returned task_id with get_inference_job roughly every 2-5 seconds.
start_lowpoly_animateAdd an animation to a Low-Poly model version, or change an existing one by passing its name as animation (paid, priced by size). The first animation rigs the model for free. Animations attach to the version; they do not create a new version. Poll get_lowpoly_job(task_id).
start_lowpoly_generateStart building a low-poly 3D model with pixel-art textures from a prompt and/or reference images (paid). reference_models puts your existing models (by asset_id) into it exactly, e.g. "a tavern with my table". Optional input_palette (a palette image, as for create_inference): the model uses only its colors, and revisions and animations keep them. Returns task_id and asset_id immediately; poll get_lowpoly_job(task_id) until it succeeds (usually 1-5 minutes). Then use export_lowpoly_model for .glb/.bbmodel/Minecraft/OBJ files, start_lowpoly_revise to change it, or start_lowpoly_animate to add motion. Failed jobs are refunded automatically; never restart a running job.
start_lowpoly_rerigRebuild the skeleton of a rigged Low-Poly model version (paid, priced by size), e.g. to move a pivot or add bones. The version is updated in place; animations whose bones the new rig still has are kept. Versions without a rig are rigged for free by their first animation instead. Poll get_lowpoly_job(task_id).
start_lowpoly_reviseChange an existing Low-Poly model (paid, priced by its size). The result is saved as a new version. Poll get_lowpoly_job(task_id). One job per model at a time.
start_lowpoly_splitBreak a Low-Poly model into separate models (paid, priced by its size): a desk scene becomes the desk, a candle, each book, and so on. Each piece is a new model (and history item) facing the front, with its own textures, rig and animations; the original is unchanged. Poll get_lowpoly_job(task_id); its pieces list the new models.
update_user_styleUpdate a public RD Pro user style using /v2/styles/{style_id}. Use `style_reference_images` and `style_reference_caption` for style-level references. These are baked into the custom style and are not the same as per-inference `reference_images`.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "ai.retrodiffusion/pixel-art",
  "title": "Retro Diffusion Pixel Art",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.retrodiffusion.ai/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "isRequired": true,
          "description": "Bearer <Retro Diffusion API key> - create one free at https://retrodiffusion.ai/app/devtools"
        }
      ]
    }
  ],
  "version": "1.1.0",
  "repository": {
    "url": "https://github.com/Retro-Diffusion/retro-diffusion-mcp",
    "source": "github"
  },
  "websiteUrl": "https://retrodiffusion.ai",
  "description": "Generate authentic pixel art - sprites, animations, and tilesets - from any MCP client"
}