protogrid

Search / io.github.nanoodlecom/nanoodle-mcp

nanoodle

R0· no sign-in

Your saved nanoodle workflow graphs as MCP tools — BYOK or pay per call in Nano (x402)

v0.6.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality76good
Trust94of 100
Uptime, 30 days100%
Latency p50163 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "nanoodle-mcp": {
      "type": "http",
      "url": "https://mcp.nanoodle.com/mcp"
    }
  }
}
claude mcp add --transport http nanoodle-mcp https://mcp.nanoodle.com/mcp
[mcp_servers.nanoodle-mcp]
url = "https://mcp.nanoodle.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "nanoodle-mcp": {
      "type": "remote",
      "url": "https://mcp.nanoodle.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "nanoodle-mcp": {
      "type": "http",
      "url": "https://mcp.nanoodle.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=nanoodle-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLm5hbm9vZGxlLmNvbS9tY3AifQ%3D%3D"
}
{
  "servers": {
    "nanoodle-mcp": {
      "type": "http",
      "url": "https://mcp.nanoodle.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "nanoodle-mcp": {
      "httpUrl": "https://mcp.nanoodle.com/mcp"
    }
  }
}
extensions:
  "nanoodle-mcp":
    enabled: true
    name: "nanoodle-mcp"
    type: streamable_http
    uri: "https://mcp.nanoodle.com/mcp"
    timeout: 300

