Skip to content

One Million Tools

by lucas-project · remote · no sign-in to list tools · v0.1.0 · published by GitHub user lucas-project

42 free deterministic utilities: JSON, CSV, YAML, encoding, hashing, JWT, cron, formatters, CSS.

Changes · 36

42 tools: 36 change things and 6 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http one-million-tools https://tools-empire-mcp.lucas-qin-au.workers.dev/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

42 tools

Changes things 36Claude Code: ask
  • base64_decodeBase64 string → UTF-8 text.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Base64 string → UTF-8 text.
  • base64_encodeUTF-8 text → Base64 string.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    UTF-8 text → Base64 string.
  • color_convertConvert a HEX color into RGB / HSL / HSV / CSS forms.No findings

    Why it is in this group

    • The name "color_convert" says "convert": a word for a change.
    Description, as the server wrote it
    Convert a HEX color into RGB / HSL / HSV / CSS forms.
  • css_border_radius_buildBuild a CSS border-radius value from four corner radii in px.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Build a CSS border-radius value from four corner radii in px.
  • css_box_shadow_buildBuild a CSS box-shadow value from one or more layers.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Build a CSS box-shadow value from one or more layers.
  • css_contrast_checkCompute the WCAG contrast ratio between two colors and the AA/AAA verdict.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Compute the WCAG contrast ratio between two colors and the AA/AAA verdict.
  • css_formatPretty-print CSS.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Pretty-print CSS.
  • css_gradient_buildBuild a CSS linear-gradient string from color stops + angle.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Build a CSS linear-gradient string from color stops + angle.
  • csv_filterFilter CSV rows by a column predicate (equals / contains / regex / gt / gte / lt / lte / not-empty).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Filter CSV rows by a column predicate (equals / contains / regex / gt / gte / lt / lte / not-empty).
  • csv_parseParse CSV text into fields + preview rows with delimiter detection.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Parse CSV text into fields + preview rows with delimiter detection.
  • csv_sortSort CSV rows by one column (alpha or numeric).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Sort CSV rows by one column (alpha or numeric).
  • csv_splitSplit a CSV into N chunks or into files of N rows each.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Split a CSV into N chunks or into files of N rows each.
  • csv_statisticsCompute per-column summary statistics (count, min, max, mean, median) over a CSV.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Compute per-column summary statistics (count, min, max, mean, median) over a CSV.
  • csv_to_jsonParse CSV text into a JSON array of objects.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Parse CSV text into a JSON array of objects.
  • env_redactRedact secrets (API keys, tokens, passwords) from logs / config / env text.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Redact secrets (API keys, tokens, passwords) from logs / config / env text.
  • hash_textCompute a SHA-1 / SHA-256 / SHA-512 hex digest of UTF-8 text.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Compute a SHA-1 / SHA-256 / SHA-512 hex digest of UTF-8 text.
  • html_formatPretty-print HTML.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Pretty-print HTML.
  • js_formatPretty-print JavaScript / TypeScript with Prettier.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Pretty-print JavaScript / TypeScript with Prettier.
  • json_formatPretty-print JSON with configurable indentation (2 spaces, 4 spaces, or tab).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Pretty-print JSON with configurable indentation (2 spaces, 4 spaces, or tab).
  • json_minifyCompress JSON by stripping whitespace.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Compress JSON by stripping whitespace.
  • json_to_csvConvert an array of JSON objects to CSV.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Convert an array of JSON objects to CSV.
  • json_to_yamlConvert JSON to YAML.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Convert JSON to YAML.
  • jwt_decodeDecode a JWT header + payload.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Decode a JWT header + payload. Does not verify the signature.
  • markdown_formatNormalize Markdown (list markers, trailing whitespace, blank lines).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Normalize Markdown (list markers, trailing whitespace, blank lines).
  • markdown_to_htmlConvert Markdown to HTML.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Convert Markdown to HTML.
  • meta_tags_generateGenerate <title>, description, Open Graph and Twitter Card tags for a page.No findings

    Why it is in this group

    • The name "meta_tags_generate" says "generate": a word for a change.
    Description, as the server wrote it
    Generate <title>, description, Open Graph and Twitter Card tags for a page.
  • regex_testTest a regular expression against input text and return matches with capture groups.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Test a regular expression against input text and return matches with capture groups.
  • sha256_hashCompute a SHA-256 hex digest of UTF-8 text.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Compute a SHA-256 hex digest of UTF-8 text.
  • slug_generateGenerate a URL slug from a string.No findings

    Why it is in this group

    • The name "slug_generate" says "generate": a word for a change.
    Description, as the server wrote it
    Generate a URL slug from a string.
  • sql_formatPretty-print SQL.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Pretty-print SQL.
  • unix_timestamp_convertConvert a Unix timestamp (seconds or ms) to an ISO 8601 date string.No findings

    Why it is in this group

    • The name "unix_timestamp_convert" says "convert": a word for a change.
    Description, as the server wrote it
    Convert a Unix timestamp (seconds or ms) to an ISO 8601 date string.
  • url_decodeDecode percent-encoded URL text.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Decode percent-encoded URL text.
  • url_encodePercent-encode a string (component or full URI mode).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Percent-encode a string (component or full URI mode).
  • uuid_generateGenerate RFC 4122 v4 UUIDs.No findings

    Why it is in this group

    • The name "uuid_generate" says "generate": a word for a change.
    Description, as the server wrote it
    Generate RFC 4122 v4 UUIDs.
  • yaml_formatPretty-print YAML.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Pretty-print YAML.
  • yaml_to_jsonConvert YAML to pretty-printed JSON.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Convert YAML to pretty-printed JSON.
