
Cleanor MCP server
Zero-auth MCP: image optimize, cited storage/format data, and dev utilities LLMs get wrong.
1 stars53 downloads/wk
Reviews
Write oneNobody has reviewed Cleanor yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Cleanor tools (22)
write = sends, deletes, buys or postsbase64FreeEncode text to Base64 or decode Base64 back to text (UTF-8 safe). Supports URL-safe alphabet. Use whenever you need to encode/decode data URIs, tokens, or config values instead of guessing the bytes.
base_convertFreeConvert an integer between number bases 2–36 (e.g. hex to binary, decimal to base-36). Arbitrary precision via BigInt, so large values stay exact. Use for radix conversions instead of doing them by hand.
colorFreeConvert a color (hex, rgb() or hsl()) and return hex, RGB and HSL representations at once. Use when picking or translating colors for CSS, design tokens or themes.
color_paletteFreeBuild a harmonious color palette from a base color using color-theory rules (complementary, analogous, triadic, tetradic, or monochromatic). Returns each color as hex and HSL. Use to derive a theme or design tokens from one brand color.
countFreeAccurately count characters (Unicode code points), UTF-16 units, words, lines and UTF-8 bytes in text. LLMs are notoriously bad at counting, so always use this tool for "how many characters/words" questions.
cron_describeFreeParse a standard 5-field cron expression (minute hour day-of-month month day-of-week) into a plain-English breakdown and the next few run times in UTC. Use to sanity-check a schedule instead of guessing what the fields mean.
datetimeFreeGet the current date/time, or convert a given timestamp, into a target IANA timezone with ISO, Unix and human-readable forms. Pass a Unix timestamp (seconds or ms) or an ISO string as input; omit it for "now". LLMs cannot know the real current time, so use this instead of guessing.
diffFreeCompute a line-by-line diff between two texts, marking removed lines with "-", added with "+" and unchanged with two spaces, plus a change count. Use to see exactly what changed instead of comparing by eye. Capped at 1000 lines per side.
hashFreeCompute a cryptographic hash of text (SHA-1, SHA-256, SHA-384 or SHA-512) and return the hex digest. Use for checksums, cache keys, or verifying content. MD5 is intentionally not offered (broken, and unavailable in Web Crypto). LLMs cannot compute these reliably by hand, so always use this tool instead of guessing.
hmacFreeCompute an HMAC (keyed hash) of a message with a secret, using SHA-1/256/384/512, returned as hex or Base64. Use to sign webhook payloads or verify a signature instead of guessing. LLMs cannot compute this by hand.
image_format_savingsFreeHow much smaller WebP, AVIF or JPEG XL are than JPEG at matched perceptual quality, from Cleanor Labs’ controlled benchmark. Also reports the "HEIC conversion tax" (converting an iPhone HEIC to JPG/PNG makes it bigger). Use to justify a format choice when building a site or app.
json_formatFreeValidate JSON and pretty-print or minify it, optionally sorting object keys. Returns a precise parse error (with position) if invalid. Use to check and clean JSON instead of eyeballing it.
jwt_decodeFreeDecode a JSON Web Token into its header and payload so you can inspect claims (iss, exp, sub, scopes). The signature is NOT verified and no secret is required or stored. Use to read a token during debugging.
optimize_imageFreeFetch an image from a public URL and re-encode it smaller (WebP/AVIF/JPEG), optionally resizing to a target width. Returns the optimized image plus before/after byte sizes. Use this when an AI-generated or dropped-in asset (hero image, screenshot, illustration) is too large to ship.
placeholder_imageFreeGenerate a lightweight SVG placeholder image at any size, with an optional label and custom background/text colors. Dependency-free, pastes straight into a page or mockup. Use for wireframes and design stubs instead of hotlinking a placeholder service.
qr_codeFreeEncode text or a URL as a QR code and return a crisp, dependency-free SVG you can paste straight into a page, deck or doc.
regex_testFreeTest a JavaScript regular expression against sample text and return whether it matches, plus every match with its captured groups and index. Use to verify a pattern instead of reasoning about it in your head. Input and pattern are length-capped to keep it fast and safe.
slugifyFreeTurn a title or phrase into a clean, URL-safe slug (lowercase, hyphenated, accents stripped). Use when generating page paths, filenames or anchor IDs.
storage_capacityFreeHow many photos or minutes of video actually fit in a given storage size, corrected for real OS/filesystem overhead. Backed by Cleanor Labs measured per-item sizes. Use for realistic sample copy, dashboards, or "how many photos fit in 128 GB" answers.
unit_convertFreeConvert a value between units of length, mass, data size, time, speed or temperature. Supported units: mm, cm, m, km, in, ft, yd, mi, nmi, mg, g, kg, t, oz, lb, st, bit, byte, kb, kib, mb, mib, gb, gib, tb, tib, ms, s, min, h, day, week, mps, kph, mph, fps, knot, c, f, k. Use for exact conversions instead of approximating.
url_parseFreeBreak a URL into its components: scheme, host, port, path, decoded query parameters and fragment. Use to inspect or debug a URL instead of parsing it by eye.
uuidFreeGenerate one or more UUIDs. v4 is fully random; v7 is time-sortable (recommended for database keys). LLMs cannot produce cryptographically random or correctly-formatted UUIDs, so always use this tool.
Public scan report
scanner v0.1.9 · 2026-09-25 · same rubric, same numbers if you re-run it
- Code scan2 source files scanned20/25
- Live reliabilityremote reachable in 1839ms20/20
- Tool poisoning22 tool descriptions checked15/15
- Auth qualityopen endpoint, read-only tools10/15
- Maintenancelast push 73 days ago12/15
- Maintainer identitynamespace and repository owner differ; website matches verified namespace5/10
Findings (1)
- mediumeval / new Function used
exec.evaldist/stdio.js: …ode, sch); const makeValidate = new Function(`${names_1.default.self}`, `${names_1.de…
What the publisher says
From the Cleanor repository's README, as published. We do not edit it. Read it on GitHub
Cleanor MCP: a zero-auth MCP server for image optimization and dev utilities
A hosted, zero-auth MCP server with 22 tools: optimize and convert images, generate QR codes, and run the deterministic dev utilities LLMs get wrong.
No API key. No signup. No OAuth. Point any Model Context Protocol client at one URL and 22 tools appear, all read-only and safe to hand to an autonomous agent.
Install
Pick your client. Every option below points at the same hosted server, so there is nothing to build, install or key.
Claude Code
claude mcp add --transport http cleanor https://mcp.cleanor.app/mcpThen run claude mcp list to confirm it connected. Full walkthrough: docs/add-an-mcp-server-to-claude-code.md.
Cursor
Add to .cursor/mcp.json (per project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"cleanor": {
"url": "https://mcp.cleanor.app/mcp"
}
}
}VS Code
Run code --add-mcp '{"name":"cleanor","type":"http","url":"https://mcp.cleanor.app/mcp"}', or add the server to .vscode/mcp.json in the workspace:
{
"servers": {
"cleanor": {
"type": "http",
"url": "https://mcp.cleanor.app/mcp"
}
}
}Claude Desktop
Open Settings, then Connectors, then "Add custom connector", and paste the endpoint:
https://mcp.cleanor.app/mcpOr run the server locally over stdio from claudedesktopconfig.json:
{
"mcpServers": {
"cleanor": {
"command": "npx",
"args": ["-y", "@cleanor/mcp"]
}
}
}The npm build is the same tool registry compiled for Node. It uses sharp (an optional dependency) for local image encoding; the other 21 tools need nothing.
Raw Streamable HTTP
The endpoint speaks the MCP Streamable HTTP transport, so you can drive it with curl or any HTTP client:
curl -s https://mcp.cleanor.app/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize",
"params":{"protocolVersion":"2025-06-18","capabilities":{},
"clientInfo":{"name":"curl","version":"1"}}}'There is also a plain REST surface for non-MCP callers: GET /v1/capabilities (feature detection, machine-readable tool list) and POST /v1/optimize (one image in, optimized bytes out).
Tools
22 tools, every one of them carrying an input and an output schema, so a client gets typed structuredContent back and not just a wall of text.
Image
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
claude mcp add --transport http cleanor https://mcp.cleanor.app/mcp
Cleanor: common questions
- Is Cleanor MCP server safe?
- Mostly: it is graded B (82/100). Read the Cleanor safety report
- How do I install Cleanor?
- It runs remotely at mcp.cleanor.app. Add it to Claude Code, Claude Desktop or Cursor with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does Cleanor need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Cleanor maintained?
- The last commit was 75 days ago (2026-07-14). The latest release is v0.6.1.
- Is Cleanor up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- What can I use instead of Cleanor?
- Servers from other publishers that do the same job: three.ws Vision MCP server, anymd MCP server and SuperCMO MCP server. Compare all Cleanor alternatives.
Alternatives to Cleanor
Same job from other publishers: the closest match first, then the best rated.
- three.ws VisionImage understanding for AI agents — analyze and describe any image via the three.ws pipeline.not reviewedEstablishedA
- anymdAny file → clean Markdown for AI agents: PDF, Office, EPUB, HTML, images, audio/video. Local MCP.not reviewedEstablishedA
- SuperCMOMarketing media generation — image, video, voice — for AI agents. BYO keys.not reviewedGrowingB
not reviewedGrowingA
RendobarTransform video, audio and images, and generate media from prompts. FFmpeg, captions, models.not reviewedGrowingA