Search / io.github.nanoodlecom/nanoodle-mcp
nanoodle
R0· no sign-inYour saved nanoodle workflow graphs as MCP tools — BYOK or pay per call in Nano (x402)
v0.6.0 · active · repository · website · descriptor JSON · versions
Search / io.github.nanoodlecom/nanoodle-mcp
R0· no sign-inYour saved nanoodle workflow graphs as MCP tools — BYOK or pay per call in Nano (x402)
v0.6.0 · active · repository · website · descriptor JSON · versions
{
"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
protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_length1 tools have descriptions over 1,024 characters, which crowds the contexttools.schemasevery tool has an object input schematools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky onestools.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); …tools.token_costabout 4,946 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes48 tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulnsno known advisory in 5 resolved packagesdeps.mcp_sdk_versionthe official MCP SDK is not in the dependency graphdeps.resolvable[email protected] resolved: 5 packageshumanize-commentchangeddescriptionDraft + 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.
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-commentaddedDraft + 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-spriteschangeddescriptionDescription → 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
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-referencesaddedMix 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-modeladdedIdea → 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-arenachangeddescriptionCompare 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.
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-spriteschangeddescriptionDescription → 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
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-spriteschangeddescriptionDescription → 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
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-duelchangeddescriptionseed → 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.
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-avatarchangeddescriptionCreate 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.
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.
+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.
[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.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://mcp.nanoodle.com/mcp streamable-http | none | yes | 100% | 163 ms | 2025-06-18 | 2026-10-20 |
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
nanoodle-mcp | npm | 0.6.0 | npx | NANOGPT_API_KEY |
character-sprites | 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 |
humanize-comment | 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. |
idea-to-3d-model | 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-arena | 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. |
mix-the-references | 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. |
neon-shrine-duel | 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. |
photo-to-video | Create 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. |
sing | Start 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-relay | Make 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-avatar | 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. |
tiny-world-film | Muse 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.
{
"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)"
}