Quality 76 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 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 hygiene64 · 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
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: character-sprites (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); humanize-comment (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); idea-to-3d-model (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 4,946 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes48 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependencies100 · weight 15
  • pass
    deps.known_vulnsno known advisory in 5 resolved packages
  • n/a
    deps.mcp_sdk_versionthe official MCP SDK is not in the dependency graph
  • pass
    deps.resolvable[email protected] resolved: 5 packages

11 tools, about 4,946 tokens to load them all · tool set 694939fed194 · tools last changed 2026-10-20 · checked 2026-10-20 10:03 UTC

Tool changes

  • humanize-commentchangeddescription
    before

    Draft + Context + Guidance → 4 writers (3 community anti-slop finetunes + Gemini Flash) rewrite in Nano Maxi's voice → GLM-5.3 judge picks the most human rewrite that keeps every fact, or ORIGINAL.… text:Draft -> text:Context -> text:Guidance -> join:Judge: context+original -> join:Context+Guidance -> join:Writer input -> llm:Writer A (Qwen3.8-27B antislop) -> llm:Writer B (Gemma-4-31B StyleTune) -> llm:Writer C (Orion 26B-A4B v1.1) -> llm:Writer D (Gemini 3.8 Flash) -> join:Judge: +A -> join:Judge: +B -> join:Judge: +C -> join:Judge: +D -> llm:Decider (GLM-5.3); returns text. Runs on NanoGPT — $0.01 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed.

    after · 95% of words in common

    Draft + Context + Guidance → 4 writers (3 community anti-slop finetunes + Gemini Flash) rewrite in Nano Maxi's voice → GLM-5.3 judge picks the most human rewrite that keeps every fact, or ORIGINAL.… text:Draft -> text:Context -> text:Guidance -> join:Judge: context+original -> join:Context+Guidance -> join:Writer input -> llm:Writer A (Qwen3.8-27B antislop) -> llm:Writer B (Gemma-4-31B StyleTune) -> llm:Writer C (Orion 26B-A4B v1.1) -> llm:Writer D (Gemini 3.8 Flash) -> join:Judge: +A -> join:Judge: +B -> join:Judge: +C -> join:Judge: +D -> llm:Decider (GLM-5.3); returns text. Runs on NanoGPT — $0.01 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.0037, ~31s.

  • humanize-commentadded

    Draft + Context + Guidance → 4 writers (3 community anti-slop finetunes + Gemini Flash) rewrite in Nano Maxi's voice → GLM-5.3 judge picks the most human rewrite that keeps every fact, or ORIGINAL.… text:Draft -> text:Context -> text:Guidance -> join:Judge: context+original -> join:Context+Guidance -> join:Writer input -> llm:Writer A (Qwen3.8-27B antislop) -> llm:Writer B (Gemma-4-31B StyleTune) -> llm:Writer C (Orion 26B-A4B v1.1) -> llm:Writer D (Gemini 3.8 Flash) -> join:Judge: +A -> join:Judge: +B -> join:Judge: +C -> join:Judge: +D -> llm:Decider (GLM-5.3); returns text. Runs on NanoGPT — $0.01 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed.

  • character-spriteschangeddescription
    before

    Description → canonical character → separate cutout parts → local rig and animation baking. One text call + two image calls. The companion rig.mjs extracts transparent parts and bakes 32 frames: id… text:Character -> llm:Character designer -> image:Canonical character -> resize:Reference -> edit:Rig parts; returns image + image (muse-image/edit, 1:1) saved to disk (file paths in result). Runs on NanoGPT — $0.06 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.0221, ~1m 48s. Example: Iron Verdict (https://nanoodle.com/examples/iron-verdict/). A playable fighting game built with character-sprites. This graph generates a character reference and parts sheet; the local skill bakes animated sprites, and a coding agent adds combat, gravity and game rules. Agent skill: https://github.com/nanoodlecom/noodle-skills/tree/main/skills/character-sprites

    after · 96% of words in common

    Description → canonical character → separate cutout parts → local rig and animation baking. One text call + two image calls. The companion rig.mjs extracts transparent parts and bakes 32 frames: id… text:Character -> llm:Character designer -> image:Canonical character -> resize:Reference -> edit:Rig parts; returns image + image (muse-image/edit, 1:1) saved to disk (file paths in result). Runs on NanoGPT — $0.06 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.0221, ~2m 8s. Example: Iron Verdict (https://nanoodle.com/examples/iron-verdict/). A playable fighting game built with character-sprites. This graph generates a character reference and parts sheet; the local skill bakes animated sprites, and a coding agent adds combat, gravity and game rules. Agent skill: https://github.com/nanoodlecom/noodle-skills/tree/main/skills/character-sprites

  • mix-the-referencesadded

    Mix four references into one picture. Each reference is its own node: who (the character), what they wear, what they hold, and where they stand. FLUX.3 Klein Edit gets them in port order and the in… text:Who · character -> text:What they wear · outfit -> text:What they hold · prop -> text:Where · place -> text:Mix instruction (names each image) -> image:1 · Character -> image:2 · Outfit -> image:3 · Prop -> image:4 · Place -> edit:Mix · FLUX.3 Klein Edit; returns image (flux-3/klein/edit-image, 1024×1024) saved to disk (file path in result). Runs on NanoGPT — $0.08 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed. Example: Composite sample (https://nanoodle.com/examples/gallery/#mix-the-references). Four separate references become one picture: a paper-craft fox (image 1) wears a yellow knitted raincoat (image 2), holds one red paper lantern (image 3) and stands on a cardboard pier at dusk (image 4). FLUX.3 Klein Edit gets them in port order and the instruction names each image by number. Flaws in the saved run: the paper boats from the place reference mostly drop out and the coat comes out longer than its flat-lay reference.

  • idea-to-3d-modeladded

    Idea → concept art → 3D model. Write one object in plain words. An LLM turns it into a concept-art description (shape, parts, materials, colors). Join adds fixed render rules (one whole object, thr… text:Object idea -> text:3D-ready render rules -> llm:Concept description -> join:Concept prompt -> image:Concept art -> model3d:TRELLIS.2 → GLB; returns model3d (trellis-2/image-to-3d) saved to disk (file path in result). Runs on NanoGPT — $0.05 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed. Example: 3D sample (https://nanoodle.com/examples/gallery/#idea-to-3d-model). One line becomes a textured 3D model: a teal-and-cream wind-up toy submarine with a brass periscope, portholes, a wind-up key and a striped tail. GLM writes the concept, Muse paints it, and TRELLIS.2 turns that one picture into a GLB that holds up from every side. The viewer shades it flatter than the concept, and the thin key and propeller blades go soft at some angles.

  • image-model-arenachangeddescription
    before

    Compare four image models on the same brief. Run makes four paid images. Judge the exact heading and footer, object count, tool shapes, composition and color. Change the shared brief to test your o… text:Shared test brief -> image:Contender 1 -> image:Contender 2 -> image:Contender 3 -> image:Contender 4; returns image (muse-image/text-to-image, 1:1) + image (gpt-image-2.5/flare/text-to-image, 1k) + image (grok-imagine-image/v2.0/text-to-image, 1:1) + image (recraft-v4, 1024×1024) saved to disk (file paths in result). Runs on NanoGPT — $0.40 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.2455, ~1m 39s. Example: Reviewed sample (https://nanoodle.com/examples/gallery/#image-model-arena). The same bicycle-repair poster brief sent to four image models. All four retained the requested text in this run; only Grok rendered recognizable tire levers. Compare all outputs before choosing.

    after · 95% of words in common

    Compare four image models on the same brief. Run makes four paid images. Judge the exact heading and footer, object count, tool shapes, composition and color. Change the shared brief to test your o… text:Shared test brief -> image:Contender 1 -> image:Contender 2 -> image:Contender 3 -> image:Contender 4; returns image (muse-image/text-to-image, 1:1) + image (gpt-image-2.5/flare/text-to-image, 1k) + image (grok-imagine-image/v2.0/text-to-image, 1:1) + image (recraft-v4, 1024×1024) saved to disk (file paths in result). Runs on NanoGPT — $0.40 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.264, ~73s. Example: Reviewed sample (https://nanoodle.com/examples/gallery/#image-model-arena). The same bicycle-repair poster brief sent to four image models. All four retained the requested text in this run; only Grok rendered recognizable tire levers. Compare all outputs before choosing.

  • character-spriteschangeddescription
    before

    Description → canonical character → separate cutout parts → local rig and animation baking. One text call + two image calls. The companion rig.mjs extracts transparent parts and bakes 32 frames: id… text:Character -> llm:Character designer -> image:Canonical character -> resize:Reference -> edit:Rig parts; returns image + image (muse-image/edit, 1:1) saved to disk (file paths in result). Runs on NanoGPT — $0.06 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.0221, ~1m 52s. Example: Iron Verdict (https://nanoodle.com/examples/iron-verdict/). A playable fighting game built with character-sprites. This graph generates a character reference and parts sheet; the local skill bakes animated sprites, and a coding agent adds combat, gravity and game rules. Agent skill: https://github.com/nanoodlecom/noodle-skills/tree/main/skills/character-sprites

    after · 98% of words in common

    Description → canonical character → separate cutout parts → local rig and animation baking. One text call + two image calls. The companion rig.mjs extracts transparent parts and bakes 32 frames: id… text:Character -> llm:Character designer -> image:Canonical character -> resize:Reference -> edit:Rig parts; returns image + image (muse-image/edit, 1:1) saved to disk (file paths in result). Runs on NanoGPT — $0.06 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.0221, ~1m 48s. Example: Iron Verdict (https://nanoodle.com/examples/iron-verdict/). A playable fighting game built with character-sprites. This graph generates a character reference and parts sheet; the local skill bakes animated sprites, and a coding agent adds combat, gravity and game rules. Agent skill: https://github.com/nanoodlecom/noodle-skills/tree/main/skills/character-sprites

  • character-spriteschangeddescription
    before

    Description → canonical character → separate cutout parts → local rig and animation baking. One text call + two image calls. The companion rig.mjs extracts transparent parts and bakes 32 frames: id… text:Character -> llm:Character designer -> image:Canonical character -> resize:Reference -> edit:Rig parts; returns image + image (muse-image/edit, 1:1) saved to disk (file paths in result). Runs on NanoGPT — $0.06 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.0221, ~1m 56s. Example: Iron Verdict (https://nanoodle.com/examples/iron-verdict/). A playable fighting game built with character-sprites. This graph generates a character reference and parts sheet; the local skill bakes animated sprites, and a coding agent adds combat, gravity and game rules. Agent skill: https://github.com/nanoodlecom/noodle-skills/tree/main/skills/character-sprites

    after · 98% of words in common

    Description → canonical character → separate cutout parts → local rig and animation baking. One text call + two image calls. The companion rig.mjs extracts transparent parts and bakes 32 frames: id… text:Character -> llm:Character designer -> image:Canonical character -> resize:Reference -> edit:Rig parts; returns image + image (muse-image/edit, 1:1) saved to disk (file paths in result). Runs on NanoGPT — $0.06 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.0221, ~1m 52s. Example: Iron Verdict (https://nanoodle.com/examples/iron-verdict/). A playable fighting game built with character-sprites. This graph generates a character reference and parts sheet; the local skill bakes animated sprites, and a coding agent adds combat, gravity and game rules. Agent skill: https://github.com/nanoodlecom/noodle-skills/tree/main/skills/character-sprites

  • neon-shrine-duelchangeddescription
    before

    seed → GLM writes Anima still prompt → anima/text-to-image → GLM writes H3 Max motion prompt → minimax/h3-max i2v at 480p/5s. Change the seed; both LLMs rewrite prompts. ~$0.27 sampled. Hold both f… text:Fight seed -> llm:Still prompt -> llm:Motion prompt -> image:Fight still -> ivideo:Clash clip; returns video (h3-max) saved to disk (file path in result). Runs on NanoGPT — $0.63 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed.

    after · 94% of words in common

    seed → GLM writes Anima still prompt → anima/text-to-image → GLM writes H3 Max motion prompt → minimax/h3-max i2v at 480p/5s. Change the seed; both LLMs rewrite prompts. ~$0.27 sampled. Hold both f… text:Fight seed -> llm:Still prompt -> llm:Motion prompt -> image:Fight still -> ivideo:Clash clip; returns video (h3-max) saved to disk (file path in result). Runs on NanoGPT — $0.63 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.2601, ~47s.

  • talking-avatarchangeddescription
    before

    Create a short spoken introduction with a fictional presenter. Muse makes the portrait, MiniMax Speech reads the script, and LongCat combines the image and audio into a speaking video at 480p. Keep… text:Presenter look -> text:Spoken script -> text:Delivery -> image:face -> tts -> lipsync; returns video (longcat-avatar-1.5) saved to disk (file path in result). Runs on NanoGPT — $0.65 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed. Example: Video sample (https://nanoodle.com/examples/gallery/#talking-avatar). A fictional presenter reads a short workshop introduction. Sampled frames preserve the presenter; check precise lip-sync timing in playback. Generation can take several minutes.

    after · 98% of words in common

    Create a short spoken introduction with a fictional presenter. Muse makes the portrait, MiniMax Speech reads the script, and LongCat combines the image and audio into a speaking video at 480p. Keep… text:Presenter look -> text:Spoken script -> text:Delivery -> image:face -> tts -> lipsync; returns video (longcat-avatar-1.5) saved to disk (file path in result). Runs on NanoGPT — $0.66 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed. Example: Video sample (https://nanoodle.com/examples/gallery/#talking-avatar). A fictional presenter reads a short workshop introduction. Sampled frames preserve the presenter; check precise lip-sync timing in playback. Generation can take several minutes.

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 94 / 100

provenance90
liveness100
freshness85
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-100% ~updated-68d-ago

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

Dependencies

[email protected] npm4 dependencies, resolved · advisories checked 2026-10-19

No known advisory affects this dependency graph.

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.nanoodle.com/mcp streamable-httpnoneyes100%163 ms2025-06-182026-10-20
packageregistryversionruntimesecrets
nanoodle-mcpnpm0.6.0npxNANOGPT_API_KEY

Tools (11)

character-spritesDescription → canonical character → separate cutout parts → local rig and animation baking. One text call + two image calls. The companion rig.mjs extracts transparent parts and bakes 32 frames: id… text:Character -> llm:Character designer -> image:Canonical character -> resize:Reference -> edit:Rig parts; returns image + image (muse-image/edit, 1:1) saved to disk (file paths in result). Runs on NanoGPT — $0.06 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.0221, ~2m 8s. Example: Iron Verdict (https://nanoodle.com/examples/iron-verdict/). A playable fighting game built with character-sprites. This graph generates a character reference and parts sheet; the local skill bakes animated sprites, and a coding agent adds combat, gravity and game rules. Agent skill: https://github.com/nanoodlecom/noodle-skills/tree/main/skills/character-sprites
humanize-commentDraft + Context + Guidance → 4 writers (3 community anti-slop finetunes + Gemini Flash) rewrite in Nano Maxi's voice → GLM-5.3 judge picks the most human rewrite that keeps every fact, or ORIGINAL.… text:Draft -> text:Context -> text:Guidance -> join:Judge: context+original -> join:Context+Guidance -> join:Writer input -> llm:Writer A (Qwen3.8-27B antislop) -> llm:Writer B (Gemma-4-31B StyleTune) -> llm:Writer C (Orion 26B-A4B v1.1) -> llm:Writer D (Gemini 3.8 Flash) -> join:Judge: +A -> join:Judge: +B -> join:Judge: +C -> join:Judge: +D -> llm:Decider (GLM-5.3); returns text. Runs on NanoGPT — $0.01 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.0037, ~31s.
idea-to-3d-modelIdea → concept art → 3D model. Write one object in plain words. An LLM turns it into a concept-art description (shape, parts, materials, colors). Join adds fixed render rules (one whole object, thr… text:Object idea -> text:3D-ready render rules -> llm:Concept description -> join:Concept prompt -> image:Concept art -> model3d:TRELLIS.2 → GLB; returns model3d (trellis-2/image-to-3d) saved to disk (file path in result). Runs on NanoGPT — $0.05 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed. Example: 3D sample (https://nanoodle.com/examples/gallery/#idea-to-3d-model). One line becomes a textured 3D model: a teal-and-cream wind-up toy submarine with a brass periscope, portholes, a wind-up key and a striped tail. GLM writes the concept, Muse paints it, and TRELLIS.2 turns that one picture into a GLB that holds up from every side. The viewer shades it flatter than the concept, and the thin key and propeller blades go soft at some angles.
image-model-arenaCompare four image models on the same brief. Run makes four paid images. Judge the exact heading and footer, object count, tool shapes, composition and color. Change the shared brief to test your o… text:Shared test brief -> image:Contender 1 -> image:Contender 2 -> image:Contender 3 -> image:Contender 4; returns image (muse-image/text-to-image, 1:1) + image (gpt-image-2.5/flare/text-to-image, 1k) + image (grok-imagine-image/v2.0/text-to-image, 1:1) + image (recraft-v4, 1024×1024) saved to disk (file paths in result). Runs on NanoGPT — $0.40 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.264, ~73s. Example: Reviewed sample (https://nanoodle.com/examples/gallery/#image-model-arena). The same bicycle-repair poster brief sent to four image models. All four retained the requested text in this run; only Grok rendered recognizable tire levers. Compare all outputs before choosing.
mix-the-referencesMix four references into one picture. Each reference is its own node: who (the character), what they wear, what they hold, and where they stand. FLUX.3 Klein Edit gets them in port order and the in… text:Who · character -> text:What they wear · outfit -> text:What they hold · prop -> text:Where · place -> text:Mix instruction (names each image) -> image:1 · Character -> image:2 · Outfit -> image:3 · Prop -> image:4 · Place -> edit:Mix · FLUX.3 Klein Edit; returns image (flux-3/klein/edit-image, 1024×1024) saved to disk (file path in result). Runs on NanoGPT — $0.08 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed. Example: Composite sample (https://nanoodle.com/examples/gallery/#mix-the-references). Four separate references become one picture: a paper-craft fox (image 1) wears a yellow knitted raincoat (image 2), holds one red paper lantern (image 3) and stands on a cardboard pier at dusk (image 4). FLUX.3 Klein Edit gets them in port order and the instruction names each image by number. Flaws in the saved run: the paper boats from the place reference mostly drop out and the coat comes out longer than its flat-lay reference.
neon-shrine-duelseed → GLM writes Anima still prompt → anima/text-to-image → GLM writes H3 Max motion prompt → minimax/h3-max i2v at 480p/5s. Change the seed; both LLMs rewrite prompts. ~$0.27 sampled. Hold both f… text:Fight seed -> llm:Still prompt -> llm:Motion prompt -> image:Fight still -> ivideo:Clash clip; returns video (h3-max) saved to disk (file path in result). Runs on NanoGPT — $0.63 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.2601, ~47s.
photo-to-videoCreate a first frame with Muse, then animate one small movement with MiniMax H3 Spicy at 480p for five seconds. Change the still and motion briefs together. Inspect object stability and motion; a s… text:Still brief -> text:Motion brief -> image:First frame -> ivideo:Animated clip; returns video (image-to-video-spicy) saved to disk (file path in result). Runs on NanoGPT — $0.51 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.21, ~1m 30s. Example: Reviewed sample (https://nanoodle.com/examples/gallery/#photo-to-video). A short tea-on-a-desk animation. Sampled frames retained the mug while steam moved. This thumbnail is one frame; the example does not establish a seamless loop.
singStart with a song idea and the bands you like. Three text calls write lyrics, arrange them, and identify what would clash with that arrangement. The arrangement and avoid-list become one musical di… text:Song idea -> text:Preferred bands -> join:Idea + musical references -> llm:Write lyrics -> join:Brief + finished lyrics -> llm:Arrange the song -> llm:What would clash? -> join:Arrangement + avoid-list -> music:Sing; returns audio (music-3) saved to disk (file path in result). Runs on NanoGPT — $0.37 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.1502, ~2m 35s. Example: Audio sample (https://nanoodle.com/examples/gallery/#sing). A 170-second generated closing-credits song. Gemini 3.8 Flash reported clear gentle acoustic vocals and a chorus matching the supplied lyrics. This is model-assisted audio review, not human listening sign-off.
storyboard-relayMake a two-frame story through a handoff between models. Muse establishes the opening. Nano Banana stages the next beat from that actual image. Gemini compares both frames; Muse Edit uses the draft… text:First scene -> text:Next beat -> text:Continuity rules -> image:Muse opens the story -> join:Opening brief + next beat -> resize:Frame 1 -> join:Next beat + continuity rules -> edit:Nano Banana stages the next beat -> llm:Draft continuity check -> resize:Draft frame 2 -> join:Story + observed repair notes -> edit:Muse repairs the continuity -> resize:Frame 2 -> llm:Continuity notes; returns image + image + image + text; media saved to disk (file paths in result). Runs on NanoGPT — $0.19 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.0652, ~2m 4s.
talking-avatarCreate a short spoken introduction with a fictional presenter. Muse makes the portrait, MiniMax Speech reads the script, and LongCat combines the image and audio into a speaking video at 480p. Keep… text:Presenter look -> text:Spoken script -> text:Delivery -> image:face -> tts -> lipsync; returns video (longcat-avatar-1.5) saved to disk (file path in result). Runs on NanoGPT — $0.66 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed. Example: Video sample (https://nanoodle.com/examples/gallery/#talking-avatar). A fictional presenter reads a short workshop introduction. Sampled frames preserve the presenter; check precise lip-sync timing in playback. Generation can take several minutes.
tiny-world-filmMuse builds a miniature. Wan animates that exact image. Mirelo watches the resulting silent clip and adds foley. Three models pass actual media forward. Compare the silent and sounded takes. Defaul… text:World -> text:Motion -> image:Build the miniature -> ivideo:Silent take -> resize:First frame -> vedit:Film with foley; returns image + video (sfx1.6/video-to-video) saved to disk (file paths in result). Runs on NanoGPT — $0.65 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.27, ~2m 11s.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.nanoodlecom/nanoodle-mcp",
  "title": "nanoodle",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.nanoodle.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.6.0",
  "packages": [
    {
      "version": "0.6.0",
      "transport": {
        "type": "stdio"
      },
      "identifier": "nanoodle-mcp",
      "runtimeHint": "npx",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "packageArguments": [
        {
          "name": "--graphs",
          "type": "named",
          "isRequired": true,
          "description": "Directory of noodle-graph.json saves from the nanoodle.com editor — each file becomes one MCP tool. Repeatable: pass several dirs and earlier ones win name clashes (per-project graphs + a shared library)."
        },
        {
          "name": "--out",
          "type": "named",
          "description": "Directory where media outputs are saved (default ./nanoodle-out)"
        }
      ],
      "environmentVariables": [
        {
          "name": "NANOGPT_API_KEY",
          "isSecret": true,
          "isRequired": true,
          "description": "Your nano-gpt.com API key — every tool call spends from this key's balance"
        }
      ]
    }
  ],
  "repository": {
    "url": "https://github.com/nanoodlecom/nanoodle-mcp",
    "source": "github"
  },
  "websiteUrl": "https://nanoodle.com",
  "description": "Your saved nanoodle workflow graphs as MCP tools — BYOK or pay per call in Nano (x402)"
}