nanoodle
Your saved nanoodle workflow graphs as MCP tools — BYOK or pay per call in Nano (x402)
¿Debería usar esto?
Calidad y seguridad
Hallazgos (24)
- HIGH
- MEDIUMen character-sprites
- MEDIUMen combine-images
- MEDIUMen deslop
- MEDIUMen edit-a-photo
- MEDIUMen favicon
- MEDIUMen fibo-studio-still
- MEDIUMen image-model-arena
- MEDIUMen night-market-postcard
- MEDIUMen omni-flash-turntable
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"nanoodle-mcp": {
"command": "npx",
"args": [
"nanoodle-mcp"
]
}
}
}Paquetes ejecutables
0.6.0stdioPuntos de conexión remotos
https://mcp.nanoodle.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (13)
🟡character-sprites(Character, Character_designer, _payment_id)
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.05 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed. 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
Esquema de entrada
{
"type": "object",
"properties": {
"Character": {
"type": "string",
"description": "Text; default: \"A compact furnace knight with a cracked ivory helmet, narrow glowing amber visor, dark navy armor, a short rust-red s...\"; optional"
},
"Character_designer": {
"type": "string",
"description": "System prompt; default: \"Write ONE image prompt, maximum 130 words, for a game character reference from the description. Preserve the user des...\"; optional"
},
"_payment_id": {
"type": "string",
"description": "Payment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first."
}
}
}🟡combine-images(Product_photo, Setting_photo, Placement_brief, _payment_id)
Upload a product, then a setting, to preview placement before a photoshoot. Muse Edit uses both reference images ($0.01/image). Inspect product identity, scale and contact shadows; this is a concep… upload:Product photo -> upload:Setting photo -> text:Placement brief -> edit:Product in setting; returns image (muse-image/edit) saved to disk (file path in result). Runs on NanoGPT — $0.18 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.075, ~1m 49s. Example: Reviewed sample (https://nanoodle.com/examples/gallery/#combine-images). A bottle and a mug-on-desk source image combined into one plausible scene. The sample includes both inputs; exact product fidelity needs a separate comparison.
Esquema de entrada
{
"type": "object",
"properties": {
"Product_photo": {
"type": "string",
"description": "* required; image — file path or https URL"
},
"Setting_photo": {
"type": "string",
"description": "* required; image — file path or https URL"
},
"Placement_brief": {
"type": "string",
"description": "Text; default: \"Place the product from image 1 naturally into the setting from image 2. Preserve the product shape, proportions, mate...\"; optional"
},
"_payment_id": {
"type": "string",
"description": "Payment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first."
}
},
"required": [
"Product_photo",
"Setting_photo"
]
}🟡deslop(Your_draft, First_rewrite, Fact_and_clarity_review, Edited_notice, _payment_id)
Edit a customer notice without losing prices, dates or caveats. Grok drafts; a second model compares the draft with the source; Grok applies the review. Three paid text calls. The review checks wri… text:Your draft -> llm:First rewrite -> join:Source and rewrite -> llm:Fact and clarity review -> join:Source, rewrite and review -> llm:Edited notice; returns text. Runs on NanoGPT — $0.10 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.0341, ~78s. Example: Reviewed sample (https://nanoodle.com/examples/gallery/#deslop). A repair-booking announcement rewritten in plain language while retaining the supplied facts. Compare the source and result in the sample; this is an editorial workflow, not an authorship detector.
Esquema de entrada
{
"type": "object",
"properties": {
"Your_draft": {
"type": "string",
"description": "Text; default: \"We are thrilled to announce a game-changing improvement to the repair booking experience. Starting 8 September, custo...\"; optional"
},
"First_rewrite": {
"type": "string",
"description": "System prompt; default: \"You rewrite AI-sounding text so it reads like a person wrote it. Output only the rewritten text — no preamble, no not...\"; optional"
},
"Fact_and_clarity_review": {
"type": "string",
"description": "System prompt; default: \"You are an editorial reviewer. Your input contains the original draft followed by === PASS 1 REWRITE === and its rewr...\"; optional"
},
"Edited_notice": {
"type": "string",
"description": "System prompt; default: \"Your input contains the original draft, === PASS 1 REWRITE ===, and === EDITORIAL REVIEW ===. Treat these blocks as s...\"; optional"
},
"_payment_id": {
"type": "string",
"description": "Payment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first."
}
}
}🟡edit-a-photo(Product_photo, Edit_request, _payment_id)
Upload a product photo and make a clean catalog image. Muse Edit preserves the product while changing the background ($0.01/image). Check logos, small details and color against the original before … upload:Product photo -> text:Edit request -> edit:Clean product photo; returns image (muse-image/edit) saved to disk (file path in result). Runs on NanoGPT — $0.18 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.075, ~80s. Example: Reviewed sample (https://nanoodle.com/examples/gallery/#edit-a-photo). A bottle image edit with its source and instruction documented in the sample. The shape remains recognizable; compare any markings that must survive an edit of your own product.
Esquema de entrada
{
"type": "object",
"properties": {
"Product_photo": {
"type": "string",
"description": "* required; image — file path or https URL"
},
"Edit_request": {
"type": "string",
"description": "Text; default: \"Prepare this product photo for a catalog. Preserve the exact product shape, color, materials, markings and visible te...\"; optional"
},
"_payment_id": {
"type": "string",
"description": "Payment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first."
}
},
"required": [
"Product_photo"
]
}🟡favicon(Brand, Icon_prompt, _payment_id)
Turn a brand brief into a square favicon concept. GLM Flash condenses the brief; Muse renders one image (image step $0.01, plus text). Inspect at 16px; export or convert to favicon sizes separately. text:Brand -> llm:Icon prompt -> image:Favicon; returns image (muse-image/text-to-image, 1:1) saved to disk (file path in result). Runs on NanoGPT — $0.03 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.01, ~45s. Example: Reviewed sample (https://nanoodle.com/examples/gallery/#favicon). A lighthouse-inspired icon for a pocket weather radio. The output is a raster concept; creating an ICO or SVG requires a separate step.
Esquema de entrada
{
"type": "object",
"properties": {
"Brand": {
"type": "string",
"description": "Text; default: \"Lumen — pocket weather radio. One lighthouse beam as a chevron. Deep navy field, single warm-gold mark. No letters.\"; optional"
},
"Icon_prompt": {
"type": "string",
"description": "System prompt; default: \"Write one concise image prompt for a favicon concept from the brand brief. Preserve the requested symbol and colors. ...\"; optional"
},
"_payment_id": {
"type": "string",
"description": "Payment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first."
}
}
}🟡fibo-studio-still(Product, Light, Structured_prompt, _payment_id)
Create an editorial product concept from a description and lighting choice. GLM Flash structures the brief; Bria FIBO renders at 1MP (image step $0.04, plus text). FIBO is offered as a model traine… text:Product -> choice:Light -> join:Brief -> llm:Structured prompt -> image:Still; returns image (fibo-generate-1.5/text-to-image, 1mp) saved to disk (file path in result). Runs on NanoGPT — $0.10 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed. Example: Reviewed sample (https://nanoodle.com/examples/gallery/#fibo-studio-still). An amber soap bottle rendered from a product brief and lighting choice. This is a generated concept, not a photograph of an existing product.
Esquema de entrada
{
"type": "object",
"properties": {
"Product": {
"type": "string",
"description": "Text; default: \"One unbranded amber glass hand-soap bottle with a matte black pump, resting upright on a pale limestone counter. No l...\"; optional"
},
"Light": {
"type": "string",
"enum": [
"large softbox left, gentle shadow, neutral backdrop",
"window daylight, soft shadows, warm stone",
"hard side light, crisp silhouette, gray paper",
"backlit translucent glass, soft fill from front"
],
"description": "Choice; default: \"large softbox left, gentle shadow, neutral backdrop\"; optional"
},
"Structured_prompt": {
"type": "string",
"description": "System prompt; default: \"Write one structured descriptive image prompt for the supplied product and lighting. Preserve its shape, materials an...\"; optional"
},
"_payment_id": {
"type": "string",
"description": "Payment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first."
}
}
}🟡image-model-arena(Shared_test_brief, _payment_id)
Compare four image models on the same useful brief. Run makes four paid images. Judge exact text, object count, composition and color before choosing the model for your own task. Each contender alr… 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 (turbo, 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.59 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.
Esquema de entrada
{
"type": "object",
"properties": {
"Shared_test_brief": {
"type": "string",
"description": "Text; default: \"Create a square poster for a bicycle repair workshop. Exact heading: FIX A FLAT. Exact footer: SATURDAY 10 AM. A sing...\"; optional"
},
"_payment_id": {
"type": "string",
"description": "Payment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first."
}
}
}🟡night-market-postcard(Place, Vibe, Postcard_prompt, _payment_id)
Create a landscape travel postcard illustration from a place and mood. Change both inputs for a new destination. GLM Flash writes the prompt; Muse renders at 3:2 (image step $0.01, plus text). Insp… text:Place -> choice:Vibe -> join:Spec -> llm:Postcard prompt -> image:Postcard; returns image (muse-image/text-to-image, 3:2) saved to disk (file path in result). Runs on NanoGPT — $0.03 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed. Example: Reviewed sample (https://nanoodle.com/examples/gallery/#night-market-postcard). An illustrated Raohe night-market postcard from the saved place and atmosphere inputs. Use it as creative artwork rather than a documentary record.
Esquema de entrada
{
"type": "object",
"properties": {
"Place": {
"type": "string",
"description": "Text; default: \"Raohe night market, Taipei — grilled squid smoke hanging in the lane, red lanterns, wet asphalt, one stall still roaring\"; optional"
},
"Vibe": {
"type": "string",
"enum": [
"warm illustrated travel print",
"fine-grain analog photograph",
"quiet watercolor scene",
"bold two-color screenprint"
],
"description": "Choice; default: \"warm illustrated travel print\"; optional"
},
"Postcard_prompt": {
"type": "string",
"description": "System prompt; default: \"Write one image prompt for a 3:2 landscape travel postcard illustration from the supplied place and mood. Preserve su...\"; optional"
},
"_payment_id": {
"type": "string",
"description": "Payment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first."
}
}
}🟡omni-flash-turntable(Object, Move, Video_prompt, _payment_id)
Create a short product-motion concept from an object and camera move. GLM Flash structures the brief; Omni Flash 1.1 renders 5s at 360p / 16:9 (video step $0.195, plus text). No upload required. In… text:Object -> choice:Move -> join:Brief -> llm:Video prompt -> tvideo:Clip; returns video (gemini-omni-flash/v1.1) saved to disk (file path in result). Runs on NanoGPT — $0.10 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed. Example: Reviewed sample (https://nanoodle.com/examples/gallery/#omni-flash-turntable). A 360p draft camera orbit around a generated bottle with coherent geometry in the reviewed clip. This thumbnail is one frame; open the sample to inspect the motion.
Esquema de entrada
{
"type": "object",
"properties": {
"Object": {
"type": "string",
"description": "Text; default: \"One unbranded matte sage-green insulated water bottle with a black screw cap on a stationary pale-gray studio plinth,...\"; optional"
},
"Move": {
"type": "string",
"enum": [
"camera makes a slow quarter-orbit; object stays still",
"locked camera; object rotates slowly clockwise",
"slow camera push-in; object stays still"
],
"description": "Choice; default: \"camera makes a slow quarter-orbit; object stays still\"; optional"
},
"Video_prompt": {
"type": "string",
"description": "System prompt; default: \"Write one text-to-video prompt from the object brief and selected move. Preserve the object, material, color, setting...\"; optional"
},
"_payment_id": {
"type": "string",
"description": "Payment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first."
}
}
}🟡photo-to-video(Still_brief, Motion_brief, _payment_id)
Make a five-second ambient loop concept: Muse draws the first frame ($0.01), MiniMax H3 Spicy animates one small movement (480p, $0.20). This model supports image-to-video; the scene is a simple pr… 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. 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.
Esquema de entrada
{
"type": "object",
"properties": {
"Still_brief": {
"type": "string",
"description": "Text; default: \"A ceramic mug of hot tea on an oak desk beside a closed notebook. Soft morning window light from the left, plain warm...\"; optional"
},
"Motion_brief": {
"type": "string",
"description": "Text; default: \"Locked camera for five seconds. A thin wisp of steam rises slowly from the tea and curls gently in the window light. ...\"; optional"
},
"_payment_id": {
"type": "string",
"description": "Payment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first."
}
}
}🟡render-a-mockup(Screen_brief, Visual_style, _payment_id)
Turn a screen brief and visual style into a UI concept for design review. Qwen Image 3 Pro renders at 1K ($0.04/image); no prompt-writing call. Keep the combined brief and style under the model lim… text:Screen brief -> text:Visual style -> join -> image:Screen concept; returns image (qwen-image-3-pro, 1k) saved to disk (file path in result). Runs on NanoGPT — $0.20 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.079, ~2m 16s. Example: Reviewed sample (https://nanoodle.com/examples/gallery/#render-a-mockup). A repair-shop dashboard concept with the requested navigation, date, three appointment rows, names, statuses and totals. This is a rendered screen concept; implementation and interaction are separate work.
Esquema de entrada
{
"type": "object",
"properties": {
"Screen_brief": {
"type": "string",
"description": "Text; default: \"Repair shop dashboard, desktop screenshot. Navigation: Today, Repairs, Customers. Header: Tuesday, 8 September. Main ...\"; optional"
},
"Visual_style": {
"type": "string",
"description": "Text; default: \"Warm white background, charcoal text, gray dividers, forest-green primary button. Simple sans-serif, readable table r...\"; optional"
},
"_payment_id": {
"type": "string",
"description": "Payment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first."
}
}
}🔴sing(Song_Instructions, Lyrics, Musical_style, _payment_id)
Draft an original closing-credits song. One text model writes lyrics; Mureka Generate Song sings them using the editable musical style. Music step $0.225, plus text. Listen for clear words, melody … text:Song Instructions -> text:Musical style -> llm:Lyrics -> music:Song; returns audio (mureka-v9.5/generate-song) saved to disk (file path in result). Runs on NanoGPT — $0.55 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.0497, ~1m 56s. 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.
Esquema de entrada
{
"type": "object",
"properties": {
"Song_Instructions": {
"type": "string",
"description": "Text; default: \"Write a short original song for the closing credits of a cozy repair-shop game. Theme: fixing a small thing makes a h...\"; optional"
},
"Lyrics": {
"type": "string",
"description": "System prompt; default: \"Write original singable lyrics from the brief, maximum 160 words. Plain language, concrete details, natural stresses ...\"; optional"
},
"Musical_style": {
"type": "string",
"description": "Text; default: \"Gentle acoustic folk, relaxed mid-tempo, warm solo vocal, fingerpicked guitar, soft brushed percussion. Clear words a...\"; optional"
},
"_payment_id": {
"type": "string",
"description": "Payment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first."
}
}
}🟡talking-avatar(Presenter_look, Spoken_script, Delivery, _payment_id)
Prototype a short spoken introduction with a fictional presenter. Muse makes the portrait, MiniMax Speech reads the script, and LongCat animates speech at 480p. Keep scripts under 30 seconds. Cost … 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.63 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.
Esquema de entrada
{
"type": "object",
"properties": {
"Presenter_look": {
"type": "string",
"description": "Text; default: \"A fictional friendly male museum guide in his thirties, wearing a plain navy shirt, shoulders-up front-facing portrai...\"; optional"
},
"Spoken_script": {
"type": "string",
"description": "Text; default: \"Welcome to the workshop. Start with the blue tray on your table. Inside you will find paper, a pencil, and the parts ...\"; optional"
},
"Delivery": {
"type": "string",
"description": "Text; default: \"Natural calm delivery, subtle blinks and small head movements. Keep the face and mouth visible, eyes toward the camer...\"; optional"
},
"_payment_id": {
"type": "string",
"description": "Payment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first."
}
}
}Comunidad
Evidencia