Ludo AI Game Assets by ludo.ai

MCP server · Music generation · indexed, not reviewed

Hostedvendor's own

Not reviewed

No score, grade or rank. This listing is facts from the official MCP registry and our own checks, and it stays out of the rankings until the panel reviews it.

How the index works

Generate game assets with AI: sprites, animations, 3D models with rigging, video, music, SFX, voices

What the official MCP registry says

Facts

MCP registry
ai.ludo/game-assets · 0.15.0
Endpoint
https://mcp.ludo.ai/mcp
Website
ludo.ai
GitHub stars
7
Registry entry
updated 28 Sep 2026

From the official MCP registry, the package registries and our own checks. JSON · Markdown

Why it's listed

  • It's published in the registry under ludo.ai, a namespace the registry only gives to whoever proves they control that domain.

Being indexed says nothing about quality, and nobody can pay for it. Is this yours? Ask for a review.

Tools it lists 37 · about 29,757 tokens of context · checked 31 minutes ago

ToolWhat it doesHint
validateApiKeyEndpointValidates an API key. Returns 200 if valid, 403 if invalid.
createImageGenerate game-art images from a text prompt alone, selecting an image_type (e.g. sprite) and optionally art_style, perspective, and aspect_ratio. The job result is an array of image results, each with a url; request n…
generateWithStyleGenerate new images that match the visual style of a reference image: supply a style_image (URL or base64) plus a text prompt describing what to create and an optional image_type (defaults to sprite). The job result is…
editImageModify an existing image according to text instructions: supply a source image (URL or base64) and a prompt describing the changes (e.g. "add clouds", "warmer color scheme"), with an optional reference_image for extra…
animateSpriteAnimate a static sprite into a spritesheet driven by a motion text prompt (image-to-spritesheet): supply an initial_image (URL or base64) plus a motion_prompt like "walking" or "attack slash", and optionally a…
animateSpriteKeyframesAnimate a sprite through up to three fixed keyframes - initial_image, middle_image and final_image (each a URL or base64) - producing a spritesheet that interpolates through the provided frames in order. At least one of…
generatePoseRe-pose an existing sprite into a new target pose while preserving the character, taking a source image (URL or base64), a pose name (or "Other" with a free-text description), and an optional n (1-4) for how many…
rotateSpriteRe-render an existing sprite from a different camera viewpoint while keeping the same character and pose, taking a source image (URL or base64), a required camera_rotation azimuth (one of 0, 45, 90, 135, 180, -135, -90,…
transferMotionTransfer motion from a reference video or a named animation preset onto a static sprite image, producing an animated spritesheet that mimics the reference movement. Provide the sprite as image (URL or base64) plus…
getDocsBrowse or read Ludo's own documentation in full - how to choose a sprite animation mode, when to use Generate Before / Generate After, how margins behave, which model suits a job, and each generator's known limitations.…
searchDocsSearch Ludo's own documentation with a plain-language question and get back only the few sections that answer it - the fastest way to learn how a feature is meant to be used before you generate with it (how to pick a…
listAnimationPresetsList the available animation presets along with their perspectives and the eight supported compass directions (N, NE, E, SE, S, SW, W, NW). Synchronous GET with no request body: it returns an animations array (each with…
editSpritesheetEdit a previously generated spritesheet: re-prompt its underlying animation (edit_mode "prompt"), extend the frame beyond its borders ("outpaint"), or repair a bad loop ("fix_loop"). Pass the `spritesheet_url` you…
rotateSpritesheetRe-render a previously generated sprite animation from a new view: the same motion and timing, seen from a different angle (e.g. a front-facing walk cycle turned into the same walk seen from the back). Pass the…
createSpriteAudioGenerate a sound effect for a previously generated spritesheet animation. Pass, as `spritesheet_video_url`, the `video_url` you received from `animateSprite`, `animateSpriteKeyframes`, `transferMotion`, or…
createVideoGenerate a short video clip from a source image and a motion text prompt (image-to-video); a source `image` is required - to make a video from text alone, first createImage and animate that, or use…
createVideoFromReferencesGenerate a video from 1-5 reference images and a text prompt (references-to-video). Unlike createVideo, which animates a single source image, this composes a new scene that borrows characters, objects, and style from…
editVideoEdit a previously generated video with a text prompt and optional reference images (video-to-video); runs on griffin-hd (720p, with soundtrack) and the output keeps the source video's duration unless you pass one. Pass…
upscaleVideoUpscale a previously generated video to twice its resolution (2x). Pass the video `url` you received from `createVideo`, `createVideoFromReferences`, or `editVideo` - it must be a video you generated within the last 7…
removeBackgroundRemove the background from a single image, returning the subject isolated on a transparent background. Supply the source image (URL or base64); optionally set crop to trim the result to the content, and creative_edit…
create3DModelConvert a source image into a textured 3D model (image-to-3D). The job result is a downloadable GLB model_url plus an array of snapshot image URLs rendered from different angles (handy for previews). image is the front…
rigModelRig a 3D model: generate a skeleton and skin weights for an existing GLB so it can be animated. Accepts a URL or base64-encoded GLB in `model` (here `model` is the 3D asset file, not an AI model name - there is no model…
animate3DModelGenerate text-driven skeletal animations for an already-rigged 3D model. Pass the rigged GLB in `model` (URL or base64; the 3D asset file, not an AI model name) and a motion `prompt` (e.g. "walking", "swinging its…
animate3DModelPresetApply a curated animation preset to an already-rigged 3D model (retargeting). Pass the rigged GLB in `model` (URL or base64; the 3D asset file, not an AI model name) and a `preset_id` from the animation presets list…
createSoundEffectProduce a short sound effect (SFX) from a text description, such as "laser gun firing" or "footsteps on gravel". The job result is a single audio result containing the URL of an MP3 or WAV file (the URL's extension,…
createAmbianceProduce a looping background ambiance soundscape from a text description, such as "windy forest at dusk" or "busy tavern interior". The job result is a single audio result containing the URL of an MP3 or WAV file (the…
createMusicProduce a piece of music from a text description, such as "epic orchestral battle theme" or "calm piano melody", with optional lyrics. The job result is a single audio result containing the URL of an MP3 or WAV file…
createAudioTransformRemix an existing audio sample (a sound effect, ambiance, or music clip) into a variation guided by a text prompt, for example turning a track into an 80s synthwave or metal version. Both the sample and the prompt are…
createVoiceDesign a new voice from a character description (such as "deep-voiced warrior" or "cheerful young girl") and have it speak a short line of text, returning a sample of that newly created voice. Both voice_description and…
createSpeechConvert text to speech by cloning the voice from an audio sample you provide (voice-cloning text-to-speech). Both text and sample are required; the text is limited to 1000 characters and the sample is supplied as a URL…
createSpeechPresetConvert text to speech using a named built-in preset voice, with optional emotion and language settings. Both text and voice_preset_id are required and the text is limited to 1000 characters; invalid input returns HTTP…
listGenerationsList your generation history across the API and the web app - filter by type, source (api|web|all), text search, and date range. Returns {items, page, page_size, has_more}; keep paging while has_more is true.…
listApiJobsList the generation jobs you started through the API or MCP, most recent first. Web-app jobs are not included. This is a free read-only lookup (no credits, no generation). Filter with a comma-separated status list;…
getApiJobPoll the status of a generation job started by any tool. Every generation tool returns `{id, status}`; call getApiJob with that id until status is `succeeded` (then read `result`, shaped exactly like the tool's…
cancelApiJobCancel a queued job you started through the API or MCP; the credits held for it are refunded. Jobs that are already running cannot be canceled (409). Returns the canceled job. This is free (no credits).
getAccountShow your account's credit balance, plan and auto top-up settings. `credits.available` is what generations can spend right now (plan_credits + extra - used); `resets_at` is when the plan's monthly credits refill (unix…
submitApiFeedbackReport a problem with the Ludo API itself to the Ludo team. Use it ONLY for API bugs (an error, a failed or stuck job, a crash, a response that does not match this documentation) and API limitations (a parameter,…

What https://mcp.ludo.ai/mcp answered to tools/list, asked without credentials. answered without the initialize handshake. The token figure is the size of the list as sent, divided by four; a model sees about that much before it calls anything. Full definitions, input schemas included, are in the listing's JSON under mcpTools.

How its tools read to an agent 0 errors · 52 warnings · 1 note

  • warnTC07animateSpritethe description is about 727 tokens
  • warnTC07editSpritesheetthe description is about 591 tokens
  • warnTC07transferMotionthe description is about 605 tokens
  • warnTC11animate3DModelits one parameter, requestBody, has no description
  • warnTC11animate3DModelPresetits one parameter, requestBody, has no description
  • warnTC11cancelApiJobits one parameter, id, has no description
  • warnTC11create3DModelits one parameter, requestBody, has no description
  • warnTC11rigModelits one parameter, requestBody, has no description
  • warnTC11submitApiFeedbackits one parameter, requestBody, has no description
  • warnTC14transferMotionallowed values are in the description, not an enum: requestBody.video
  • warnTC16animate3DModelno readOnlyHint or destructiveHint
  • warnTC16animate3DModelPresetno readOnlyHint or destructiveHint
  • warnTC16animateSpriteno readOnlyHint or destructiveHint
  • warnTC16animateSpriteKeyframesno readOnlyHint or destructiveHint
  • warnTC16cancelApiJobno readOnlyHint or destructiveHint
  • warnTC16create3DModelno readOnlyHint or destructiveHint
  • warnTC16createAmbianceno readOnlyHint or destructiveHint
  • warnTC16createAudioTransformno readOnlyHint or destructiveHint
  • warnTC16createImageno readOnlyHint or destructiveHint
  • warnTC16createMusicno readOnlyHint or destructiveHint
  • warnTC16createSoundEffectno readOnlyHint or destructiveHint
  • warnTC16createSpeechno readOnlyHint or destructiveHint
  • warnTC16createSpeechPresetno readOnlyHint or destructiveHint
  • warnTC16createSpriteAudiono readOnlyHint or destructiveHint

The first 24 of 53; every finding is in the listing's JSON under mcpTools.check.

The checks from /check and anchor check, run each day on the list above: about 29,757 tokens of definitions. Not part of the score yet. Check your own server.

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.