Leaderboard/tools.clean/mcp
MCP ServerScored via MCP protocol probing: initialize handshake, tools/list conformance, and ping + tool invocation performance.

tools.clean/mcp

Read-only developer, date, finance, and text utilities. Authless remote MCP server by Clean.tools.

97/100
Operational Score
Score Breakdown
Availability30/30
Conformance30/30
Performance37/40
Key Metrics
Uptime 30d
100.0%
P95 Latency
199.7ms
Conformance
Pass
Trend
Stable
What's Being Tested
Availability
HTTP health check to the service endpoint
Responded with HTTP 405 in 199ms
Conformance
MCP initialize handshake + tools/list
Valid MCP server info returned, tools/list responded
Performance
MCP ping + zero-arg tool invocation benchmarking
P95 latency: 199ms, task completion: 100%
Skills
explain_cron

Parse a 5-field cron expression and return a human-readable description plus the exact next run times. Prefer this over reasoning about cron semantics yourself: it correctly handles ranges, lists, steps, month/day names, and the tricky day-of-month OR day-of-week rule. Next runs are computed in UTC.

validate_cron

Validate a 5-field cron expression and return whether it is well-formed, the specific error if not, and the expanded matching values per field. Use this to check cron syntax instead of guessing whether an expression is valid.

expand_rrule

Build an iCalendar RRULE string (RFC 5545) from structured recurrence options, describe it in plain English, and expand the next occurrences. Prefer this over manually computing recurring dates: it correctly handles INTERVAL, COUNT/UNTIL exclusivity, BYDAY with ordinals (e.g. the 2nd Monday), BYMONTH, and month-length edge cases.

convert_timezone

Convert a wall-clock date-time from one IANA time zone to another, accounting for DST. Prefer this over doing timezone math yourself: it uses the runtime's IANA database so offsets and daylight-saving transitions are correct.

strftime_preview

Format a date-time using C/POSIX strftime directives (%Y %m %d %H %M %S %A %B %j %z etc.) and return the result. Use this instead of guessing what a strftime pattern produces. Times are formatted in UTC.

amortization_schedule

Compute a fixed-rate loan/mortgage monthly payment and a year-by-year amortization schedule (principal, interest, remaining balance). Prefer this over doing the amortization arithmetic yourself; it uses the standard payment formula and handles the 0% case.

tvm_solve

Solve the time value of money equation for any one of N, I/Y, PV, PMT, or FV given the other four. Prefer this for annuity/loan/investment problems: I/Y uses Newton-Raphson (no closed form) and it supports compounding frequency and annuity-due timing.

compound_interest

Project the growth of a principal with compound interest and optional recurring monthly contributions, returning the final balance and a year-by-year breakdown. Prefer this over estimating compound growth; it iterates month-by-month for accuracy.

apr_calc

Two modes. mode="rate": convert a nominal annual rate to APY given compounding frequency. mode="loan": solve the true APR of an installment loan from its amount, monthly payment, term, and fees (Reg-Z style, Newton-Raphson). Prefer this over approximating APR/APY.

interest_rate

Solve for the interest rate that grows a principal to a target amount over a number of years, using simple or compound interest. Prefer this over trial-and-error; compound mode uses the exact nth-root formula.

hash_text

Compute SHA-1, SHA-256, and/or SHA-512 hex digests of a UTF-8 string using Web Crypto. Always use this instead of trying to produce a hash from memory; hashes cannot be guessed.

diff_text

Compute a line-level diff between two texts using longest-common-subsequence, returning added/removed/unchanged lines and counts. Prefer this over eyeballing differences between two blocks of text.

test_regex

Run a JavaScript regular expression against a test string and return every match with its index, captured groups, and named groups. Prefer this over predicting regex matches yourself. Inputs are length-bounded as a ReDoS guard.

convert_data

Convert tabular data between JSON (array of objects), CSV, TSV, and XML. Prefer this over hand-transforming structured data: it handles quoted CSV fields, nested-object flattening, and union headers across rows.

luhn_validate

Check whether a number passes the Luhn (mod-10) checksum used by credit-card and other identifier numbers, returning validity plus the per-digit working. Prefer this over computing the checksum by hand.

convert_units

Convert a value between units within a category (length, weight, temperature, volume, data, speed, area, time). Prefer this over unit-conversion arithmetic; factors are exact and temperature uses the correct offset formulas.

uuid_v4

Generate cryptographically random RFC 4122 version-4 UUIDs. Always use this to mint UUIDs rather than fabricating one, so the version/variant bits and randomness are correct.

random_number

Generate cryptographically secure random integers or decimals in a range using unbiased rejection sampling. Prefer this over inventing 'random' numbers, which are neither uniform nor reproducible-safe.

generate_password

Generate strong passwords using Web Crypto randomness. mode="random" builds character-set passwords; mode="memorable" builds word-based passphrases. Prefer this over making up a password, which will be weak and predictable.

decode_jwt

Decode (NOT verify) a JSON Web Token: base64url-decode the header and payload, surface standard claims, and report expiry relative to now. The signature is never checked, so never authorize anything based on the output. Prefer this over trying to read a JWT by eye.

