# cleanor-app/cleanor-mcp [Health: Active]

**Category:** 🎥 Multimedia Process  
**Repository:** https://github.com/cleanor-app/cleanor-mcp  
**GitHub Stars:** 0  
**npm Downloads (last month):** 669  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/cleanor-app-cleanor-mcp

## Description
Zero-auth hosted server with 22 read-only tools: optimize/convert images (WebP/AVIF/JPEG), paste-ready SVG QR codes, cited Cleanor Labs data on device storage capacity and next-gen image-format savings (AVIF/WebP/JPEG XL vs JPEG, HEIC conversion tax), plus 18 deterministic dev utilities LLMs get wrong (hash, HMAC, UUID, base64, JWT decode, JSON, regex, cron, unit & base convert, datetime, URL parse, diff, color, palette, slugify, count, SVG placeholder). No API key or signup; Streamable HTTP at https://mcp.cleanor.app/mcp.

## Tools
Capabilities this server exposes over MCP:

- **optimize_image** — Fetch 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.
- **storage_capacity** — How 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.
- **image_format_savings** — How 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.
- **qr_code** — Encode 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.
- **hash** — Compute 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.
- **uuid** — Generate 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.
- **base64** — Encode 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.
- **json_format** — Validate 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_decode** — Decode 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.
- **color** — Convert 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.
- **slugify** — Turn a title or phrase into a clean, URL-safe slug (lowercase, hyphenated, accents stripped). Use when generating page paths, filenames or anchor IDs.
- **count** — Accurately 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.
- **regex_test** — Test 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.
- **cron_describe** — Parse 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.
- **unit_convert** — Convert 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.
- **datetime** — Get 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.
- **url_parse** — Break 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.
- **base_convert** — Convert 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.
- **diff** — Compute 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.
- **hmac** — Compute 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.
- **placeholder_image** — Generate 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.
- **color_palette** — Build 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.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "cleanor-mcp": {
    "command": "npx",
    "args": ["-y","@cleanor/mcp"]
  }
}
```

## Documentation

## What cleanor-app/cleanor-mcp MCP server does

cleanor-app/cleanor-mcp MCP server exposes 22 read-only tools for image workflows and developer-focused calculations. Its image tools can fetch a public image URL, re-encode the image as WebP, AVIF, or JPEG, optionally resize it, and report before-and-after byte counts. It can also create SVG QR codes and dependency-free SVG placeholders.

Two tools provide Cleanor Labs research data. `storage_capacity` estimates how many photos or minutes of video fit within a storage tier after accounting for operating-system and filesystem overhead. `image_format_savings` compares WebP, AVIF, and JPEG XL with JPEG at matched perceptual quality and reports the HEIC conversion tax.

The remaining tools cover deterministic operations that benefit from exact execution rather than language-model estimation: hashes and HMACs, UUIDs, Base64, JSON validation and formatting, JWT decoding, regular-expression testing, cron descriptions, unit and base conversion, date and time conversion, URL parsing, text diffs, color conversion, palettes, slugification, and text counts.

## How it works

The hosted service is available at `https://mcp.cleanor.app/mcp` using MCP Streamable HTTP. No API key, signup, or OAuth flow is required. MCP clients receive typed input and output schemas for the tools, and every tool is marked read-only.

`optimize_image` is the only tool that reaches outside the server: it downloads an image from a public URL, subject to a 25 MB input limit. The other tools are pure computations with no network access or persistent state. The server also exposes `GET /v1/capabilities` and `POST /v1/optimize` for non-MCP callers.

## Setup and configuration

For a hosted connection, configure an MCP client with the endpoint URL and no credentials. Cursor can use the URL in its MCP configuration, and Claude Desktop supports it as a custom connector. The README also documents Claude Code and VS Code configurations.

A local stdio installation is available from npm:

```bash
npx -y @cleanor/mcp
```

The local package contains the same tool registry as the hosted service. Local image encoding uses the optional `sharp` dependency; the other tools do not require it. No environment variables or secret configuration are specified.

## Tools and capabilities

The image group includes `optimize_image`, `qr_code`, and `placeholder_image`. QR generation accepts text or URLs and returns SVG output. Placeholders support dimensions, labels, and custom background and text colors.

The utility group supports exact cryptographic digests with SHA-1, SHA-256, SHA-384, and SHA-512, plus HMAC output in hexadecimal or Base64. UUID generation supports random v4 and time-sortable v7 identifiers. Other tools validate or transform common developer data, including JSON, JWT headers and payloads, Base64, URLs, regular expressions, cron expressions, colors, text, and numeric bases.

Use `datetime` for the current time or timestamp conversion in an IANA timezone, `unit_convert` for supported physical and data units, and `diff` for line-based text comparison. `cleanor-app/cleanor-mcp MCP server` also includes palette generation from a base color and exact counts for Unicode code points, UTF-16 units, words, lines, and UTF-8 bytes.

## Limitations and notes

JWT decoding does not verify signatures and does not require or store a secret. MD5 is not available. Regular-expression results are capped at the first 100 matches, and diffs support up to 1,000 lines per side. Image optimization accepts only public URLs and limits input to 25 MB.

The hosted endpoint is unauthenticated, so developers should consider the data they send to its tools. `cleanor-app/cleanor-mcp MCP server` is licensed under MIT according to the repository badge and provides read-only operations rather than tools that modify external systems.

_Full upstream README: https://allmcps.com/mcp/cleanor-app-cleanor-mcp/readme_

