# nanoodle (remote · mcp.nanoodle.com)

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

- Trust score: 62/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-21

## Components

- remote · `mcp.nanoodle.com`: 62/100 (this document), [markdown](https://verifymcp.io/servers/nanoodlecom-nanoodle-mcp/mcp.md), [page](https://verifymcp.io/servers/nanoodlecom-nanoodle-mcp/mcp)
- npm · `nanoodle-mcp`: 38/100, [markdown](https://verifymcp.io/servers/nanoodlecom-nanoodle-mcp/nanoodle-mcp.md), [page](https://verifymcp.io/servers/nanoodlecom-nanoodle-mcp/nanoodle-mcp)

## Channel facts

- Endpoint: `https://mcp.nanoodle.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.6.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-21.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 10 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 59/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3039 tokens (~303/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http nanoodlecom-nanoodle-mcp https://mcp.nanoodle.com/mcp
```

### Codex

```toml
[mcp_servers.nanoodlecom-nanoodle-mcp]
url = "https://mcp.nanoodle.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "nanoodlecom-nanoodle-mcp": {
      "type": "remote",
      "url": "https://mcp.nanoodle.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add nanoodlecom-nanoodle-mcp --url https://mcp.nanoodle.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  nanoodlecom-nanoodle-mcp:
    url: "https://mcp.nanoodle.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "nanoodlecom-nanoodle-mcp": {
      "type": "http",
      "url": "https://mcp.nanoodle.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-21 (score 62, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-19 (score 61, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-17 (score 60, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-15 (score 59, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-14 (score 58, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-08-13 (score 58)

First indexed and scored.

## MCP tools (10)

### `combine-images` (~220 tokens)

Combine two images into a scene. upload×2 -> text -> edit; returns image (qwen-image-3, 1024×1024) 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.

Input parameters:

- `Image` (string, required): * required; image — file path or https URL
- `Image_2` (string, required): * required; image — file path or https URL
- `Text` (string): default: "Make these two people explore a dungeon together"; optional
- `_payment_id` (string): 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…

### `deslop` (~363 tokens)

Paste AI-sounding text. Grok rewrites it like a person wrote it, a second model grades the rewrite as an AI detector would, then Grok gets the draft, the rewrite and the report and does the final p… text:Your draft -> llm×2 -> join×2 -> llm; returns text. Runs on NanoGPT — $0.25 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.0341, ~78s.

Input parameters:

- `System_prompt` (string): 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
- `System_prompt_2` (string): System prompt; default: "You are a blunt AI-text detector. You see one passage and nothing else. Decide whether a machine wrote it.\nReply in e..."; optional
- `System_prompt_3` (string): System prompt; default: "You are the final editor. Your input holds three blocks in this order:\n1. the ORIGINAL DRAFT — everything before the ..."; optional
- `Your_draft` (string): Text; default: "In today's fast-paced digital landscape, keeping your team in sync has never been more critical. That's why we're thr..."; optional
- `_payment_id` (string): 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…

### `edit-a-photo` (~209 tokens)

Repaints an uploaded photo according to an edit described in plain words. upload -> text -> edit; returns image (qwen-image-3, 1024×1024) 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.

Input parameters:

- `Image` (string, required): * required; image — file path or https URL
- `Text` (string): default: "make it night-time, add glowing neon signs and rain reflections"; optional
- `_payment_id` (string): 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…

### `favicon` (~277 tokens)

Describe your idea, get a favicon — an LLM distills the brand to one bold glyph, an image model renders it, and it comes back as a crisp square (~$0.04/run). text:Brand -> text×2 -> join -> llm -> image; returns image (nano-banana-2-lite, 1k) saved to disk (file path in result). Runs on NanoGPT — $0.11 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed.

Input parameters:

- `Brand` (string, required): * required; Text
- `Text` (string): default: "You design one favicon. From the brand name/description, write ONE image prompt for a square app icon: a single bold ..."; optional
- `Text_2` (string): Text; default: "style guide:\n- Reduce the brand to its most distinctive visual idea; prefer a simple metaphor over a literal product ..."; optional
- `_payment_id` (string): 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…

### `image-model-arena` (~284 tokens)

Pick a DIFFERENT model on each Contender, then Run — same prompt four ways, side by side. text -> image:Contender 1 -> image:Contender 2 -> image:Contender 3 -> image:Contender 4; returns image (gpt-image-2, 1024×1024) + image (nano-banana-2-fast, 1024×1024) + image (qwen-image-3, 1024×1024) + image (krea-v2-large/text-to-image, 1:1) 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.

Input parameters:

- `Text` (string): default: "a tiny dragon curled up asleep in a teacup, macro photo, soft morning light"; optional
- `_payment_id` (string): 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…

### `photo-to-video` (~285 tokens)

Generates a still image from a prompt, then animates it into a short video clip. text:the image being -> text:motion system prompt -> text:movement -> image -> llm -> ivideo; returns video (ltx-2.3-quality) saved to disk (file path in result). Runs on NanoGPT — $0.24 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed.

Input parameters:

- `_payment_id` (string): 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…
- `motion_system_prompt` (string): Text; default: "You are animating this image for ltx-2.3.\nPromptig guide:\n1. Be More Specific. The Engine Can Handle It.\nLTX-2.3 incl..."; optional
- `movement` (string): Text; default: "sailing very fast in rough seas"; optional
- `the_image_being` (string): Text; default: "a tiny sailboat on a glowing bioluminescent sea, night, stars"; optional

### `render-a-mockup` (~303 tokens)

Describe a screen, keep the style guide: an LLM turns both into one dense image prompt and an image model renders the mockup. text×2 -> join -> llm -> image; returns image (qwen-image-3) 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.

Input parameters:

- `System_prompt` (string): System prompt; default: "You write image prompts for UI mockups. Given a screen description and a style guide, reply with ONE detailed image p..."; optional
- `Text` (string): default: "A habit-tracker web app dashboard: today's checklist, current streaks, a week-at-a-glance grid, and a quick-add button."; optional
- `Text_2` (string): Text; default: "Style guide: premium, cinematic dark-mode product dashboard with an immediate wow factor, rendered as an exceptionall..."; optional
- `_payment_id` (string): 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…

### `sing` (~385 tokens)

One idea fans out to three LLMs — lyrics, a matching style, and a negative prompt of what to avoid — then a music model sings it. text:Song Instructions -> text:Bands -> text:Style System Prompt -> llm -> join×2 -> llm -> join -> llm -> music; returns audio (mureka-v9/generate-song) saved to disk (file path in result). Runs on NanoGPT — $0.13 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.0497, ~1m 56s.

Input parameters:

- `Bands` (string): Text; default: "Bands liked:\nSoundgarden, XX"; optional
- `Song_Instructions` (string): Text; default: "Write a wistful 90s trip-hop track about the singularity."; optional
- `Style_System_Prompt` (string): Text; default: "You invent a musical style that fits the given lyrics. Reply with only the style, richly descriptive — no commentary...."; optional
- `System_prompt` (string): System prompt; default: "You are an award-winning songwriter. Write only the lyrics — no title, no commentary, no explanations.\nPrinciples:\n- ..."; optional
- `System_prompt_2` (string): System prompt; default: "Negate the style - what would go poorly,  the worst you can imagine. No preamble or postamble."; optional
- `_payment_id` (string): 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…

### `talking-avatar` (~238 tokens)

TTS speaks your line, and the lipsync model animates the portrait to match. upload -> text:speak -> text:movement -> tts -> lipsync; returns video (longcat-avatar-1.5) saved to disk (file path in result). Runs on NanoGPT — $0.61 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed.

Input parameters:

- `Image` (string, required): * required; image — file path or https URL
- `_payment_id` (string): 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…
- `movement` (string): Text; default: "exaggerated head movement"; optional
- `speak` (string): Text; default: "Hi there! I used to be a still photo — then somebody wired three nodes together, and now I won't stop talking."; optional

### `text-to-image` (~191 tokens)

The one-wire hello-world of noodling — describe a scene, get an image. text -> image; returns image (nano-banana-2-lite) saved to disk (file path 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.04, ~10s.

Input parameters:

- `Text` (string): default: "a red panda astronaut drifting over neon-lit Tokyo at night, cinematic, 35mm"; optional
- `_payment_id` (string): 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…

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/nanoodlecom-nanoodle-mcp/mcp#diagnostics

## Score history

- 2026-08-21: 62
- 2026-08-20: 61
- 2026-08-19: 61
- 2026-08-18: 60
- 2026-08-17: 60
- 2026-08-16: 59
- 2026-08-15: 59
- 2026-08-14: 58
- 2026-08-13: 58

## Links

- Remote endpoint: https://mcp.nanoodle.com/mcp
- Repository: https://github.com/nanoodlecom/nanoodle-mcp
- Website: https://nanoodle.com/
- Changelog RSS feed: https://verifymcp.io/servers/nanoodlecom-nanoodle-mcp/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/nanoodlecom-nanoodle-mcp/mcp.json
- HTML version of this page: https://verifymcp.io/servers/nanoodlecom-nanoodle-mcp/mcp
