MCP Server

Cleanor

app.cleanor/cleanor
Design & Creative Developer Tools Public & reachable MCP 2025-11-25

What this MCP does

Offers deterministic developer utilities, data conversion and validation tools, image optimization, color tools, QR generation, and placeholder graphics.

base64
Base64 encode / decode
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['input'], 'properties': {'mode': {'enum': ['encode', 'decode'], 'type': 'string', 'default': 'encode', 'description': 'Direction.'}, 'input': {'type': 'string', 'maxLength': 100000, 'minLength': 1, 'description': 'Text to encode, or Base64 to decode.'}, 'url_safe': {'type': 'boolean', 'default': False, 'description': 'Use URL-safe alphabet (-_ instead of +/, no padding).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['mode', 'result'], 'properties': {'mode': {'type': 'string', 'description': 'encode or decode.'}, 'result': {'type': 'string', 'description': 'The encoded or decoded text.'}}, 'additionalProperties': False}
base_convert
Convert a number between bases
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['value'], 'properties': {'value': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'The number, in from_base (e.g. "ff", "1010", "255").'}, 'to_base': {'type': 'integer', 'default': 16, 'maximum': 36, 'minimum': 2, 'description': 'Base to convert to (2â\x80\x9336).'}, 'from_base': {'type': 'integer', 'default': 10, 'maximum': 36, 'minimum': 2, 'description': 'Base of the input (2â\x80\x9336).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['input', 'from_base', 'to_base', 'result', 'decimal'], 'properties': {'input': {'type': 'string'}, 'result': {'type': 'string', 'description': 'The value in to_base.'}, 'decimal': {'type': 'string', 'description': 'The value in base 10.'}, 'to_base': {'type': 'number'}, 'from_base': {'type': 'number'}}, 'additionalProperties': False}
color
Convert a color between formats
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['value'], 'properties': {'value': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'A color: "#3b82f6", "rgb(59,130,246)" or "hsl(217,91%,60%)".'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hex', 'rgb', 'hsl'], 'properties': {'hex': {'type': 'string'}, 'hsl': {'type': 'string'}, 'rgb': {'type': 'string'}}, 'additionalProperties': False}
color_palette
Generate a 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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['color'], 'properties': {'color': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'Base color: "#3b82f6", "rgb(...)" or "hsl(...)".'}, 'harmony': {'enum': ['complementary', 'analogous', 'triadic', 'tetradic', 'monochromatic'], 'type': 'string', 'default': 'analogous', 'description': 'Color-harmony rule.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['harmony', 'base', 'colors'], 'properties': {'base': {'type': 'string', 'description': 'The base color as hex.'}, 'colors': {'type': 'array', 'items': {'type': 'object', 'required': ['hex', 'hsl'], 'properties': {'hex': {'type': 'string'}, 'hsl': {'type': 'string'}}, 'additionalProperties': False}}, 'harmony': {'type': 'string'}}, 'additionalProperties': False}
count
Count characters, words, lines, bytes
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['input'], 'properties': {'input': {'type': 'string', 'maxLength': 100000, 'minLength': 0, 'description': 'Text to measure.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['characters', 'utf16_units', 'words', 'lines', 'bytes'], 'properties': {'bytes': {'type': 'number', 'description': 'UTF-8 bytes.'}, 'lines': {'type': 'number'}, 'words': {'type': 'number'}, 'characters': {'type': 'number', 'description': 'Unicode code points.'}, 'utf16_units': {'type': 'number'}}, 'additionalProperties': False}
cron_describe
Explain a cron expression
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.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['expression'], 'properties': {'expression': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'A 5-field cron expression, e.g. "30 2 * * 1-5".'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['minute', 'hour', 'day_of_month', 'month', 'day_of_week', 'next_runs'], 'properties': {'hour': {'type': 'string'}, 'month': {'type': 'string'}, 'minute': {'type': 'string'}, 'next_runs': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Next run times in UTC ISO 8601.'}, 'day_of_week': {'type': 'string'}, 'day_of_month': {'type': 'string'}}, 'additionalProperties': False}
datetime
Current or parsed date/time
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.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'input': {'type': 'string', 'maxLength': 64, 'description': 'Optional: a Unix timestamp (s or ms) or ISO date string. Omit for the current time.'}, 'timezone': {'type': 'string', 'default': 'UTC', 'maxLength': 64, 'description': 'IANA timezone, e.g. "America/New_York" or "UTC".'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['timezone', 'local', 'iso_utc', 'unix_s', 'unix_ms'], 'properties': {'local': {'type': 'string', 'description': 'Human-readable local time in the timezone.'}, 'unix_s': {'type': 'number'}, 'iso_utc': {'type': 'string'}, 'unix_ms': {'type': 'number'}, 'timezone': {'type': 'string'}}, 'additionalProperties': False}
diff
Line diff between two texts
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['a', 'b'], 'properties': {'a': {'type': 'string', 'maxLength': 100000, 'minLength': 0, 'description': 'The original ("before") text.'}, 'b': {'type': 'string', 'maxLength': 100000, 'minLength': 0, 'description': 'The updated ("after") text.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['changed', 'added', 'removed', 'diff'], 'properties': {'diff': {'type': 'string', 'description': 'The line diff (+/-/space prefixed), empty if identical.'}, 'added': {'type': 'number'}, 'changed': {'type': 'boolean'}, 'removed': {'type': 'number'}}, 'additionalProperties': False}
hash
Hash text (SHA family)
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['input'], 'properties': {'input': {'type': 'string', 'maxLength': 100000, 'minLength': 1, 'description': 'Text to hash (UTF-8).'}, 'algorithm': {'enum': ['sha-256', 'sha-1', 'sha-384', 'sha-512'], 'type': 'string', 'default': 'sha-256', 'description': 'Hash algorithm. Default sha-256.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['algorithm', 'hex'], 'properties': {'hex': {'type': 'string', 'description': 'The hex-encoded digest.'}, 'algorithm': {'type': 'string', 'description': 'The hash algorithm used.'}}, 'additionalProperties': False}
hmac
HMAC signature of a message
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['message', 'secret'], 'properties': {'secret': {'type': 'string', 'maxLength': 4096, 'minLength': 1, 'description': 'The shared secret key (UTF-8).'}, 'message': {'type': 'string', 'maxLength': 100000, 'minLength': 0, 'description': 'The message to sign (UTF-8).'}, 'encoding': {'enum': ['hex', 'base64'], 'type': 'string', 'default': 'hex', 'description': 'Output encoding.'}, 'algorithm': {'enum': ['sha-256', 'sha-1', 'sha-384', 'sha-512'], 'type': 'string', 'default': 'sha-256', 'description': 'Hash algorithm.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['algorithm', 'encoding', 'signature'], 'properties': {'encoding': {'type': 'string'}, 'algorithm': {'type': 'string'}, 'signature': {'type': 'string', 'description': 'The HMAC in the requested encoding.'}}, 'additionalProperties': False}
image_format_savings
Real storage savings of next-gen image formats
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.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'format': {'enum': ['webp', 'avif', 'jxl'], 'type': 'string', 'default': 'avif', 'description': 'Target format to compare against JPEG.'}, 'quality': {'enum': ['web', 'high'], 'type': 'string', 'default': 'web', 'description': 'web = typical web quality (SSIM 0.95); high = near-lossless (SSIM 0.98).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['format', 'quality', 'percent_smaller_than_jpeg', 'all_formats', 'source'], 'properties': {'format': {'type': 'string'}, 'source': {'type': 'string'}, 'quality': {'type': 'string'}, 'all_formats': {'type': 'object', 'required': ['avif', 'webp', 'jxl'], 'properties': {'jxl': {'type': 'number'}, 'avif': {'type': 'number'}, 'webp': {'type': 'number'}}, 'additionalProperties': False}, 'percent_smaller_than_jpeg': {'type': 'number'}}, 'additionalProperties': False}
json_format
Format / validate JSON
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['input'], 'properties': {'mode': {'enum': ['pretty', 'minify'], 'type': 'string', 'default': 'pretty', 'description': 'pretty = 2-space indent; minify = single line.'}, 'input': {'type': 'string', 'maxLength': 100000, 'minLength': 1, 'description': 'JSON text.'}, 'sort_keys': {'type': 'boolean', 'default': False, 'description': 'Sort object keys alphabetically (deep).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['valid', 'formatted'], 'properties': {'valid': {'type': 'boolean', 'description': 'Whether the input was valid JSON.'}, 'formatted': {'type': 'string', 'description': 'The formatted JSON text.'}}, 'additionalProperties': False}
jwt_decode
Decode a JWT (no verification)
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['token'], 'properties': {'token': {'type': 'string', 'maxLength': 100000, 'minLength': 1, 'description': 'The JWT (three dot-separated segments).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'header': {'description': 'The decoded JWT header object.'}, 'exp_iso': {'type': 'string', 'description': 'Expiry as ISO 8601, if present.'}, 'expired': {'type': 'boolean', 'description': 'Whether the token is past its exp, if present.'}, 'payload': {'description': 'The decoded JWT payload (claims).'}}, 'additionalProperties': False}
optimize_image
Optimize / convert an image for the web
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.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['image_url'], 'properties': {'width': {'type': 'integer', 'maximum': 4096, 'minimum': 16, 'description': 'Resize to this width in px, preserving aspect ratio. Omit to keep original size.'}, 'format': {'enum': ['webp', 'avif', 'jpeg'], 'type': 'string', 'default': 'webp', 'description': 'Output format. webp = best browser support; avif = smallest; jpeg = universal.'}, 'quality': {'type': 'integer', 'default': 80, 'maximum': 100, 'minimum': 1, 'description': 'Encode quality 1-100 (80 is a good default).'}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'Public URL of the source image (PNG/JPEG/WebP/AVIF/GIF).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['format', 'original_bytes', 'optimized_bytes', 'saved_pct', 'mime_type'], 'properties': {'format': {'type': 'string', 'description': 'Output image format.'}, 'mime_type': {'type': 'string'}, 'saved_pct': {'type': 'number', 'description': 'Percent smaller than the original.'}, 'original_bytes': {'type': 'number'}, 'optimized_bytes': {'type': 'number'}}, 'additionalProperties': False}
placeholder_image
Generate a placeholder image (SVG)
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'bg': {'type': 'string', 'default': '#e5e7eb', 'maxLength': 32, 'description': 'Background color (hex, rgb() or hsl()).'}, 'text': {'type': 'string', 'maxLength': 120, 'description': 'Label text. Defaults to the dimensions, e.g. "600Ã\x97400".'}, 'color': {'type': 'string', 'default': '#6b7280', 'maxLength': 32, 'description': 'Text color.'}, 'width': {'type': 'integer', 'default': 600, 'maximum': 4000, 'minimum': 1, 'description': 'Width in pixels.'}, 'height': {'type': 'integer', 'default': 400, 'maximum': 4000, 'minimum': 1, 'description': 'Height in pixels.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['svg', 'width', 'height'], 'properties': {'svg': {'type': 'string', 'description': 'The SVG markup.'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}}, 'additionalProperties': False}
qr_code
Generate a QR code (SVG)
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.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['text'], 'properties': {'ecc': {'enum': ['L', 'M', 'Q', 'H'], 'type': 'string', 'default': 'M', 'description': 'Error-correction level: L=7%, M=15%, Q=25%, H=30% recoverable.'}, 'size': {'type': 'integer', 'default': 320, 'maximum': 1024, 'minimum': 64, 'description': 'SVG pixel size.'}, 'text': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'Text or URL to encode.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['svg'], 'properties': {'svg': {'type': 'string', 'description': 'The QR code as SVG markup.'}}, 'additionalProperties': False}
regex_test
Test a regular expression
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['pattern', 'input'], 'properties': {'flags': {'type': 'string', 'default': 'g', 'maxLength': 8, 'description': 'Regex flags, e.g. "gi". Allowed: g i m s u y d.'}, 'input': {'type': 'string', 'maxLength': 20000, 'minLength': 0, 'description': 'Text to test against.'}, 'pattern': {'type': 'string', 'maxLength': 1000, 'minLength': 1, 'description': 'The regex pattern (without slashes).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['matched', 'match_count', 'truncated', 'matches'], 'properties': {'matched': {'type': 'boolean', 'description': 'Whether the pattern matched at all.'}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['index', 'match', 'groups'], 'properties': {'index': {'type': 'number'}, 'match': {'type': 'string'}, 'groups': {'type': 'array', 'items': {'type': ['string', 'null']}}}, 'additionalProperties': False}, 'description': 'Each match with its start index and captured groups.'}, 'truncated': {'type': 'boolean', 'description': 'True if results were capped at 100.'}, 'match_count': {'type': 'number'}}, 'additionalProperties': False}
slugify
Slugify text for URLs
Turn a title or phrase into a clean, URL-safe slug (lowercase, hyphenated, accents stripped). Use when generating page paths, filenames or anchor IDs.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['input'], 'properties': {'input': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'Text to slugify.'}, 'separator': {'enum': ['-', '_'], 'type': 'string', 'default': '-', 'description': 'Word separator.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'The URL-safe slug.'}}, 'additionalProperties': False}
storage_capacity
How much fits in a phone storage tier
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.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['storage_gb'], 'properties': {'content': {'enum': ['photos', 'video'], 'type': 'string', 'default': 'photos', 'description': 'What to count.'}, 'storage_gb': {'type': 'number', 'maximum': 4096, 'minimum': 1, 'description': 'Advertised storage size in GB (e.g. 64, 128, 256, 512).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['storage_gb', 'usable_gb', 'content', 'breakdown'], 'properties': {'content': {'type': 'string'}, 'breakdown': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'count', 'unit'], 'properties': {'unit': {'type': 'string'}, 'count': {'type': 'number'}, 'label': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'How many of each item fit.'}, 'usable_gb': {'type': 'number', 'description': 'Usable GB after OS/filesystem overhead.'}, 'storage_gb': {'type': 'number'}}, 'additionalProperties': False}
unit_convert
Convert between units
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['value', 'from', 'to'], 'properties': {'to': {'type': 'string', 'maxLength': 8, 'minLength': 1, 'description': 'Target unit (must be the same category as "from").'}, 'from': {'type': 'string', 'maxLength': 8, 'minLength': 1, 'description': 'Source unit (e.g. "km", "lb", "mib", "c").'}, 'value': {'type': 'number', 'description': 'The numeric value to convert.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['value', 'from', 'to', 'result', 'category'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'value': {'type': 'number'}, 'result': {'type': 'number'}, 'category': {'type': 'string'}}, 'additionalProperties': False}
url_parse
Parse a URL into parts
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': 'The URL to parse (absolute, with scheme).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['scheme', 'host', 'port', 'path', 'query', 'fragment'], 'properties': {'host': {'type': 'string'}, 'path': {'type': 'string'}, 'port': {'type': 'string', 'description': 'Port, or empty if the scheme default.'}, 'query': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'value'], 'properties': {'key': {'type': 'string'}, 'value': {'type': 'string'}}, 'additionalProperties': False}}, 'scheme': {'type': 'string'}, 'fragment': {'type': 'string'}, 'username': {'type': 'string'}}, 'additionalProperties': False}
uuid
Generate UUIDs
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.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'count': {'type': 'integer', 'default': 1, 'maximum': 100, 'minimum': 1, 'description': 'How many to generate.'}, 'version': {'enum': ['v4', 'v7'], 'type': 'string', 'default': 'v4', 'description': 'UUID version. v7 = time-ordered.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['version', 'uuids'], 'properties': {'uuids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The generated UUIDs.'}, 'version': {'type': 'string', 'description': 'UUID version generated.'}}, 'additionalProperties': False}
Added
color_palette
Sept. 17, 2026, 7:57 a.m.
Added
placeholder_image
Sept. 17, 2026, 7:57 a.m.
Added
hmac
Sept. 17, 2026, 7:57 a.m.
Added
diff
Sept. 17, 2026, 7:57 a.m.
Added
base_convert
Sept. 17, 2026, 7:57 a.m.
Added
url_parse
Sept. 17, 2026, 7:57 a.m.
Added
datetime
Sept. 17, 2026, 7:57 a.m.
Added
unit_convert
Sept. 17, 2026, 7:57 a.m.
Added
cron_describe
Sept. 17, 2026, 7:57 a.m.
Added
regex_test
Sept. 17, 2026, 7:57 a.m.
Added
count
Sept. 17, 2026, 7:57 a.m.
Added
slugify
Sept. 17, 2026, 7:57 a.m.
Added
color
Sept. 17, 2026, 7:57 a.m.
Added
jwt_decode
Sept. 17, 2026, 7:57 a.m.
Added
json_format
Sept. 17, 2026, 7:57 a.m.
Added
base64
Sept. 17, 2026, 7:57 a.m.
Added
uuid
Sept. 17, 2026, 7:57 a.m.
Added
hash
Sept. 17, 2026, 7:57 a.m.
Added
qr_code
Sept. 17, 2026, 7:57 a.m.
Added
image_format_savings
Sept. 17, 2026, 7:57 a.m.
Added
storage_capacity
Sept. 17, 2026, 7:57 a.m.
Added
optimize_image
Sept. 17, 2026, 7:57 a.m.