{"id":304420,"recorded_at":"2026-10-26T23:04:38.135916Z","observed_at":"2026-10-26T23:04:38.135758Z","subject_kind":"endpoint","subject":"296276ef-1f7f-4311-b675-286bdb34f6bf","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":87,"tools":[{"description":"Convert text to and from character codes in several bases. Operations: \"to-codes\" — Convert text to character codes.; \"from-codes\" — Convert character codes back to text.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"to-codes: the text to convert from-codes: the character codes to convert","maxLength":32768,"type":"string"},"operation":{"description":"to-codes — Convert text to character codes. from-codes — Convert character codes back to text.","enum":["to-codes","from-codes"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"base":{"description":"Numeric base. Used by: to-codes, from-codes.","enum":["dec","hex","bin","oct"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"ascii"},{"description":"Reduce a ratio or resolution to lowest terms, name the nearest common ratio, solve the missing dimension and write CSS aspect-ratio. Operations: \"analyze\" — Reduce a ratio or size (16:9, 1920x1080, 2.39) and return presets, CSS and whole-pixel sizes.; \"solve\" — Given a ratio and one dimension, compute the other.; \"fit\" — Largest size at this ratio that fits inside (contain) or covers (cover) a box.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"analyze: A ratio (16:9, 4/3, 1.85:1) or a size (1920x1080). solve: A ratio or size, e.g. \"16:9\". fit: A ratio or size, e.g. \"9:16\".","maxLength":32768,"type":"string"},"operation":{"description":"analyze — Reduce a ratio or size (16:9, 1920x1080, 2.39) and return presets, CSS and whole-pixel sizes. solve — Given a ratio and one dimension, compute the other. fit — Largest size at this ratio that fits inside (contain) or covers (cover) a box.","enum":["analyze","solve","fit"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"boxHeight":{"description":"Box height. Used by: fit. Required by: fit.","type":"number"},"boxWidth":{"description":"Box width. Used by: fit. Required by: fit.","type":"number"},"height":{"description":"Known height. Used by: solve.","type":"number"},"mode":{"default":"contain","description":"Like CSS object-fit. Used by: fit.","enum":["contain","cover"],"type":"string"},"width":{"description":"Known width (give width or height). Used by: solve.","type":"number"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"aspect-ratio"},{"description":"Encode and decode UTF-8 text as Base32 (RFC 4648 + hex), Crockford Base32, Base58 (Bitcoin), Ascii85 or Z85. Operations: \"encode\" — Encode UTF-8 text in the chosen scheme.; \"decode\" — Decode to UTF-8 text (binary payloads are returned as hex).. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"encode: The text to encode. decode: The encoded string. Whitespace is ignored.","maxLength":4096,"type":"string"},"operation":{"description":"encode — Encode UTF-8 text in the chosen scheme. decode — Decode to UTF-8 text (binary payloads are returned as hex).","enum":["encode","decode"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"delimiters":{"default":false,"description":"Ascii85: wrap in <~ ~>. Used by: encode.","type":"boolean"},"padding":{"default":true,"description":"Base32/Base32hex: emit = padding. Used by: encode.","type":"boolean"},"scheme":{"default":"base32","description":"Encoding scheme. Used by: encode, decode.","enum":["base32","base32hex","crockford","base58","ascii85","z85"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"base-n"},{"description":"Encode and decode text in Base64, Base64URL, Base32, Base58, Base85 and hex. Operations: \"encode\" — Encode text into the chosen format.; \"decode\" — Decode text from the chosen format back to plain text.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"encode: The plain text to encode. decode: The encoded text to decode.","maxLength":32768,"type":"string"},"operation":{"description":"encode — Encode text into the chosen format. decode — Decode text from the chosen format back to plain text.","enum":["encode","decode"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"format":{"default":"base64","description":"encode: Target encoding format. decode: Source encoding format. Used by: encode, decode.","enum":["base64","base64url","base32","base58","base85","hex"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"base64"},{"description":"Hash and verify passwords with bcrypt. Operations: \"hash\" — Hash a password with bcrypt at the given cost.; \"verify\" — Verify a plaintext password against a bcrypt hash.. Call with \"operation\" plus \"input\" (and \"options\" where relevant). Not repeatable: hash returns a different result on each call.","inputSchema":{"properties":{"input":{"description":"hash: The plaintext password to hash. verify: The plaintext password to check.","maxLength":32768,"type":"string"},"operation":{"description":"hash — Hash a password with bcrypt at the given cost. verify — Verify a plaintext password against a bcrypt hash.","enum":["hash","verify"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"hash":{"description":"The bcrypt hash to compare against (cost 4 or lower over the API). Used by: verify. Required by: verify.","maxLength":60,"type":"string"},"rounds":{"default":4,"description":"Cost factor (log2 of the rounds). The API runs cost 4 to 4; higher costs run in the browser at /tools/bcrypt. Used by: hash.","maximum":4,"minimum":4,"type":"integer"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"bcrypt"},{"description":"Convert text between camelCase, snake_case, kebab-case and more. Operations: \"convert\" — Convert text to a single chosen case.; \"all\" — Return every supported case transform at once.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"convert: The text to convert. all: The text to convert.","maxLength":8192,"type":"string"},"operation":{"description":"convert — Convert text to a single chosen case. all — Return every supported case transform at once.","enum":["convert","all"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"format":{"default":"camel","description":"Target case format. Used by: convert.","enum":["lower","upper","title","sentence","camel","pascal","snake","kebab","constant","dot","path","toggle"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"case"},{"description":"Break a string into per-character Unicode details. Operations: \"inspect\" — Inspect each character of a string (code point, category, bytes).. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"the text to inspect","maxLength":1024,"type":"string"},"operation":{"description":"inspect — Inspect each character of a string (code point, category, bytes).","enum":["inspect"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"char-inspector"},{"description":"Convert between octal and symbolic Unix file permissions. Operations: \"octal-to-symbolic\" — Convert octal permissions (e.g. \"755\") to a symbolic string and description.; \"symbolic-to-octal\" — Convert a symbolic permission string (e.g. \"rwxr-xr-x\") to octal.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"octal-to-symbolic: Octal permission string, e.g. \"755\" or \"0644\". symbolic-to-octal: Symbolic permission string, e.g. \"rwxr-xr-x\".","maxLength":32768,"type":"string"},"operation":{"description":"octal-to-symbolic — Convert octal permissions (e.g. \"755\") to a symbolic string and description. symbolic-to-octal — Convert a symbolic permission string (e.g. \"rwxr-xr-x\") to octal.","enum":["octal-to-symbolic","symbolic-to-octal"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"chmod"},{"description":"Parse a CIDR block into its network, broadcast and host range. Operations: \"calculate\" — Calculate the network, broadcast, mask and host range for a CIDR block.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"A CIDR block, e.g. \"192.168.1.0/24\".","maxLength":32768,"type":"string"},"operation":{"description":"calculate — Calculate the network, broadcast, mask and host range for a CIDR block.","enum":["calculate"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"cidr"},{"description":"Convert colors between HEX, RGB, HSL, HSV and CMYK. Operations: \"convert\" — Convert a HEX color to every supported color space.; \"palette\" — Generate a color harmony palette from a base color.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"convert: A hex color, e.g. \"#3b82f6\". palette: A hex color, e.g. \"#3b82f6\".","maxLength":32768,"type":"string"},"operation":{"description":"convert — Convert a HEX color to every supported color space. palette — Generate a color harmony palette from a base color.","enum":["convert","palette"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"type":{"default":"complementary","description":"Palette type. Used by: palette.","enum":["complementary","analogous","triadic","split-complementary","tetradic"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"color"},{"description":"Generate harmony, shade and tint palettes from a base HEX color. Operations: \"generate\" — Generate harmony, shade and tint palettes from a base HEX color.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"A hex color, e.g. \"#3b82f6\".","maxLength":32768,"type":"string"},"operation":{"description":"generate — Generate harmony, shade and tint palettes from a base HEX color.","enum":["generate"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"color-palette"},{"description":"gzip, deflate (zlib) or raw-deflate text to Base64 or hex, and decompress it back. Operations: \"compress\" — Compress UTF-8 text with gzip, deflate (zlib) or raw deflate.; \"decompress\" — Decompress Base64 or hex gzip/deflate data back to text (output up to 256 KB).. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"compress: The text to compress. decompress: The compressed bytes, as Base64 or hex.","maxLength":32768,"type":"string"},"operation":{"description":"compress — Compress UTF-8 text with gzip, deflate (zlib) or raw deflate. decompress — Decompress Base64 or hex gzip/deflate data back to text (output up to 256 KB).","enum":["compress","decompress"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"algorithm":{"description":"compress: gzip (RFC 1952), deflate = zlib (RFC 1950) or deflate-raw (RFC 1951). decompress: auto reads the format from the first bytes. Used by: compress, decompress.","enum":["gzip","deflate","deflate-raw","auto"],"type":"string"},"encoding":{"default":"base64","description":"How the compressed bytes are written. Used by: compress, decompress.","enum":["base64","hex"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"compress"},{"description":"Check WCAG contrast between a foreground and background color. Operations: \"check\" — Compute the contrast ratio and WCAG pass/fail for a color pair.; \"best-text\" — Pick black or white text for the best contrast on a background.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"check: The foreground color (#rrggbb, #rgb or rgb(...)). best-text: The background color.","maxLength":32768,"type":"string"},"operation":{"description":"check — Compute the contrast ratio and WCAG pass/fail for a color pair. best-text — Pick black or white text for the best contrast on a background.","enum":["check","best-text"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"background":{"description":"The background color. Used by: check. Required by: check.","maxLength":32768,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"contrast"},{"description":"Describe cron expressions and compute upcoming run times. Operations: \"describe\" — Produce a human-readable description of a cron expression.; \"next-runs\" — Compute the next N run times for a cron expression.. Call with \"operation\" plus \"input\" (and \"options\" where relevant). Not repeatable: next-runs returns a different result on each call.","inputSchema":{"properties":{"input":{"description":"describe: A 5- or 6-field cron expression. next-runs: A 5- or 6-field cron expression.","maxLength":32768,"type":"string"},"operation":{"description":"describe — Produce a human-readable description of a cron expression. next-runs — Compute the next N run times for a cron expression.","enum":["describe","next-runs"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"count":{"default":5,"description":"How many runs to return. Used by: next-runs.","maximum":20,"minimum":1,"type":"integer"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"cron"},{"description":"Parse a Content-Security-Policy, explain each directive and flag weaknesses (unsafe-inline, wildcards, missing object-src/base-uri/frame-ancestors…). Operations: \"evaluate\" — Parse a CSP header and return its directives and findings by severity.; \"harden\" — Add the low-risk directives a policy is missing (object-src 'none', base-uri, frame-ancestors, form-action) and return ready-to-paste header, meta, nginx and Apache forms.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"evaluate: A CSP header value (optionally with the \"Content-Security-Policy:\" name). harden: A CSP header value.","maxLength":32768,"type":"string"},"operation":{"description":"evaluate — Parse a CSP header and return its directives and findings by severity. harden — Add the low-risk directives a policy is missing (object-src 'none', base-uri, frame-ancestors, form-action) and return ready-to-paste header, meta, nginx and Apache forms.","enum":["evaluate","harden"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"csp"},{"description":"Minify or beautify CSS. Operations: \"minify\" — Minify CSS (strip comments and whitespace).; \"beautify\" — Beautify CSS (one declaration per line, indented).. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"minify: The CSS to minify. beautify: The CSS to beautify.","maxLength":32768,"type":"string"},"operation":{"description":"minify — Minify CSS (strip comments and whitespace). beautify — Beautify CSS (one declaration per line, indented).","enum":["minify","beautify"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"css-minify"},{"description":"Convert a numeric value between CSS units (px, rem, em, pt, pc, %). Operations: \"convert\" — Convert a numeric value from one CSS unit to another.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"the numeric value to convert","maxLength":32768,"type":"string"},"operation":{"description":"convert — Convert a numeric value from one CSS unit to another.","enum":["convert"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"baseFontSize":{"description":"root font size in px (default 16) Used by: convert.","type":"number"},"from":{"description":"Source unit. Used by: convert. Required by: convert.","enum":["px","rem","em","pt","pc","%"],"type":"string"},"to":{"description":"Target unit. Used by: convert. Required by: convert.","enum":["px","rem","em","pt","pc","%"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"css-units"},{"description":"Convert a curl command into fetch / Python / Node snippets. Operations: \"convert\" — Parse a curl command and generate code snippets.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"The curl command to convert.","maxLength":32768,"type":"string"},"operation":{"description":"convert — Parse a curl command and generate code snippets.","enum":["convert"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"target":{"default":"fetch","description":"Output language. Used by: convert.","enum":["fetch","python","node","all"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"curl-converter"},{"description":"Parse a data size and convert it to bytes plus decimal and binary units. Operations: \"convert\" — Parse a data size and convert it to bytes, decimal and binary units.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"a data size like \"1.5 GB\" or \"1024 KiB\"","maxLength":32768,"type":"string"},"operation":{"description":"convert — Parse a data size and convert it to bytes, decimal and binary units.","enum":["convert"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"data-size"},{"description":"Days, months and business days between dates, add or subtract durations, ISO week numbers and day of year, and DST-aware elapsed time between local times. Operations: \"diff\" — Difference between two dates in years/months/days, total days, weeks and business days.; \"add\" — Add or subtract a duration (\"1y 2m\", \"-90d\", \"P2W\") or a number of business days.; \"info\" — Weekday, day of year, ISO week, quarter and leap year for a date (plus Unix time of local midnight).; \"elapsed\" — Exact elapsed time between two local date-times, following DST in each time zone.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"diff: Start date (YYYY-MM-DD). add: The date (YYYY-MM-DD). info: The date (YYYY-MM-DD). elapsed: Start as \"YYYY-MM-DD HH:MM\".","maxLength":32768,"type":"string"},"operation":{"description":"diff — Difference between two dates in years/months/days, total days, weeks and business days. add — Add or subtract a duration (\"1y 2m\", \"-90d\", \"P2W\") or a number of business days. info — Weekday, day of year, ISO week, quarter and leap year for a date (plus Unix time of local midnight). elapsed — Exact elapsed time between two local date-times, following DST in each time zone.","enum":["diff","add","info","elapsed"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"businessDays":{"description":"Business days to add (negative to subtract), up to 1,000. Used by: add.","maximum":1000,"minimum":-1000,"type":"integer"},"duration":{"description":"e.g. \"30d\", \"1y 6m\", \"-2w\", \"P1M\". Used by: add.","maxLength":32768,"type":"string"},"end":{"description":"diff: End date (YYYY-MM-DD). elapsed: End as \"YYYY-MM-DD HH:MM\". Used by: diff, elapsed. Required by: diff, elapsed.","maxLength":32768,"type":"string"},"endTimeZone":{"description":"IANA zone of the end (default: same). Used by: elapsed.","maxLength":32768,"type":"string"},"holidays":{"description":"diff: Comma-separated YYYY-MM-DD dates excluded from business days. add: Comma-separated holidays for businessDays. Used by: diff, add.","maxLength":32768,"type":"string"},"timeZone":{"description":"info: IANA zone for the midnight timestamp. elapsed: IANA zone of the start. Used by: info, elapsed.","maxLength":32768,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"date-calc"},{"description":"Compute a line-by-line diff between two texts. Operations: \"compare\" — Diff two texts and return the lines plus statistics.; \"unified\" — Produce a unified-diff text between two inputs.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"compare: The original text. unified: The original text.","maxLength":8192,"type":"string"},"operation":{"description":"compare — Diff two texts and return the lines plus statistics. unified — Produce a unified-diff text between two inputs.","enum":["compare","unified"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"ignoreBlankLines":{"default":false,"description":"Ignore blank lines. Used by: compare.","type":"boolean"},"ignoreCase":{"default":false,"description":"Ignore case. Used by: compare.","type":"boolean"},"ignoreTrailingWhitespace":{"default":false,"description":"Ignore whitespace at line ends. Used by: compare.","type":"boolean"},"ignoreWhitespace":{"default":false,"description":"Ignore all whitespace. Used by: compare.","type":"boolean"},"modified":{"description":"The modified text. Used by: compare, unified. Required by: compare, unified.","maxLength":8192,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"diff"},{"description":"Convert docker run commands to a Docker Compose file and Compose services back. Operations: \"to-compose\" — Convert one or more docker run commands to Compose services (ports, volumes, env, name, restart, network, command).; \"to-run\" — Convert a Compose file (or one service) to a docker run command per service.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"to-compose: docker run commands; separate several with a blank line, ; or &&. to-run: A Compose file in YAML, or a single service mapping.","maxLength":8192,"type":"string"},"operation":{"description":"to-compose — Convert one or more docker run commands to Compose services (ports, volumes, env, name, restart, network, command). to-run — Convert a Compose file (or one service) to a docker run command per service.","enum":["to-compose","to-run"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"detach":{"default":true,"description":"Add -d so each container runs in the background, as Compose does. Used by: to-run.","type":"boolean"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"docker-compose"},{"description":"Convert between ISO 8601 durations, seconds, clock time and human text like \"1h30m\" or \"90 minutes\". Operations: \"convert\" — Parse any duration (ISO 8601, 1h30m, 90 minutes, 1:30:00, seconds) into every representation.; \"to-iso\" — Convert any duration to a canonical ISO 8601 duration string.; \"humanize\" — Render a duration as words (\"1 hour 30 minutes\") or compact text (\"1h 30m\").. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"convert: A duration in any supported format. to-iso: A duration in any supported format. humanize: A duration in any supported format.","maxLength":32768,"type":"string"},"operation":{"description":"convert — Parse any duration (ISO 8601, 1h30m, 90 minutes, 1:30:00, seconds) into every representation. to-iso — Convert any duration to a canonical ISO 8601 duration string. humanize — Render a duration as words (\"1 hour 30 minutes\") or compact text (\"1h 30m\").","enum":["convert","to-iso","humanize"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"calendarUnits":{"default":false,"description":"Use years (365 d) and months (30 d). Used by: to-iso.","type":"boolean"},"compact":{"default":false,"description":"Use 1h 30m instead of words. Used by: humanize.","type":"boolean"},"weeks":{"default":false,"description":"Use PnW when the value is whole weeks. Used by: to-iso.","type":"boolean"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"duration"},{"description":"Convert dotenv files to JSON and back, with dotenv-compatible quoting, escapes, comments, export prefixes and multi-line values, plus validation warnings. Operations: \"to-json\" — Parse a .env file into a JSON object (last duplicate wins).; \"to-env\" — Write a JSON object as .env lines, quoting values only where needed.; \"validate\" — Lint a .env file: duplicates, invalid names, unterminated quotes, stray # comments.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"to-json: The .env file contents. to-env: A JSON object; nested objects are flattened (DB__HOST). validate: The .env file contents.","maxLength":32768,"type":"string"},"operation":{"description":"to-json — Parse a .env file into a JSON object (last duplicate wins). to-env — Write a JSON object as .env lines, quoting values only where needed. validate — Lint a .env file: duplicates, invalid names, unterminated quotes, stray # comments.","enum":["to-json","to-env","validate"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"coerceTypes":{"default":false,"description":"Turn true/false/null and plain numbers into JSON types. Used by: to-json.","type":"boolean"},"exportPrefix":{"default":false,"description":"Prefix lines with export. Used by: to-env.","type":"boolean"},"indent":{"default":2,"description":"JSON indent in spaces. Used by: to-json.","maximum":8,"minimum":0,"type":"integer"},"separator":{"default":"__","description":"Separator for nested keys. Used by: to-env.","maxLength":32768,"type":"string"},"sortKeys":{"default":false,"description":"Sort keys alphabetically. Used by: to-env.","type":"boolean"},"uppercase":{"default":false,"description":"Upper-case keys. Used by: to-env.","type":"boolean"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"env-json"},{"description":"Generate a combined .gitignore from template keys. Operations: \"generate\" — Combine one or more template keys into a .gitignore.; \"templates\" — List the available .gitignore template keys.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"generate: Comma- or space-separated template keys (e.g. \"node,python,macos\"). templates: Unused (pass an empty string).","maxLength":32768,"type":"string"},"operation":{"description":"generate — Combine one or more template keys into a .gitignore. templates — List the available .gitignore template keys.","enum":["generate","templates"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"gitignore"},{"description":"Test .gitignore or glob patterns against a list of paths and see which rule matched each one. Operations: \"test\" — Match paths against gitignore rules (negation, anchoring, **, directory-only) or plain globs.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"Paths to test, one per line; end a directory with / (e.g. build/ or src/app.js).","maxLength":8192,"type":"string"},"operation":{"description":"test — Match paths against gitignore rules (negation, anchoring, **, directory-only) or plain globs.","enum":["test"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"ignoreCase":{"default":false,"description":"Match case-insensitively (core.ignorecase). Used by: test.","type":"boolean"},"mode":{"default":"gitignore","description":"gitignore: git’s rules (last match wins, excluded parents stay excluded); glob: each pattern against the whole path, with {a,b}. Used by: test.","enum":["gitignore","glob"],"type":"string"},"patterns":{"description":"The patterns, one per line, as in a .gitignore file. Used by: test. Required by: test.","maxLength":4096,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"glob-tester"},{"description":"Compute MD5, SHA-1/256/384/512, CRC32 and HMAC digests. Operations: \"hash\" — Hash text with the chosen algorithm.; \"hmac\" — Compute an HMAC digest (SHA algorithms only).. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"hash: The text to hash. hmac: The text to authenticate.","maxLength":32768,"type":"string"},"operation":{"description":"hash — Hash text with the chosen algorithm. hmac — Compute an HMAC digest (SHA algorithms only).","enum":["hash","hmac"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"algorithm":{"default":"SHA-256","description":"Hash algorithm. Used by: hash, hmac.","enum":["MD5","SHA-1","SHA-256","SHA-384","SHA-512","CRC32"],"type":"string"},"format":{"default":"hex","description":"Output format. Used by: hash, hmac.","enum":["hex","base64","binary"],"type":"string"},"salt":{"default":"","description":"Optional salt prefixed to the text. Used by: hash.","maxLength":32768,"type":"string"},"secret":{"description":"The HMAC secret key. Used by: hmac. Required by: hmac.","maxLength":32768,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"hash"},{"description":"Sign a message with HMAC using a secret key and SHA-2 algorithm. Operations: \"sign\" — Compute an HMAC signature for a message.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"the message to sign","maxLength":32768,"type":"string"},"operation":{"description":"sign — Compute an HMAC signature for a message.","enum":["sign"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"algorithm":{"description":"HMAC algorithm. Used by: sign.","enum":["SHA-256","SHA-384","SHA-512"],"type":"string"},"key":{"description":"secret key Used by: sign. Required by: sign.","maxLength":32768,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"hmac"},{"description":"Format, minify and validate HTML. Operations: \"format\" — Pretty-print HTML.; \"minify\" — Minify HTML (strip comments and collapse whitespace).; \"validate\" — Check HTML for unclosed/mismatched tags.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"format: The HTML to format. minify: The HTML to minify. validate: The HTML to validate.","maxLength":32768,"type":"string"},"operation":{"description":"format — Pretty-print HTML. minify — Minify HTML (strip comments and collapse whitespace). validate — Check HTML for unclosed/mismatched tags.","enum":["format","minify","validate"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"indentSize":{"default":2,"description":"Indent width in spaces. Used by: format.","maximum":8,"minimum":0,"type":"integer"},"preserveInline":{"default":true,"description":"Keep inline elements on one line. Used by: format.","type":"boolean"},"wrapAttributes":{"default":false,"description":"Put each attribute on its own line. Used by: format.","type":"boolean"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"html"},{"description":"Encode and decode HTML entities (named, decimal, hex). Operations: \"encode\" — Encode text into HTML entities.; \"decode\" — Decode HTML entities back to plain text.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"encode: The text to encode. decode: The text containing HTML entities.","maxLength":32768,"type":"string"},"operation":{"description":"encode — Encode text into HTML entities. decode — Decode HTML entities back to plain text.","enum":["encode","decode"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"encodeAll":{"default":false,"description":"Encode every character. Used by: encode.","type":"boolean"},"format":{"default":"named","description":"Output entity format. Used by: encode.","enum":["named","decimal","hex"],"type":"string"},"preferNamed":{"default":true,"description":"Prefer a named entity when one exists. Used by: encode.","type":"boolean"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"html-entity"},{"description":"Convert HTML or SVG markup to React JSX: className/htmlFor, camelCased SVG attributes, style objects, self-closing tags, JSX comments. Operations: \"convert\" — Convert an HTML fragment or document to JSX, with warnings for anything to review.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"HTML or SVG markup.","maxLength":32768,"type":"string"},"operation":{"description":"convert — Convert an HTML fragment or document to JSX, with warnings for anything to review.","enum":["convert"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"component":{"description":"Wrap the JSX in `export default function <Name>()`. Used by: convert.","maxLength":32768,"type":"string"},"indent":{"default":2,"description":"Spaces per indent level. Used by: convert.","maximum":8,"minimum":1,"type":"integer"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"html-jsx"},{"description":"Convert HTML to Markdown (CommonMark + GitHub tables), dropping scripts and styles. Operations: \"convert\" — Convert an HTML page or fragment to Markdown: headings, lists, links, images, code blocks, tables and blockquotes.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"The HTML to convert (a whole page or a fragment).","maxLength":24000,"type":"string"},"operation":{"description":"convert — Convert an HTML page or fragment to Markdown: headings, lists, links, images, code blocks, tables and blockquotes.","enum":["convert"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"baseUrl":{"description":"Absolute URL to resolve relative links and images against. Used by: convert.","maxLength":2048,"type":"string"},"images":{"default":true,"description":"Keep images as ![alt](src); false writes only their alt text. Used by: convert.","type":"boolean"},"scope":{"default":"main","description":"main: convert only the first <main> (or <article>) when the page has one; all: the whole body. Used by: convert.","enum":["main","all"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"html-markdown"},{"description":"Look up and search HTTP status codes. Operations: \"lookup\" — Look up a single status code by number.; \"search\" — Search status codes by number, name or description.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"lookup: The numeric status code, e.g. \"404\". search: A search query, e.g. \"redirect\" or \"40\".","maxLength":32768,"type":"string"},"operation":{"description":"lookup — Look up a single status code by number. search — Search status codes by number, name or description.","enum":["lookup","search"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"http-status"},{"description":"Decode IDs: Snowflake, MongoDB ObjectId, KSUID, TypeID, ULID, UUID and CUID2 — timestamp, machine fields and randomness. Operations: \"decode\" — Detect each ID's format and take it apart (one ID per line, up to 200).. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"One or more IDs, one per line.","maxLength":8192,"type":"string"},"operation":{"description":"decode — Detect each ID's format and take it apart (one ID per line, up to 200).","enum":["decode"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"epoch":{"default":"discord","description":"Which epoch to read Snowflake IDs with. Used by: decode.","enum":["twitter","discord"],"type":"string"},"kind":{"default":"auto","description":"Force a format instead of detecting it from the shape. Used by: decode.","enum":["auto","uuid","ulid","typeid","ksuid","objectid","snowflake","cuid2"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"id-decoder"},{"description":"Inspect IEEE 754 float32/float64: sign, exponent and mantissa bits, hex, the exact stored value and the rounding error. Operations: \"inspect\" — Read a decimal (0.1, -2.5e-8, Infinity, NaN) or a bit pattern (0x3DCCCCCD, 32 or 64 binary digits) and show how float32 and float64 store it.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"A decimal number, Infinity/NaN, 0x + 8 or 16 hex digits, or 32/64 bits.","maxLength":1100,"type":"string"},"operation":{"description":"inspect — Read a decimal (0.1, -2.5e-8, Infinity, NaN) or a bit pattern (0x3DCCCCCD, 32 or 64 binary digits) and show how float32 and float64 store it.","enum":["inspect"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"format":{"default":"both","description":"Which binary format(s) to show. Used by: inspect.","enum":["both","float32","float64"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"ieee754"},{"description":"Build and parse base64 data URIs and embed snippets. Operations: \"build-snippets\" — Build HTML/CSS/Markdown snippets from an existing data URI.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"A base64 data URI, e.g. \"data:image/png;base64,...\".","maxLength":32768,"type":"string"},"operation":{"description":"build-snippets — Build HTML/CSS/Markdown snippets from an existing data URI.","enum":["build-snippets"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"alt":{"default":"","description":"Alt text for the image. Used by: build-snippets.","maxLength":32768,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"image-base64"},{"description":"Expand and compress IPv6 addresses (RFC 5952), classify them (link-local, ULA, multicast, documentation…), extract embedded IPv4, do prefix and range maths, and build ip6.arpa names. Operations: \"analyze\" — Analyse an address, prefix or range: canonical and expanded forms, type, embedded IPv4, network bounds, reverse DNS.; \"compress\" — Rewrite each address in its RFC 5952 canonical (shortest) form.; \"expand\" — Rewrite each address with all eight 4-digit groups.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"analyze: An IPv6 address (2001:db8::1, fe80::1%eth0, [::1]:443), prefix (2001:db8::/32) or range (2001:db8:: - 2001:db8::ff). compress: One or more IPv6 addresses, one per line. expand: One or more IPv6 addresses, one per line.","maxLength":32768,"type":"string"},"operation":{"description":"analyze — Analyse an address, prefix or range: canonical and expanded forms, type, embedded IPv4, network bounds, reverse DNS. compress — Rewrite each address in its RFC 5952 canonical (shortest) form. expand — Rewrite each address with all eight 4-digit groups.","enum":["analyze","compress","expand"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"ipv6"},{"description":"Format, minify, validate and convert JSON. Operations: \"format\" — Pretty-print JSON with a configurable indent.; \"minify\" — Strip all insignificant whitespace from JSON.; \"validate\" — Check whether the input is valid JSON, reporting the error location.; \"repair\" — Best-effort repair of common JSON mistakes (trailing commas, single quotes, unquoted keys).. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"format: The JSON text to format. minify: The JSON text to minify. validate: The JSON text to validate. repair: The malformed JSON text to repair.","maxLength":32768,"type":"string"},"operation":{"description":"format — Pretty-print JSON with a configurable indent. minify — Strip all insignificant whitespace from JSON. validate — Check whether the input is valid JSON, reporting the error location. repair — Best-effort repair of common JSON mistakes (trailing commas, single quotes, unquoted keys).","enum":["format","minify","validate","repair"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"indent":{"default":2,"description":"Number of spaces to indent. Used by: format.","maximum":8,"minimum":0,"type":"integer"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"json"},{"description":"Convert between JSON and CSV. Operations: \"json-to-csv\" — Convert a JSON array/object to CSV.; \"csv-to-json\" — Convert CSV to a JSON array.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"json-to-csv: The JSON text to convert. csv-to-json: The CSV text to convert.","maxLength":32768,"type":"string"},"operation":{"description":"json-to-csv — Convert a JSON array/object to CSV. csv-to-json — Convert CSV to a JSON array.","enum":["json-to-csv","csv-to-json"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"delimiter":{"default":",","description":"Field delimiter. Used by: json-to-csv, csv-to-json.","maxLength":32768,"type":"string"},"firstRowHeaders":{"default":true,"description":"Treat the first row as headers. Used by: csv-to-json.","type":"boolean"},"includeHeaders":{"default":true,"description":"Emit a header row. Used by: json-to-csv.","type":"boolean"},"nestedHandling":{"default":"flatten","description":"How to handle nested objects. Used by: json-to-csv.","enum":["flatten","stringify"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"json-csv"},{"description":"Compare two JSON documents and report added, removed and changed values. Operations: \"diff\" — Diff two JSON documents by path.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"the first JSON document","maxLength":32768,"type":"string"},"operation":{"description":"diff — Diff two JSON documents by path.","enum":["diff"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"compareTo":{"description":"the second JSON document to compare against Used by: diff. Required by: diff.","maxLength":32768,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"json-diff"},{"description":"Infer a draft-07 JSON Schema from sample JSON. Operations: \"generate\" — Infer a draft-07 JSON Schema from sample JSON. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"the sample JSON","maxLength":32768,"type":"string"},"operation":{"description":"generate — Infer a draft-07 JSON Schema from sample JSON","enum":["generate"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"json-schema"},{"description":"Validate JSON data against a JSON Schema (drafts 2020-12, 2019-09, 7 and 4) and list each error with its data path and schema keyword. Operations: \"validate\" — Validate JSON data against a JSON Schema.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"The JSON data (instance) to validate.","maxLength":8192,"type":"string"},"operation":{"description":"validate — Validate JSON data against a JSON Schema.","enum":["validate"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"draft":{"default":"auto","description":"Schema draft. \"auto\" reads $schema and falls back to 2020-12. Used by: validate.","enum":["auto","2020-12","2019-09","7","4"],"type":"string"},"schema":{"description":"The JSON Schema, as JSON text. Self-contained: $ref may point inside it ($defs, definitions) but remote schemas are not fetched. Used by: validate. Required by: validate.","maxLength":16384,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"json-schema-validator"},{"description":"Generate TypeScript type declarations from a JSON sample. Operations: \"generate\" — Infer TypeScript interfaces/types from JSON.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"The JSON sample to convert.","maxLength":32768,"type":"string"},"operation":{"description":"generate — Infer TypeScript interfaces/types from JSON.","enum":["generate"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"rootName":{"default":"Root","description":"Root declaration name. Used by: generate.","maxLength":32768,"type":"string"},"useInterfaces":{"default":true,"description":"Emit interfaces (true) or type aliases (false). Used by: generate.","type":"boolean"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"json-ts"},{"description":"Convert between JSON and XML. Operations: \"to-xml\" — Convert JSON to XML.; \"to-json\" — Convert XML to JSON.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"to-xml: JSON to convert to XML to-json: XML to convert to JSON","maxLength":32768,"type":"string"},"operation":{"description":"to-xml — Convert JSON to XML. to-json — Convert XML to JSON.","enum":["to-xml","to-json"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"indent":{"description":"Indent width in spaces. Used by: to-xml.","maximum":8,"minimum":0,"type":"integer"},"rootName":{"description":"Root element name. Used by: to-xml.","maxLength":32768,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"json-xml"},{"description":"Convert JSON5, JSONC (tsconfig, VS Code settings) and relaxed JSON to strict JSON, or reformat them with comments kept, reporting every non-JSON feature used. Operations: \"to-json\" — Convert JSON5 / JSONC to strict RFC 8259 JSON.; \"format\" — Re-print JSON / JSON5 / JSONC tidily as JSONC or JSON5, keeping comments.; \"validate\" — Check whether text is valid JSON5 and list which non-JSON features it uses.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"to-json: JSON5, JSONC or JSON text. format: JSON5, JSONC or JSON text. validate: JSON5, JSONC or JSON text.","maxLength":32768,"type":"string"},"operation":{"description":"to-json — Convert JSON5 / JSONC to strict RFC 8259 JSON. format — Re-print JSON / JSON5 / JSONC tidily as JSONC or JSON5, keeping comments. validate — Check whether text is valid JSON5 and list which non-JSON features it uses.","enum":["to-json","format","validate"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"indent":{"default":2,"description":"to-json: Spaces per level (0 = minified). format: Spaces per level. Used by: to-json, format.","maximum":8,"minimum":0,"type":"integer"},"keepComments":{"default":true,"description":"Keep comments. Used by: format.","type":"boolean"},"specials":{"default":"null","description":"How to write Infinity / NaN, which JSON cannot represent. Used by: to-json.","enum":["null","string","error"],"type":"string"},"style":{"default":"jsonc","description":"jsonc = double quotes; json5 = unquoted keys and single quotes. Used by: format.","enum":["jsonc","json5"],"type":"string"},"trailingCommas":{"default":false,"description":"Add trailing commas. Used by: format.","type":"boolean"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"jsonc"},{"description":"Query a JSON document with a JSONPath expression. Operations: \"query\" — Evaluate a JSONPath expression against a JSON document.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"the JSON document","maxLength":32768,"type":"string"},"operation":{"description":"query — Evaluate a JSONPath expression against a JSON document.","enum":["query"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"path":{"description":"JSONPath expression, e.g. $..name Used by: query. Required by: query.","maxLength":32768,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"jsonpath"},{"description":"Decode JWT header and payload (no signature verification). Operations: \"decode\" — Decode a JWT into its header, payload and signature.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"The JWT token to decode.","maxLength":32768,"type":"string"},"operation":{"description":"decode — Decode a JWT into its header, payload and signature.","enum":["decode"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"jwt"},{"description":"Sign a JSON payload into a JWT with an HMAC secret. Operations: \"sign\" — Sign a JSON payload into a JWT using an HMAC secret.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"the JWT payload as JSON","maxLength":32768,"type":"string"},"operation":{"description":"sign — Sign a JSON payload into a JWT using an HMAC secret.","enum":["sign"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"algorithm":{"description":"HMAC algorithm. Used by: sign.","enum":["HS256","HS384","HS512"],"type":"string"},"secret":{"description":"HMAC signing secret Used by: sign. Required by: sign.","maxLength":32768,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"jwt-encode"},{"description":"Inspect a CSR (subject, SANs, key, signature check), OpenSSH public keys (type, bits, ssh-keygen fingerprints) or a JWK / JWKS (RFC 7638 thumbprint, PEM and OpenSSH forms). Private keys are refused. Operations: \"inspect\" — Inspect a PEM CSR or public key, OpenSSH public key lines (authorized_keys, known_hosts) or a JWK / JWK Set.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"A -----BEGIN CERTIFICATE REQUEST----- or PUBLIC KEY block, one or more \"ssh-ed25519 AAAA…\" lines, or JWK JSON.","maxLength":16384,"type":"string"},"operation":{"description":"inspect — Inspect a PEM CSR or public key, OpenSSH public key lines (authorized_keys, known_hosts) or a JWK / JWK Set.","enum":["inspect"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"key-inspector"},{"description":"Generate placeholder text in several styles. Operations: \"generate\" — Generate lorem ipsum (or themed) placeholder text.. Call with \"operation\" plus \"input\" (and \"options\" where relevant). Not repeatable: generate returns a different result on each call.","inputSchema":{"properties":{"input":{"description":"Unused (pass an empty string).","maxLength":32768,"type":"string"},"operation":{"description":"generate — Generate lorem ipsum (or themed) placeholder text.","enum":["generate"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"count":{"default":3,"description":"Number of units to generate. Used by: generate.","maximum":100,"minimum":1,"type":"integer"},"customWords":{"description":"Comma- or space-separated words to use instead of the theme. Used by: generate.","maxLength":2000,"type":"string"},"generatorType":{"default":"lorem","description":"Word theme. Used by: generate.","enum":["lorem","hipster","bacon","corporate","pirate","zombie"],"type":"string"},"includeNumbers":{"default":false,"description":"Mix numbers into the text. Used by: generate.","type":"boolean"},"includeSpecialChars":{"default":false,"description":"Mix punctuation and symbols into the text. Used by: generate.","type":"boolean"},"startWithLorem":{"default":true,"description":"Start with the classic \"Lorem ipsum\". Used by: generate.","type":"boolean"},"unitType":{"default":"paragraphs","description":"What to count. Used by: generate.","enum":["paragraphs","sentences","words"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"lorem"},{"description":"Validate check digits: Luhn card numbers (with brand), IBAN mod-97, ISBN-10/13 and EAN/UPC barcodes. Format only — nothing is looked up or stored. Operations: \"validate\" — Validate a number, auto-detecting its type or using the one you choose.; \"check-digit\" — Compute the Luhn or GS1 (EAN/UPC) check digit to append to a payload.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"validate: A card number, IBAN, ISBN or EAN/UPC (spaces and dashes are ignored). check-digit: The digits without their check digit.","maxLength":32768,"type":"string"},"operation":{"description":"validate — Validate a number, auto-detecting its type or using the one you choose. check-digit — Compute the Luhn or GS1 (EAN/UPC) check digit to append to a payload.","enum":["validate","check-digit"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"algorithm":{"default":"luhn","description":"luhn (cards, IMEI) or gs1 (EAN/UPC/GTIN). Used by: check-digit.","enum":["luhn","gs1"],"type":"string"},"type":{"default":"auto","description":"Which check to run. Used by: validate.","enum":["auto","card","iban","isbn","gtin","luhn"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"luhn"},{"description":"Render Markdown to HTML, build a TOC and compute statistics. Operations: \"render\" — Render GitHub-flavored Markdown to sanitized HTML.; \"toc\" — Extract a table of contents from Markdown headers.; \"stats\" — Compute document statistics for Markdown/plain text.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"render: The Markdown to render. toc: The Markdown to scan. stats: The text to analyze.","maxLength":32768,"type":"string"},"operation":{"description":"render — Render GitHub-flavored Markdown to sanitized HTML. toc — Extract a table of contents from Markdown headers. stats — Compute document statistics for Markdown/plain text.","enum":["render","toc","stats"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"markdown"},{"description":"Convert CSV or TSV rows into a Markdown table. Operations: \"generate\" — Build a Markdown table from delimited rows.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"CSV or TSV rows (first row is the header)","maxLength":32768,"type":"string"},"operation":{"description":"generate — Build a Markdown table from delimited rows.","enum":["generate"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"delimiter":{"description":"field delimiter; auto-detected if omitted Used by: generate.","maxLength":32768,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"markdown-table"},{"description":"Look up MIME types by file extension or MIME type. Operations: \"lookup\" — Search MIME types by extension or MIME type.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"a file extension (png) or MIME type (image/)","maxLength":32768,"type":"string"},"operation":{"description":"lookup — Search MIME types by extension or MIME type.","enum":["lookup"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"mime"},{"description":"Translate text to and from Morse code. Operations: \"encode\" — Convert text to Morse code.; \"decode\" — Convert Morse code to text.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"encode: text to convert to Morse decode: Morse code to convert to text","maxLength":32768,"type":"string"},"operation":{"description":"encode — Convert text to Morse code. decode — Convert Morse code to text.","enum":["encode","decode"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"morse-code"},{"description":"Generate NanoIDs or custom-alphabet random IDs with crypto randomness, plus a collision-probability estimate. Operations: \"generate\" — Generate one or more random IDs (default: 21-char URL-safe NanoID).; \"collision\" — Estimate how long until a 1% collision chance for an alphabet size, ID length and rate.. Call with \"operation\" plus \"input\" (and \"options\" where relevant). Not repeatable: generate returns a different result on each call.","inputSchema":{"properties":{"input":{"description":"generate: A custom alphabet, or empty for the default URL-safe NanoID alphabet. collision: The alphabet (its unique character count is used), or empty for the default.","maxLength":32768,"type":"string"},"operation":{"description":"generate — Generate one or more random IDs (default: 21-char URL-safe NanoID). collision — Estimate how long until a 1% collision chance for an alphabet size, ID length and rate.","enum":["generate","collision"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"count":{"default":1,"description":"How many IDs. Used by: generate.","maximum":100,"minimum":1,"type":"integer"},"perHour":{"default":1000,"description":"IDs generated per hour. Used by: collision.","type":"number"},"size":{"default":21,"description":"Characters per ID. Used by: generate, collision.","type":["integer","number"]}},"type":"object"}},"required":["operation"],"type":"object"},"name":"nanoid"},{"description":"Convert numbers between binary, octal, decimal and hex. Operations: \"convert\" — Convert a number from one base to all supported bases.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"The number to convert (digits valid for the source base).","maxLength":32768,"type":"string"},"operation":{"description":"convert — Convert a number from one base to all supported bases.","enum":["convert"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"base":{"default":10,"description":"Source base. Used by: convert.","enum":["2","8","10","16"],"type":"number"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"number-base"},{"description":"Generate strong random passwords and estimate their strength. Operations: \"generate\" — Generate a cryptographically random password.; \"strength\" — Estimate the entropy and strength bucket of a password.. Call with \"operation\" plus \"input\" (and \"options\" where relevant). Not repeatable: generate returns a different result on each call.","inputSchema":{"properties":{"input":{"description":"generate: Unused (pass an empty string). strength: The password to evaluate.","maxLength":32768,"type":"string"},"operation":{"description":"generate — Generate a cryptographically random password. strength — Estimate the entropy and strength bucket of a password.","enum":["generate","strength"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"customSymbols":{"description":"Symbols to use instead of the default set. Used by: generate.","maxLength":100,"type":"string"},"excludeAmbiguous":{"default":false,"description":"Exclude ambiguous symbols ({}[]()/\\'\"`~,;:.<>). Used by: generate.","type":"boolean"},"excludeSimilar":{"default":false,"description":"Exclude similar characters (il1Lo0O). Used by: generate.","type":"boolean"},"length":{"default":16,"description":"Password length. Used by: generate.","maximum":1024,"minimum":1,"type":"integer"},"lowercase":{"default":true,"description":"Include a-z. Used by: generate.","type":"boolean"},"numbers":{"default":true,"description":"Include 0-9. Used by: generate.","type":"boolean"},"symbols":{"default":true,"description":"Include symbols. Used by: generate.","type":"boolean"},"uppercase":{"default":true,"description":"Include A-Z. Used by: generate.","type":"boolean"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"password"},{"description":"Analyze a password and estimate its entropy, strength and crack time. Operations: \"analyze\" — Analyze a password and estimate its entropy, strength and crack time.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"The password to analyze.","maxLength":1024,"type":"string"},"operation":{"description":"analyze — Analyze a password and estimate its entropy, strength and crack time.","enum":["analyze"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"password-strength"},{"description":"Convert internationalised domain names to and from Punycode (RFC 3492): bücher.example ⇄ xn--bcher-kva.example. Operations: \"to-ascii\" — Encode each Unicode label as an xn-- label (one domain, email or URL per line; labels are NFC-normalised and lowercased).; \"to-unicode\" — Decode each xn-- label back to Unicode (one domain, email or URL per line).; \"encode\" — Encode one string with the bare RFC 3492 algorithm (no xn-- prefix, case kept).; \"decode\" — Decode one bare Punycode string (no xn-- prefix) with the RFC 3492 algorithm.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"to-ascii: Domain names, email addresses or URLs, one per line. to-unicode: Domain names, email addresses or URLs with xn-- labels, one per line. encode: The Unicode string to encode. decode: The Punycode string to decode.","maxLength":4096,"type":"string"},"operation":{"description":"to-ascii — Encode each Unicode label as an xn-- label (one domain, email or URL per line; labels are NFC-normalised and lowercased). to-unicode — Decode each xn-- label back to Unicode (one domain, email or URL per line). encode — Encode one string with the bare RFC 3492 algorithm (no xn-- prefix, case kept). decode — Decode one bare Punycode string (no xn-- prefix) with the RFC 3492 algorithm.","enum":["to-ascii","to-unicode","encode","decode"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"punycode"},{"description":"Generate cryptographically secure random strings. Operations: \"generate\" — Generate a secure random string from a chosen pattern.. Call with \"operation\" plus \"input\" (and \"options\" where relevant). Not repeatable: generate returns a different result on each call.","inputSchema":{"properties":{"input":{"description":"Unused (pass an empty string).","maxLength":32768,"type":"string"},"operation":{"description":"generate — Generate a secure random string from a chosen pattern.","enum":["generate"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"customCharset":{"default":"","description":"Charset used when pattern is \"custom\". Used by: generate.","maxLength":32768,"type":"string"},"excludeSimilar":{"default":false,"description":"Exclude similar characters. Used by: generate.","type":"boolean"},"length":{"default":32,"description":"Output length. Used by: generate.","maximum":4096,"minimum":1,"type":"integer"},"pattern":{"default":"alphanumeric","description":"Character pattern. Used by: generate.","enum":["random","hex","base64","alphanumeric","numeric","custom"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"random"},{"description":"Test a regex against a string and apply replacements. Operations: \"test\" — Find all matches of a regex pattern in a test string.; \"replace\" — Replace regex matches in a string.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"test: The test string to search. replace: The test string to transform.","maxLength":4096,"type":"string"},"operation":{"description":"test — Find all matches of a regex pattern in a test string. replace — Replace regex matches in a string.","enum":["test","replace"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"flags":{"default":"g","description":"Regex flags, e.g. \"gi\". Used by: test, replace.","maxLength":32768,"type":"string"},"pattern":{"description":"The regex pattern (JavaScript syntax). The API refuses nested quantifiers such as (a+)+, which can take exponential time. Used by: test, replace. Required by: test, replace.","maxLength":500,"type":"string"},"replacement":{"default":"","description":"Replacement text. Used by: replace.","maxLength":32768,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"regex"},{"description":"Build robots.txt that treats search engines, AI answer bots and AI training crawlers separately; validate llms.txt. Operations: \"build\" — Build robots.txt: allow or block search engines, AI answer engines/assistants and AI training crawlers (named), with Content-Signal and Sitemap lines.; \"validate-llms\" — Check an llms.txt file against llmstxt.org: one H1, a > summary, H2 sections of Markdown link lists.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"build: One item per line: sitemap URLs (https://…) and paths every crawler should skip (/admin/). May be empty. validate-llms: The llms.txt file to check.","maxLength":32768,"type":"string"},"operation":{"description":"build — Build robots.txt: allow or block search engines, AI answer engines/assistants and AI training crawlers (named), with Content-Signal and Sitemap lines. validate-llms — Check an llms.txt file against llmstxt.org: one H1, a > summary, H2 sections of Markdown link lists.","enum":["build","validate-llms"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"aiAnswer":{"default":"allow","description":"AI answer engines and assistants that fetch pages to answer a question. Used by: build.","enum":["allow","block"],"type":"string"},"aiTrain":{"default":"block","description":"Crawlers that collect text to train AI models. Used by: build.","enum":["allow","block"],"type":"string"},"contentSignal":{"default":true,"description":"Add contentsignals.org Content-Signal lines matching the choices. Used by: build.","type":"boolean"},"search":{"default":"allow","description":"Search engines and every crawler not named (the * group). Used by: build.","enum":["allow","block"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"robots-txt"},{"description":"Convert between integers and Roman numerals. Operations: \"to-roman\" — Convert an integer to a Roman numeral.; \"from-roman\" — Convert a Roman numeral to an integer.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"to-roman: an integer 1-3999 from-roman: a Roman numeral","maxLength":32768,"type":"string"},"operation":{"description":"to-roman — Convert an integer to a Roman numeral. from-roman — Convert a Roman numeral to an integer.","enum":["to-roman","from-roman"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"roman-numeral"},{"description":"Decode a SAMLRequest or SAMLResponse (Base64, or deflate + Base64) and summarise it. Signatures are not verified. Operations: \"decode\" — Decode a SAML message and return its issuer, status, NameID, audience, conditions, validity window, attributes and pretty-printed XML. Signatures are reported, never verified.. Call with \"operation\" plus \"input\" (and \"options\" where relevant). Not repeatable: decode returns a different result on each call.","inputSchema":{"properties":{"input":{"description":"The SAMLRequest/SAMLResponse value (Base64 for HTTP-POST, deflate + Base64 for HTTP-Redirect), a URL or form body containing it, or the XML.","maxLength":16384,"type":"string"},"operation":{"description":"decode — Decode a SAML message and return its issuer, status, NameID, audience, conditions, validity window, attributes and pretty-printed XML. Signatures are reported, never verified.","enum":["decode"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"saml-decoder"},{"description":"Grade pasted HTTP response headers (HSTS, CSP, nosniff, framing, Referrer-Policy, Permissions-Policy, COOP/COEP/CORP, cookies) A+ to F. Parses text only; never fetches a URL. Operations: \"grade\" — Grade a raw header block and explain each check.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"Raw response headers, e.g. the output of `curl -sI https://example.com`.","maxLength":32768,"type":"string"},"operation":{"description":"grade — Grade a raw header block and explain each check.","enum":["grade"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"security-headers"},{"description":"Parse, compare, sort and bump Semantic Versions, and test versions against npm-style ranges. Operations: \"parse\" — Parse a SemVer 2.0.0 version into its components.; \"compare\" — Compare two versions by SemVer precedence (-1, 0 or 1).; \"satisfies\" — Test whether a version satisfies a range (^, ~, x, hyphen, ||).; \"max-satisfying\" — Find the highest and lowest versions in a list that satisfy a range.; \"explain-range\" — Desugar a range into plain comparators (e.g. ^1.2.3 → >=1.2.3 <2.0.0-0).; \"sort\" — Sort versions by SemVer precedence; invalid entries are listed separately.; \"bump\" — Increment a version like `npm version <release>`.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"parse: A version, e.g. \"v1.4.0-beta.2+build.7\". compare: The first version. satisfies: The version to test. max-satisfying: Versions separated by newlines, commas or spaces. explain-range: An npm-style range. sort: Versions separated by newlines, commas or spaces. bump: The current version.","maxLength":32768,"type":"string"},"operation":{"description":"parse — Parse a SemVer 2.0.0 version into its components. compare — Compare two versions by SemVer precedence (-1, 0 or 1). satisfies — Test whether a version satisfies a range (^, ~, x, hyphen, ||). max-satisfying — Find the highest and lowest versions in a list that satisfy a range. explain-range — Desugar a range into plain comparators (e.g. ^1.2.3 → >=1.2.3 <2.0.0-0). sort — Sort versions by SemVer precedence; invalid entries are listed separately. bump — Increment a version like `npm version <release>`.","enum":["parse","compare","satisfies","max-satisfying","explain-range","sort","bump"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"includePrerelease":{"default":false,"description":"Let prerelease versions match ranges that do not name a prerelease. Used by: satisfies.","type":"boolean"},"order":{"default":"asc","description":"Sort order. Used by: sort.","enum":["asc","desc"],"type":"string"},"other":{"description":"The version to compare with. Used by: compare. Required by: compare.","maxLength":32768,"type":"string"},"preid":{"description":"Prerelease identifier, e.g. \"beta\" or \"rc\". Used by: bump.","maxLength":32768,"type":"string"},"range":{"description":"satisfies: An npm-style range, e.g. \"^1.2.0 || ~2.1\". max-satisfying: An npm-style range. Used by: satisfies, max-satisfying. Required by: satisfies, max-satisfying.","maxLength":32768,"type":"string"},"release":{"description":"Which part to bump. Used by: bump. Required by: bump.","enum":["major","minor","patch","premajor","preminor","prepatch","prerelease"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"semver"},{"description":"Turn arbitrary text into a clean, URL-safe slug. Operations: \"slugify\" — Generate a URL slug from text.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"The text to slugify.","maxLength":32768,"type":"string"},"operation":{"description":"slugify — Generate a URL slug from text.","enum":["slugify"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"lowercase":{"default":true,"description":"Lowercase the result. Used by: slugify.","type":"boolean"},"maxLength":{"description":"Maximum slug length. Used by: slugify.","type":"number"},"separator":{"default":"-","description":"Word separator. Used by: slugify.","maxLength":32768,"type":"string"},"strict":{"default":false,"description":"Strip non-ASCII characters. Used by: slugify.","type":"boolean"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"slugify"},{"description":"Sort, reverse, deduplicate and clean up lines of text. Operations: \"process\" — Sort, deduplicate and clean lines of text.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"the text, one item per line","maxLength":32768,"type":"string"},"operation":{"description":"process — Sort, deduplicate and clean lines of text.","enum":["process"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"caseSensitive":{"description":"Case-sensitive sort/dedupe. Used by: process.","type":"boolean"},"numeric":{"description":"Sort numerically. Used by: process.","type":"boolean"},"order":{"description":"Sort order. Used by: process.","enum":["asc","desc","reverse"],"type":"string"},"removeDuplicates":{"description":"Remove duplicate lines. Used by: process.","type":"boolean"},"removeEmpty":{"description":"Remove empty lines. Used by: process.","type":"boolean"},"trim":{"description":"Trim whitespace from each line. Used by: process.","type":"boolean"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"sort-lines"},{"description":"Format and minify SQL. Operations: \"beautify\" — Beautify SQL with newlines before clauses.; \"minify\" — Minify SQL to a single line.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"beautify: The SQL to beautify. minify: The SQL to minify.","maxLength":4096,"type":"string"},"operation":{"description":"beautify — Beautify SQL with newlines before clauses. minify — Minify SQL to a single line.","enum":["beautify","minify"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"indentSize":{"default":2,"description":"Indent width in spaces. Used by: beautify.","maximum":8,"minimum":0,"type":"integer"},"lineBreaksBeforeClauses":{"default":true,"description":"Start each clause (FROM, WHERE, …) on a new line. Used by: beautify.","type":"boolean"},"uppercaseKeywords":{"default":true,"description":"Uppercase SQL keywords. Used by: beautify, minify.","type":"boolean"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"sql"},{"description":"Escape and unescape strings for JSON, JS, HTML, URL and regex. Operations: \"escape\" — Escape a string for the chosen context.; \"unescape\" — Unescape a string from the chosen context.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"escape: the text to escape unescape: the text to unescape","maxLength":32768,"type":"string"},"operation":{"description":"escape — Escape a string for the chosen context. unescape — Unescape a string from the chosen context.","enum":["escape","unescape"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"mode":{"description":"Escape mode. Used by: escape, unescape. Required by: escape, unescape.","enum":["json","js","html","url","regex"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"string-escape"},{"description":"Minify an SVG and encode it as a compact percent-encoded (or base64) data URI, with background-image and mask-image CSS. Operations: \"encode\" — Optimise an SVG and return url-encoded and base64 data URIs, sizes and CSS snippets.; \"decode\" — Decode a data:image/svg+xml URI (percent-encoded or base64) back to SVG markup.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"encode: SVG markup. decode: A data URI, optionally wrapped in url(\"…\").","maxLength":32768,"type":"string"},"operation":{"description":"encode — Optimise an SVG and return url-encoded and base64 data URIs, sizes and CSS snippets. decode — Decode a data:image/svg+xml URI (percent-encoded or base64) back to SVG markup.","enum":["encode","decode"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"shortenColors":{"default":true,"description":"Rewrite hex colours to their shortest form (#ff0000 → red). Used by: encode.","type":"boolean"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"svg-data-uri"},{"description":"Find and remove invisible Unicode (zero-width, bidi/Trojan Source, tag-character smuggling), fix line endings, trailing whitespace, tabs and smart quotes, and normalise Unicode. Operations: \"scan\" — Report invisible and special characters, hidden tag-character text, unterminated bidi controls, line endings and normalisation.; \"clean\" — Apply clean-ups and return the text plus counts of every change.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"scan: The text to inspect. clean: The text to clean.","maxLength":32768,"type":"string"},"operation":{"description":"scan — Report invisible and special characters, hidden tag-character text, unterminated bidi controls, line endings and normalisation. clean — Apply clean-ups and return the text plus counts of every change.","enum":["scan","clean"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"dashes":{"default":false,"description":"En/em dashes → - / --. Used by: clean.","type":"boolean"},"keepEmoji":{"default":true,"description":"Keep joiners inside emoji and non-Latin scripts. Used by: clean.","type":"boolean"},"lineEndings":{"default":"lf","description":"Line-ending style. Used by: clean.","enum":["lf","crlf","cr","keep"],"type":"string"},"normalize":{"default":"NFC","description":"Unicode normalisation form. Used by: clean.","enum":["NFC","NFD","NFKC","NFKD","none"],"type":"string"},"smartQuotes":{"default":true,"description":"Curly quotes → straight. Used by: clean.","type":"boolean"},"tabWidth":{"default":4,"description":"Tab stop width. Used by: clean.","maximum":8,"minimum":1,"type":"integer"},"tabs":{"default":"keep","description":"Convert tabs and spaces. Used by: clean.","enum":["keep","to-spaces","to-tabs"],"type":"string"},"trimTrailing":{"default":true,"description":"Trim trailing whitespace. Used by: clean.","type":"boolean"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"text-cleanup"},{"description":"Convert and inspect Unix timestamps and dates. Operations: \"to-date\" — Convert a Unix timestamp (seconds) to a full date breakdown.; \"parse-date\" — Auto-detect and parse a date/timestamp string.. Call with \"operation\" plus \"input\" (and \"options\" where relevant). Not repeatable: to-date returns a different result on each call.","inputSchema":{"properties":{"input":{"description":"to-date: The Unix timestamp in seconds. parse-date: A date or timestamp string (ISO 8601, RFC 2822, Unix, etc.).","maxLength":32768,"type":"string"},"operation":{"description":"to-date — Convert a Unix timestamp (seconds) to a full date breakdown. parse-date — Auto-detect and parse a date/timestamp string.","enum":["to-date","parse-date"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"timestamp"},{"description":"Convert TOML 1.0 to JSON and JSON to TOML, reporting anything that cannot round-trip. Operations: \"to-json\" — Parse TOML and return pretty-printed JSON.; \"to-toml\" — Convert a JSON object to TOML (nulls are dropped with a warning).. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"to-json: A TOML document. to-toml: A JSON object.","maxLength":32768,"type":"string"},"operation":{"description":"to-json — Parse TOML and return pretty-printed JSON. to-toml — Convert a JSON object to TOML (nulls are dropped with a warning).","enum":["to-json","to-toml"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"detectDates":{"default":false,"description":"Emit RFC 3339 date-time strings as TOML date-times. Used by: to-toml.","type":"boolean"},"indent":{"default":2,"description":"JSON indent in spaces. Used by: to-json.","maximum":8,"minimum":0,"type":"integer"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"toml-json"},{"description":"Generate a time-based one-time password (TOTP) from a base32 secret. Operations: \"generate\" — Generate the current TOTP code for a base32 secret.. Call with \"operation\" plus \"input\" (and \"options\" where relevant). Not repeatable: generate returns a different result on each call.","inputSchema":{"properties":{"input":{"description":"the base32 secret","maxLength":32768,"type":"string"},"operation":{"description":"generate — Generate the current TOTP code for a base32 secret.","enum":["generate"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"algorithm":{"description":"HMAC algorithm. Used by: generate.","enum":["SHA-1","SHA-256","SHA-512"],"type":"string"},"digits":{"default":6,"description":"Number of digits in the code. Used by: generate.","maximum":10,"minimum":6,"type":"integer"},"period":{"default":30,"description":"Time step in seconds. Used by: generate.","maximum":3600,"minimum":1,"type":"integer"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"totp"},{"description":"Generate a lexicographically sortable ULID. Operations: \"generate\" — Generate a new ULID.. Call with \"operation\" plus \"input\" (and \"options\" where relevant). Not repeatable: generate returns a different result on each call.","inputSchema":{"properties":{"input":{"description":"Unused (pass an empty string).","maxLength":32768,"type":"string"},"operation":{"description":"generate — Generate a new ULID.","enum":["generate"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"ulid"},{"description":"Parse, validate and normalize URLs. Operations: \"parse\" — Break a URL into its component parts.; \"validate\" — Validate a URL and run basic security/heuristic checks.; \"normalize\" — Normalize a URL (drop default ports, sort query params, strip trailing slash).. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"parse: The URL to parse. validate: The URL to validate. normalize: The URL to normalize.","maxLength":2048,"type":"string"},"operation":{"description":"parse — Break a URL into its component parts. validate — Validate a URL and run basic security/heuristic checks. normalize — Normalize a URL (drop default ports, sort query params, strip trailing slash).","enum":["parse","validate","normalize"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"url"},{"description":"Percent-encode and decode URL strings. Operations: \"encode\" — Percent-encode a string.; \"decode\" — Decode a percent-encoded string.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"encode: The text to encode. decode: The encoded text to decode.","maxLength":32768,"type":"string"},"operation":{"description":"encode — Percent-encode a string. decode — Decode a percent-encoded string.","enum":["encode","decode"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"level":{"default":1,"description":"encode: How many times to encode. decode: How many times to decode. Used by: encode, decode.","maximum":10,"minimum":1,"type":"integer"},"type":{"default":"component","description":"Encoding strategy. Used by: encode.","enum":["component","uri","full"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"url-encode"},{"description":"Parse a User-Agent string into browser, engine, OS and device. Operations: \"parse\" — Parse a User-Agent string into browser, engine, OS and device details.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"The User-Agent string to parse.","maxLength":32768,"type":"string"},"operation":{"description":"parse — Parse a User-Agent string into browser, engine, OS and device details.","enum":["parse"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"user-agent"},{"description":"Build campaign URLs with utm_* parameters, parse and lint tagged links, and strip UTM and click-ID tracking parameters. Operations: \"build\" — Add UTM parameters to a URL, normalising case and spaces, and lint the result.; \"parse\" — Split a URL into UTM tags, ad click IDs and other parameters, with warnings.; \"strip\" — Remove utm_* and click-ID parameters (gclid, fbclid, msclkid…) from a URL.; \"batch\" — Tag many URLs (one per line) with the same UTM parameters.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"build: The landing-page URL. parse: A tagged URL. strip: A URL with tracking parameters. batch: Landing-page URLs, one per line.","maxLength":32768,"type":"string"},"operation":{"description":"build — Add UTM parameters to a URL, normalising case and spaces, and lint the result. parse — Split a URL into UTM tags, ad click IDs and other parameters, with warnings. strip — Remove utm_* and click-ID parameters (gclid, fbclid, msclkid…) from a URL. batch — Tag many URLs (one per line) with the same UTM parameters.","enum":["build","parse","strip","batch"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"campaign":{"description":"utm_campaign — the campaign name. Used by: build, batch.","maxLength":32768,"type":"string"},"content":{"description":"utm_content — which link or creative. Used by: build, batch.","maxLength":32768,"type":"string"},"id":{"description":"utm_id — campaign identifier. Used by: build, batch.","maxLength":32768,"type":"string"},"medium":{"description":"utm_medium — the channel (cpc, email, social…). Used by: build, batch.","maxLength":32768,"type":"string"},"normalize":{"default":true,"description":"Lowercase values and replace spaces with underscores. Used by: build.","type":"boolean"},"source":{"description":"utm_source — where the traffic comes from. Used by: build, batch.","maxLength":32768,"type":"string"},"term":{"description":"utm_term — paid search keyword. Used by: build, batch.","maxLength":32768,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"utm"},{"description":"Generate and inspect UUIDs. Operations: \"v4\" — Generate one or more random (v4) UUIDs.; \"v3\" — Generate a name-based (v3 / MD5) UUID.; \"parse\" — Parse a UUID and report its version, variant and (where present) timestamp.. Call with \"operation\" plus \"input\" (and \"options\" where relevant). Not repeatable: v4 returns a different result on each call.","inputSchema":{"properties":{"input":{"description":"v4: Unused (pass an empty string). v3: The name to hash. parse: The UUID to parse.","maxLength":32768,"type":"string"},"operation":{"description":"v4 — Generate one or more random (v4) UUIDs. v3 — Generate a name-based (v3 / MD5) UUID. parse — Parse a UUID and report its version, variant and (where present) timestamp.","enum":["v4","v3","parse"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"count":{"default":1,"description":"How many UUIDs to generate. Used by: v4.","maximum":1000,"minimum":1,"type":"integer"},"format":{"default":"standard","description":"Output format. Used by: v4.","enum":["standard","uppercase","no-hyphens","braces","urn"],"type":"string"},"namespace":{"default":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","description":"Namespace UUID. Used by: v3.","maxLength":32768,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"uuid"},{"description":"Build the standard WIFI: payload string for a WiFi QR code. Operations: \"payload\" — Build the WIFI: payload string a phone scans to auto-join a network.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"The network SSID.","maxLength":32768,"type":"string"},"operation":{"description":"payload — Build the WIFI: payload string a phone scans to auto-join a network.","enum":["payload"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"encryption":{"default":"WPA","description":"Encryption type. Used by: payload.","enum":["WPA","WEP","nopass"],"type":"string"},"hidden":{"default":false,"description":"Hidden network flag. Used by: payload.","type":"boolean"},"password":{"default":"","description":"Network password. Used by: payload.","maxLength":32768,"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"wifi-qr"},{"description":"Count words/characters and compute readability statistics. Operations: \"count\" — Compute basic text statistics (words, characters, sentences, etc.).; \"readability\" — Compute readability scores (Flesch, SMOG, Coleman-Liau).; \"keywords\" — Compute keyword density for the text.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"count: The text to analyze. readability: The text to analyze. keywords: The text to analyze.","maxLength":32768,"type":"string"},"operation":{"description":"count — Compute basic text statistics (words, characters, sentences, etc.). readability — Compute readability scores (Flesch, SMOG, Coleman-Liau). keywords — Compute keyword density for the text.","enum":["count","readability","keywords"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"word-count"},{"description":"Decode PEM/DER X.509 certificates: subject, issuer, validity, SANs, key type/size, signature algorithm, extensions and fingerprints. Operations: \"decode\" — Decode every certificate in a PEM bundle (or one bare base64 DER).. Call with \"operation\" plus \"input\" (and \"options\" where relevant). Not repeatable: decode returns a different result on each call.","inputSchema":{"properties":{"input":{"description":"PEM text (-----BEGIN CERTIFICATE-----) or base64 DER.","maxLength":32768,"type":"string"},"operation":{"description":"decode — Decode every certificate in a PEM bundle (or one bare base64 DER).","enum":["decode"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{},"type":"object"}},"required":["operation"],"type":"object"},"name":"x509"},{"description":"Pretty-print or minify already-serialized XML, and highlight it. Operations: \"format\" — Pretty-print XML with the chosen indent (server-safe string transform).; \"minify\" — Collapse whitespace between XML tags (server-safe string transform).. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"format: The serialized XML to format. minify: The serialized XML to minify.","maxLength":32768,"type":"string"},"operation":{"description":"format — Pretty-print XML with the chosen indent (server-safe string transform). minify — Collapse whitespace between XML tags (server-safe string transform).","enum":["format","minify"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"indent":{"default":"2","description":"Indent style. Used by: format.","enum":["2","4","tab"],"type":"string"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"xml"},{"description":"Convert between YAML and JSON. Operations: \"yaml-to-json\" — Convert YAML to JSON.; \"json-to-yaml\" — Convert JSON to YAML.. Call with \"operation\" plus \"input\" (and \"options\" where relevant).","inputSchema":{"properties":{"input":{"description":"yaml-to-json: The YAML text to convert. json-to-yaml: The JSON text to convert.","maxLength":4096,"type":"string"},"operation":{"description":"yaml-to-json — Convert YAML to JSON. json-to-yaml — Convert JSON to YAML.","enum":["yaml-to-json","json-to-yaml"],"type":"string"},"options":{"description":"Options for the chosen operation (each says which operations use it).","properties":{"indent":{"default":2,"description":"JSON indent (spaces). Used by: yaml-to-json.","maximum":8,"minimum":0,"type":"integer"}},"type":"object"}},"required":["operation"],"type":"object"},"name":"yaml-json"}]},"body_sha256":"714352784f53b26ca198555404b4cabae906081f70b578a0931a40c47791223e","prev_id":null,"leaf":"0x636d25c8e1d33550b0fe2ce8fbfbd526b8af54824a37ff01c7be4ce388f8c8e0","leaf_text":"{\"body\":\"714352784f53b26ca198555404b4cabae906081f70b578a0931a40c47791223e\",\"id\":304420,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793055878135758,\"prev\":null,\"subject\":\"296276ef-1f7f-4311-b675-286bdb34f6bf\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-26","leaves":296695,"root":"0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8","chained":"0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a","anchor_chain":"eip155:5042002","anchor_tx":"0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae","anchor_block":69251483},"proof":["0x636d2b41ac5d86bf2d5badc0a8e56a5f987161c7887bfad3e7536cfcd6d690b0","0xd97735fb783c66b3cac97e05e4d68b1509da485a9a958cd576bde3347f78448f","0xac422e21e5d67c18f2770d2bdb2156dc5ee79c01a36e02af60bd09c12fdb39e9","0x8777924dbfab724d7a3c7813cce392a84520d3b175e916e27466212e33f8f407","0x600ea90391c5b68f40ab52ee0437e4cf37e087dcb956644c30df8ff701903fbd","0xc35e26a9df909c09601410cb24f223d778400bec74d20638ef74a93bd877cd92","0x1751fad800a3d3d501391c37c2350869995dd7152781480c104f4082aaafaf99","0x06279f23f0439fa57f069f5a8311ee4a27b8d9037ea8cc840a441ab8433263ab","0x7ce8009e0ade8389109c2f54f5756e1f15a0afa25b5da6008befeb3c90a51b5c","0x805c08486b6cd1b041c9a402e5b3eb6f97649952efcabb97e1817185a4ce7572","0xde5ff34fc9e6ff297fede5d3c4b4de6828c65b98246109399106064f912afa82","0x3c8355143bb13802401d5a80f8a70809a59f429bc298f4912731fc8d207e4f43","0x13f4b94ecf613d585c952b5363dad2b247a55371eb8e358bb89dc033e83128b1","0x9a79c65e077cd9da9d436b3ade6f5ddc0d244510c4d5903ef2f02d81205f7666","0xa2d436d488e3600b0e5c3e3ed9c9234cd52853c59830b786334fd0c4292d9f40","0x47b89901b0f07938a6b9a66ddf35683903f79d756a7c7763665fd632758b08d0","0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d","0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d","0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a"]}