Only reads 6Claude Code: allow
  • cron_explainExplain a cron expression in plain English.No findings

    Why it is in this group

    • The name "cron_explain" says "explain": a word for reading.
    Description, as the server wrote it
    Explain a cron expression in plain English.
  • json_diffDiff two JSON documents and return added/removed/changed keys.No findings

    Why it is in this group

    • The name "json_diff" says "diff": a word for reading.
    Description, as the server wrote it
    Diff two JSON documents and return added/removed/changed keys.
  • json_validateValidate JSON syntax and return the parsed value or a line/column error.No findings

    Why it is in this group

    • The name "json_validate" says "validate": a word for reading.
    Description, as the server wrote it
    Validate JSON syntax and return the parsed value or a line/column error.
  • markdown_previewRender Markdown to an HTML preview fragment with word/char counts.No findings

    Why it is in this group

    • The name "markdown_preview" says "preview": a word for reading.
    Description, as the server wrote it
    Render Markdown to an HTML preview fragment with word/char counts.
  • og_preview_buildBuild an Open Graph preview metadata bundle (title / description / domain truncation).No findings

    Why it is in this group

    • The name "og_preview_build" says "preview": a word for reading.
    Description, as the server wrote it
    Build an Open Graph preview metadata bundle (title / description / domain truncation).
  • text_diffDiff two texts and return part-level changes plus a unified string.No findings

    Why it is in this group

    • The name "text_diff" says "diff": a word for reading.
    Description, as the server wrote it
    Diff two texts and return part-level changes plus a unified string.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http one-million-tools https://tools-empire-mcp.lucas-qin-au.workers.dev/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__one-million-tools__json_validate",
      "mcp__one-million-tools__json_diff",
      "mcp__one-million-tools__cron_explain",
      "mcp__one-million-tools__text_diff",
      "mcp__one-million-tools__markdown_preview",
      "mcp__one-million-tools__og_preview_build"
    ],
    "ask": [
      "mcp__one-million-tools__json_format",
      "mcp__one-million-tools__json_minify",
      "mcp__one-million-tools__json_to_yaml",
      "mcp__one-million-tools__yaml_to_json",
      "mcp__one-million-tools__json_to_csv",
      "mcp__one-million-tools__csv_to_json",
      "mcp__one-million-tools__base64_encode",
      "mcp__one-million-tools__base64_decode",
      "mcp__one-million-tools__url_encode",
      "mcp__one-million-tools__url_decode",
      "mcp__one-million-tools__sha256_hash",
      "mcp__one-million-tools__hash_text",
      "mcp__one-million-tools__uuid_generate",
      "mcp__one-million-tools__regex_test",
      "mcp__one-million-tools__unix_timestamp_convert",
      "mcp__one-million-tools__jwt_decode",
      "mcp__one-million-tools__sql_format",
      "mcp__one-million-tools__html_format",
      "mcp__one-million-tools__css_format",
      "mcp__one-million-tools__js_format",
      "mcp__one-million-tools__yaml_format",
      "mcp__one-million-tools__env_redact",
      "mcp__one-million-tools__csv_parse",
      "mcp__one-million-tools__csv_sort",
      "mcp__one-million-tools__csv_filter",
      "mcp__one-million-tools__csv_split",
      "mcp__one-million-tools__csv_statistics",
      "mcp__one-million-tools__markdown_format",
      "mcp__one-million-tools__markdown_to_html",
      "mcp__one-million-tools__slug_generate",
      "mcp__one-million-tools__meta_tags_generate",
      "mcp__one-million-tools__color_convert",
      "mcp__one-million-tools__css_gradient_build",
      "mcp__one-million-tools__css_border_radius_build",
      "mcp__one-million-tools__css_box_shadow_build",
      "mcp__one-million-tools__css_contrast_check"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as one-million-tools. Review it before you use it.