Your saved nanoodle workflow graphs as MCP tools β BYOK or pay per call in Nano (x402)
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Build a multi-model media pipeline visually at nanoodle.com β then hand the whole pipeline to your agent as ONE typed tool.
Skill or MCP? Running (or designing) a single workflow? The nanoodle skill is one command and no setup. This server is for when you've built up a folder of saved graphs and want each one exposed to your agent as its own tool.
Point this MCP server at a folder of noodle-graph.json saves from the
nanoodle editor and every graph becomes a callable tool with a derived input
schema β in Claude Code, Grok, Claude Desktop, Cursor, VS Code, Windsurf, or
anything else that speaks the Model Context Protocol.
It speaks stdio to your own agent by default, or HTTP to everyone with
serve mode β including
charging per call in Nano, so strangers'
agents can pay to run your noodles with no account anywhere.
No middleman server, no telemetry β and with wallet mode,
no account either. The MCP implementation here is hand-rolled (stdio +
streamable HTTP, JSON-RPC 2.0 β small enough to read). Two runtime dependencies:
nanoodle (MIT), the zero-dep
workflow executor that does all the heavy lifting, and
nanocurrency (GPL-3.0) for
signing Nano blocks β loaded only on the x402 paths, see
Licensing. Your NanoGPT API key goes straight from your
machine to nano-gpt.com; it is never logged and never
appears on stdout.
Play Iron Verdict: a furnace knight with heavy jumps, punches, ground slams and punishing arena combat. A coding agent built the game using the character-sprites skill.
The character-sprites graph turns a humanoid description into a character
reference and a matching parts sheet. The skill's local rig script turns those
parts into transparent idle, walk, punch and jump frames with an atlas and
timing metadata. The coding agent then implements physics, combat and game
rules. The finished game demonstrates that combination; one MCP call returns
the reference and parts images, not the complete game.
Mount the character-sprites graph
in your server's graph folder to expose it as a tool. Use tools/list to check
whether a given server has it mounted and read its input schema before calling.
For the published graph, the generation step is:
Install the skill for local extraction and animation (Node 20+ and ffmpeg/ffprobe required). A useful agent request is: βUse character-sprites to make an animated fighter from my description, inspect the joints and alpha edges, then build a small playable arena with heavy gravity and impactful combat.β
You need: Node 20+, a folder of saved graphs (say ~/noodles β see
Making graphs), and a nano-gpt.com
API key in NANOGPT_API_KEY (or passed via --key / --env-file) β or no
key at all with a Nano wallet, see
wallet mode.
Optional: ffmpeg on PATH. Tools whose graphs include a local-media node
(resize, video frames, combine, audio trim/extract) use a pure-JS path for the
common case but fall back to ffmpeg/ffprobe for formats it can't handle β
JPEG/WebP resize, reading video frames, compressed audio. Without ffmpeg those
runs fail (and auto-refund in charge mode); the server prints a warning at
startup naming the affected tools. Pure image/LLM/vision tools don't need it.
Install with apt install ffmpeg (Debian/Ubuntu) / brew install ffmpeg.
Or install it as a plugin β Claude Code prompts for your noodles folder and API key, and also learns what a noodle is (this repo doubles as a plugin marketplace):
Or, for a remote/serve endpoint (no local process, no API key on your machine):
That writes [mcp_servers.noodles] into ~/.grok/config.toml (or
.grok/config.toml with --scope project). Same shape by hand:
Install in Cursor
(then edit the graphs path and key), or add to .cursor/mcp.json yourself:
.vscode/mcp.json β note VS Code's root key is servers, not mcpServers:
~/.codeium/windsurf/mcp_config.json:
Same shape as Cursor/Windsurf, in claude_desktop_config.json under
mcpServers.
ChatGPT only connects to remote HTTPS MCP servers. The hosted endpoint is
already live β add https://mcp.nanoodle.com/mcp (paid per call in Nano, no
API key). Local stdio (npx nanoodle-mcp --graphs β¦) stays BYOK and is not
reachable from ChatGPT.
The server runs on your money β either a nano-gpt.com API key (BYOK) or,
keyless, your own Nano wallet via
x402. Every tools/call
executes a workflow against the NanoGPT API and spends from that balance β
and the caller is usually an AI agent deciding on its own when to call. Point
it only at graphs you're happy to have run, and keep an eye on your balance.
Each result ends with a cost: $X.XXXX line so the agent (and you) can see
what a call cost.
NanoGPT supports x402 accountless payments:
a keyless API call answers HTTP 402 with a Nano invoice, you pay it, the
call completes. Give the server a wallet and it does this automatically β
no NanoGPT account, no API key, no signup anywhere:
Per call, the server: sees the 402 invoice β signs a Nano send block locally β
broadcasts it through a Nano RPC node (--nano-rpc / NANO_RPC_URL, default
rpc.nano.to) β NanoGPT detects the deposit and returns
the result. The seed/private key never leaves the process: only the signed
block goes to the RPC node, and neither secret is ever logged. An API key,
if present, always wins β the wallet is only used keyless.
Proof-of-work reliability. Every send block needs Nano proof-of-work. The
server asks the RPC node's work_generate first, but public nodes routinely
refuse or throttle it (no GPU, key required); the fallback is local
single-threaded CPU work, which can take a minute. Two fast options, both via
--work-rpc / NANO_WORK_URL:
--work-rpc https://rpc.nano.to)
or Nanswap Nodes
(--work-rpc https://nodes.nanswap.com/XNO β the fast work server is on
their paid plan; the free one queues for minutes). Put the API key in
NANO_WORK_KEY (env or --env-file, never a flag) β it's sent as both a
key body field (nano.to style) and a nodes-api-key header (Nanswap
style).nano-work-server --cpu-threads 8 -l 127.0.0.1:7076 β
work in a few seconds, free forever).Order: --work-rpc (2-minute timeout, so a hung server can't stall a payment)
β --nano-rpc node β local CPU. The wallet also precomputes work for the
next block the moment one publishes, and serve mode prewarms at boot β with
any healthy work source, callers effectively never wait on proof-of-work.
The local-CPU last resort runs on the Node main thread: in --serve mode a
send-difficulty grind (minutes) freezes the whole HTTP server while it runs.
If your remote work sources are dependable, pass --no-local-work β the send
then fails cleanly instead (an unpayable invoice is refused up front, and a
failed refund/payout send leaves the balance in the wallet for the next
settle to move).
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/nanoodle)<a href="https://allmcps.com/mcp/nanoodle"><img src="https://allmcps.com/api/badge/nanoodle?style=directory" alt="Nanoodle on AllMCPs" /></a>