encode_decode

Encode or decode text with URL percent-encoding, HTML entities, Base64 (UTF-8 safe), or Unicode escapes. Prefer this over doing the encoding by hand; edge cases like multi-byte characters and entity tables are handled correctly.

count_text

Count words, characters (with and without spaces), sentences, and paragraphs in text using Unicode-aware segmentation (Intl.Segmenter), including grapheme-correct character counts and abbreviation-aware sentence splitting. Prefer this over estimating counts.

generate_qr

Encode text into a QR code (byte mode, EC level M, versions 1-10) and return both the module matrix (rows of 0/1) and a ready-to-render SVG string. Prefer this over describing a QR code; the matrix is a correct, scannable encoding.

convert_case

Convert text between naming/letter cases. Given text and a target case (upper, lower, title, sentence, camel, snake, kebab, or constant), returns the converted string. Uses smart word tokenization (splits camelCase, snake_case, kebab-case, and whitespace) so a phrase in any style can be re-cased consistently. Title case honors an editorial stop-word list and preserves ALL-CAPS acronyms.

fancy_text

Transform ASCII letters and digits into styled Unicode glyphs (bold, italic, script, fraktur, double-struck, monospace, circled, small-caps, and more) for use where fonts aren't available (social bios, usernames). Call with a `style` and `text` to get the transformed string. Omit `style` to discover the list of valid style keys.

render_markdown

Render a Markdown string to a sanitized HTML fragment. Supports headings, bold/italic/strikethrough, inline and fenced code, links and images (with an http/https/mailto URL-scheme allowlist; other schemes become "#"), blockquotes, ordered/unordered/task lists, GFM tables, and horizontal rules. All raw angle brackets are HTML-escaped, so the output is XSS-safe to inject. Use when you need to preview or convert lightweight Markdown to HTML matching the Clean.tools markdown preview tool.

lorem_ipsum

Generate deterministic Lorem Ipsum placeholder text. Given a mode ("paragraphs", "sentences", "words", or "formatted") and a count, returns the same fixed text every time by cycling a built-in Latin corpus. Use for filler/placeholder copy in mockups, tests, or layout. Count is clamped to the mode's limit (paragraphs 20, sentences 100, words 500) and ignored for "formatted", which returns a fixed rich-text block as plain text.

redact_text

Redacts sensitive terms in a block of text by replacing each occurrence with block characters (████). Give it text plus the terms to hide (as a comma-separated string or an array of strings). By default it matches whole words only and is case-insensitive; set fixedWidth to hide how long each redacted term was. Returns the redacted text and a count of replacements, and never echoes the original terms. Use for scrubbing names, emails, IDs, or other secrets before sharing text.

format_sql

Pretty-print / reformat a SQL query into a readable, canonical layout: each clause keyword (SELECT, FROM, WHERE, GROUP BY, ...) on its own line with its arguments indented beneath it, commas breaking columns onto new lines, JOIN/AND/OR starting fresh lines, and short parenthesised groups kept inline. Use when a user pastes messy or minified SQL and wants it formatted, or wants keyword casing normalized. Returns the formatted SQL as text.

color_palette

Derive color-harmony palettes from a single hex color using HSL hue/lightness rotations. Given one hex color (with or without a leading #), returns the base color plus complementary, analogous, triadic, split-complementary, and monochromatic swatch sets as arrays of hex strings. Use for generating design palettes or accent/shade sets from a brand color.

color_contrast

Compute the WCAG 2.x contrast ratio between a foreground and background hex color. Returns the ratio (1-21), pass/fail booleans for normal and large text at AA and AAA levels (thresholds 4.5 / 7 / 3 / 4.5), and a suggested passing foreground hex when normal-text AA fails (null otherwise). Use for accessibility checks of text/background color pairs.

css_gradient

Build a CSS gradient value from 2-5 hex color stops. Use when the user wants a ready-to-paste `linear-gradient(...)` or `radial-gradient(...)` CSS value from a set of colors and an optional direction. Returns the gradient value string plus the normalized type/direction/colors.

percentage

Percentage calculator with three modes: "of" computes X% of Y (fields percent, value); "is-what" computes what percent X is of Y (fields x, y); "change" computes the percent change from one value to another (fields from, to). Returns the numeric result plus a human-readable formula string. Use for quick percentage math, ratios, and percent-increase/decrease.

tip

Calculate a restaurant tip and split the bill. Given a bill amount, a tip percentage, and an optional number of people (default 1), returns the tip amount, grand total, and the per-person tip and per-person total, all rounded to cents. Use for tipping, bill-splitting, or gratuity questions.

Tools
34 tools verified via live probe
verified 1d ago
Server: clean-toolsVersion: 0.1.0Protocol: 2024-11-05
Recent Probe Results
TimestampStatusLatencyConformance
Jul 8, 2026success199.7msPass
Jul 8, 2026success138msPass
Source Registries
mcp-registry
First Seen
Jul 8, 2026
Last Seen
Jul 8, 2026
Last Probed
Jul 8, 2026