Developer Tools
clean.tools
Provides utilities for parsing, validating, and converting cron expressions, RRULEs, and timezones.
ENDPOINT 1
https://mcp.clean.tools/mcp
Known tools 42
explain_cronUse this when you need to understand or schedule a 5-field cron expression.
validate_cronUse this when you need to check whether a 5-field cron expression is well-formed, instead of guessing.
expand_rruleUse this when you need to build an iCalendar RRULE (RFC 5545) or list the actual dates a recurrence produces.
convert_timezoneUse this when you need to convert a wall-clock date-time between IANA time zones with correct DST handling.
strftime_previewUse this when you need to know exactly what a C/POSIX strftime pattern (%Y %m %d %H %M %S %A %B %j %z etc.) produces.
amortization_scheduleUse this when you need a fixed-rate loan or mortgage's level monthly payment plus a year-by-year amortization schedule (principal paid, interest paid, remaining balance) rather than doing the amortization arithmetic yourself.
tvm_solveUse this when you have four of the five time-value-of-money variables (N periods, I/Y annual rate percent, PV, PMT, FV) and need the fifth - annuity, loan, or investment problems - instead of solving the equation by hand.
compound_interestUse this when you need to project a principal's growth under compound interest, optionally with recurring monthly contributions, returning the final balance and a year-by-year breakdown rather than estimating compound growth yourself.
apr_calcUse this when you need an exact loan APR or APY rather than an approximation.
interest_rateUse this when you need the exact interest rate that grows a principal to a target amount over a set number of years.
hash_textUse this when you need the exact SHA-1, SHA-256, and/or SHA-512 hex digest of a UTF-8 string — never recall or guess a hash, since digests cannot be produced from memory.
diff_textUse this when you need an exact line-level diff between two blocks of text instead of eyeballing the differences.
test_regexUse this when you need the true matches of a JavaScript regular expression rather than predicting regex behavior yourself, which is easy to get wrong.
convert_dataUse this when you need to convert tabular data between JSON (array of objects), CSV, TSV, and XML instead of hand-transforming it.
luhn_validateUse this when you need to check whether a number passes the Luhn (mod-10) checksum used by credit cards and many identifier numbers, instead of computing the doubling-and-summing by hand.
convert_unitsUse this when you need to convert a value between units within one category (length, weight, temperature, volume, data, speed, area, time) instead of doing conversion arithmetic yourself.
uuid_v4Use this when you need RFC 4122 version-4 UUIDs — always generate them here rather than fabricating one, so the version and variant bits and the randomness are correct.
random_numberUse this when you need to draw cryptographically secure random integers or decimals in a range using unbiased rejection sampling — prefer it over inventing 'random' numbers, which are neither uniform nor safe.
generate_passwordUse this when you need strong passwords with Web Crypto randomness: mode="random" builds character-set passwords (length plus uppercase/lowercase/numbers/symbols toggles); mode="memorable" builds word passphrases (words, separator, addNumber, addSymbol).
decode_jwtUse this when you need to decode (NOT verify) a JSON Web Token: base64url-decode the header and payload, surface standard claims, and report expiry — prefer it over reading a JWT by eye.
encode_decodeUse this when you need to encode or decode text and want multi-byte and entity edge cases handled correctly rather than doing it by hand.
count_textUse this when you need exact word, character, sentence, and paragraph counts instead of estimating.
generate_qrUse this when you need to turn text or a URL into a real, scannable QR code rather than describing one.
convert_caseUse this when you need to re-case text into a specific naming or letter case.
fancy_textUse this when you need to style ASCII letters and digits as Unicode glyphs (bold-serif, italic-serif, bold-italic-serif, bold-sans, script, fraktur, double-struck, monospace, circled, squared, parenthesized, small-caps) for places that lack font control such as social bios or usernames.
render_markdownUse this when you need to convert lightweight Markdown into a sanitized, XSS-safe HTML fragment to preview or embed, matching the Clean.tools markdown preview.
lorem_ipsumUse this when you need placeholder/filler copy for mockups, tests, or layout.
redact_textUse this when scrubbing test/dev text: replaces each occurrence of the given terms with block characters (████).
format_sqlUse this when a user pastes messy or minified SQL and wants it pretty-printed into a readable, canonical layout, or wants keyword casing normalized.
color_paletteUse this when you need color-harmony palettes derived from one base hex color.
color_contrastUse this when checking whether a text/background color pair meets WCAG 2.x accessibility contrast.
css_gradientUse this when you need a ready-to-paste CSS gradient value from 2-5 hex color stops.
percentageUse this when you want exact, auditable percentage math with a written-out formula.
tipUse this when you want penny-accurate tip and bill-split figures.
convert_timestampUse this when you have a timestamp in one form (unix epoch seconds/milliseconds/microseconds, or an ISO-8601 date-time) and need it in the others, or rendered in a specific IANA time zone.
format_jsonUse this when you need to pretty-print, minify, or validate a JSON string and want the exact reformatted text plus warnings about silent data loss.
convert_yamlUse this when converting between YAML and JSON in either direction, or normalizing one format in place (set from equal to to).
convert_colorUse this when you need one color's exact values across every common format.
slugifyUse this when you need a URL- or filename-safe slug from arbitrary text.
convert_number_baseUse this when you need to convert an integer between numeral bases 2-36 (binary, octal, decimal, hex, or any radix up to 36), including arbitrarily large values and an optional leading minus sign.
query_jsonUse this when you need to pull specific values out of a JSON document by JSONPath and getting the path exactly right on deeply nested or large structures matters.
generate_idUse this when you need a modern unique identifier (UUID v7, UUID v5, ULID, or nanoid) or want to read the timestamp embedded in an existing ULID or UUIDv7.
ENDPOINT 2
https://mcp.clean.tools/mcp?tools=explain_cron,convert_timezone
Known tools 2
explain_cronUse this when you need to understand or schedule a 5-field cron expression.
convert_timezoneUse this when you need to convert a wall-clock date-time between IANA time zones with correct DST handling.