One Million Tools MCP
An open-source MCP server providing 42 deterministic text utilities including JSON, YAML, CSV formatting, hashing, encoding, and SEO helpers. It allows AI agents to process data locally without API keys, supporting clients like Cursor and Claude Desktop via Streamable HTTP.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://tools-empire-mcp.lucas-qin-au.workers.dev/mcpWhat you can do with it
- Format and validate JSON, YAML, or CSV data
- Generate SHA-256 hashes or Base64 encode text
- Explain cron expressions or convert timestamps
- Redact secrets from .env files or logs
Source and maintenance
Protocol and capabilities
- Server
- One Million Tools 0.1.0
- MCP protocol
- 2025-06-18
- Tools
- 42 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Tools
42 advertised
json_format
Pretty-print JSON with configurable indentation (2 spaces, 4 spaces, or tab).
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string",
"description": "Raw JSON text to format."
},
"indent": {
"enum": [
"2",
"4",
"tab"
],
"type": "string",
"default": "2"
}
}
}json_minify
Compress JSON by stripping whitespace.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
}
}
}json_validate
Validate JSON syntax and return the parsed value or a line/column error.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
}
}
}json_diff
Diff two JSON documents and return added/removed/changed keys.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"left",
"right"
],
"properties": {
"left": {
"type": "string"
},
"right": {
"type": "string"
}
}
}json_to_yaml
Convert JSON to YAML.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
}
}
}yaml_to_json
Convert YAML to pretty-printed JSON.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
}
}
}json_to_csv
Convert an array of JSON objects to CSV.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string",
"description": "JSON array of flat objects."
}
}
}csv_to_json
Parse CSV text into a JSON array of objects.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
}
}
}base64_encode
UTF-8 text → Base64 string.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
}
}
}base64_decode
Base64 string → UTF-8 text.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
}
}
}url_encode
Percent-encode a string (component or full URI mode).
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"mode": {
"enum": [
"component",
"uri"
],
"type": "string",
"default": "component"
},
"input": {
"type": "string"
}
}
}url_decode
Decode percent-encoded URL text.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"mode": {
"enum": [
"component",
"uri"
],
"type": "string",
"default": "component"
},
"input": {
"type": "string"
}
}
}sha256_hash
Compute a SHA-256 hex digest of UTF-8 text.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
}
}
}hash_text
Compute a SHA-1 / SHA-256 / SHA-512 hex digest of UTF-8 text.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
},
"algorithm": {
"enum": [
"SHA-1",
"SHA-256",
"SHA-512"
],
"type": "string",
"default": "SHA-256"
}
}
}uuid_generate
Generate RFC 4122 v4 UUIDs.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"count": {
"type": "integer",
"default": 1,
"maximum": 64,
"minimum": 1
}
}
}regex_test
Test a regular expression against input text and return matches with capture groups.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pattern",
"input"
],
"properties": {
"flags": {
"type": "string",
"default": "",
"description": "Flags, e.g. 'gi'."
},
"input": {
"type": "string"
},
"pattern": {
"type": "string",
"description": "Regex source, no surrounding slashes."
},
"replacement": {
"type": "string",
"description": "Optional replacement for String.replace."
}
}
}unix_timestamp_convert
Convert a Unix timestamp (seconds or ms) to an ISO 8601 date string.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"unit": {
"enum": [
"seconds",
"milliseconds"
],
"type": "string",
"default": "seconds"
},
"zone": {
"enum": [
"local",
"utc"
],
"type": "string",
"default": "utc"
},
"input": {
"type": "string",
"description": "Numeric Unix timestamp as a string."
}
}
}jwt_decode
Decode a JWT header + payload. Does not verify the signature.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"token"
],
"properties": {
"token": {
"type": "string"
}
}
}sql_format
Pretty-print SQL.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
},
"indent": {
"enum": [
"2",
"4"
],
"type": "string",
"default": "2"
},
"dialect": {
"enum": [
"sql",
"postgresql",
"mysql",
"sqlite",
"bigquery",
"tsql",
"mariadb",
"plsql",
"db2",
"redshift",
"snowflake"
],
"type": "string",
"default": "sql"
},
"keywordCase": {
"enum": [
"upper",
"lower",
"preserve"
],
"type": "string",
"default": "upper"
}
}
}html_format
Pretty-print HTML.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
},
"indent": {
"enum": [
"2",
"4"
],
"type": "string",
"default": "2"
},
"printWidth": {
"type": "integer",
"default": 80,
"maximum": 200,
"minimum": 20
}
}
}css_format
Pretty-print CSS.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
},
"indent": {
"enum": [
"2",
"4"
],
"type": "string",
"default": "2"
},
"printWidth": {
"type": "integer",
"default": 80,
"maximum": 200,
"minimum": 20
}
}
}js_format
Pretty-print JavaScript / TypeScript with Prettier.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"semi": {
"type": "boolean",
"default": true
},
"input": {
"type": "string"
},
"indent": {
"enum": [
"2",
"4"
],
"type": "string",
"default": "2"
},
"parser": {
"enum": [
"babel",
"babel-ts",
"typescript"
],
"type": "string",
"default": "babel"
},
"printWidth": {
"type": "integer",
"default": 80,
"maximum": 200,
"minimum": 20
},
"singleQuote": {
"type": "boolean",
"default": false
}
}
}yaml_format
Pretty-print YAML.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
},
"indent": {
"enum": [
"2",
"4"
],
"type": "string",
"default": "2"
},
"sortKeys": {
"type": "boolean",
"default": false
},
"lineWidth": {
"type": "integer",
"default": 80,
"maximum": 200,
"minimum": 20
}
}
}cron_explain
Explain a cron expression in plain English.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"expression"
],
"properties": {
"expression": {
"type": "string"
}
}
}env_redact
Redact secrets (API keys, tokens, passwords) from logs / config / env text.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
}
}
}csv_parse
Parse CSV text into fields + preview rows with delimiter detection.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
},
"delimiter": {
"enum": [
"auto",
",",
";",
"\t",
"|"
],
"type": "string",
"default": "auto"
},
"previewRows": {
"type": "integer",
"default": 50,
"maximum": 500,
"minimum": 1
}
}
}csv_sort
Sort CSV rows by one column (alpha or numeric).
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input",
"column"
],
"properties": {
"mode": {
"enum": [
"alpha",
"numeric"
],
"type": "string",
"default": "alpha"
},
"input": {
"type": "string"
},
"column": {
"type": "string"
},
"delimiter": {
"type": "string"
},
"direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "asc"
}
}
}csv_filter
Filter CSV rows by a column predicate (equals / contains / regex / gt / gte / lt / lte / not-empty).
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input",
"column"
],
"properties": {
"mode": {
"enum": [
"equals",
"contains",
"regex",
"gt",
"gte",
"lt",
"lte",
"not-empty"
],
"type": "string",
"default": "equals"
},
"input": {
"type": "string"
},
"value": {
"type": "string",
"default": ""
},
"column": {
"type": "string"
},
"caseSensitive": {
"type": "boolean",
"default": false
}
}
}csv_split
Split a CSV into N chunks or into files of N rows each.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"mode": {
"enum": [
"byChunks",
"byRows"
],
"type": "string",
"default": "byChunks"
},
"input": {
"type": "string"
},
"chunks": {
"type": "integer",
"default": 2,
"maximum": 9007199254740991,
"minimum": 1,
"description": "Used when mode=byChunks."
},
"rowsPerChunk": {
"type": "integer",
"default": 100,
"maximum": 9007199254740991,
"minimum": 1,
"description": "Used when mode=byRows."
}
}
}csv_statistics
Compute per-column summary statistics (count, min, max, mean, median) over a CSV.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
}
}
}text_diff
Diff two texts and return part-level changes plus a unified string.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"left",
"right"
],
"properties": {
"left": {
"type": "string"
},
"mode": {
"enum": [
"lines",
"words"
],
"type": "string",
"default": "words"
},
"right": {
"type": "string"
}
}
}markdown_format
Normalize Markdown (list markers, trailing whitespace, blank lines).
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
},
"listMarker": {
"enum": [
"-",
"*",
"+"
],
"type": "string",
"default": "-"
},
"trimTrailing": {
"type": "boolean",
"default": true
},
"collapseBlankLines": {
"type": "boolean",
"default": true
}
}
}markdown_to_html
Convert Markdown to HTML.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"gfm": {
"type": "boolean",
"default": true
},
"input": {
"type": "string"
},
"breaks": {
"type": "boolean",
"default": false
}
}
}markdown_preview
Render Markdown to an HTML preview fragment with word/char counts.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"gfm": {
"type": "boolean",
"default": true
},
"input": {
"type": "string"
},
"breaks": {
"type": "boolean",
"default": false
}
}
}slug_generate
Generate a URL slug from a string.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "string"
},
"lowercase": {
"type": "boolean",
"default": true
},
"maxLength": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "0 = no limit."
},
"separator": {
"enum": [
"-",
"_"
],
"type": "string",
"default": "-"
},
"stripAccents": {
"type": "boolean",
"default": true
},
"collapseRepeats": {
"type": "boolean",
"default": true
}
}
}meta_tags_generate
Generate <title>, description, Open Graph and Twitter Card tags for a page.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title",
"description"
],
"properties": {
"url": {
"type": "string",
"default": ""
},
"type": {
"enum": [
"website",
"article",
"product"
],
"type": "string",
"default": "website"
},
"title": {
"type": "string"
},
"author": {
"type": "string",
"default": ""
},
"locale": {
"type": "string",
"default": "en_US"
},
"imageUrl": {
"type": "string",
"default": ""
},
"siteName": {
"type": "string",
"default": ""
},
"canonical": {
"type": "string",
"default": ""
},
"description": {
"type": "string"
},
"twitterHandle": {
"type": "string",
"default": ""
}
}
}og_preview_build
Build an Open Graph preview metadata bundle (title / description / domain truncation).
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title",
"description"
],
"properties": {
"url": {
"type": "string",
"default": ""
},
"title": {
"type": "string"
},
"imageUrl": {
"type": "string",
"default": ""
},
"siteName": {
"type": "string",
"default": ""
},
"description": {
"type": "string"
}
}
}color_convert
Convert a HEX color into RGB / HSL / HSV / CSS forms.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"hex"
],
"properties": {
"hex": {
"type": "string",
"description": "HEX color, with or without leading #."
}
}
}css_gradient_build
Build a CSS linear-gradient string from color stops + angle.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"stops"
],
"properties": {
"angle": {
"type": "number",
"default": 90,
"description": "Degrees; 0 = top-to-bottom."
},
"stops": {
"type": "array",
"items": {
"type": "object",
"required": [
"color",
"position"
],
"properties": {
"color": {
"type": "string"
},
"position": {
"type": "number",
"maximum": 100,
"minimum": 0
}
}
},
"minItems": 2
}
}
}css_border_radius_build
Build a CSS border-radius value from four corner radii in px.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"bl": {
"type": "number",
"default": 0
},
"br": {
"type": "number",
"default": 0
},
"tl": {
"type": "number",
"default": 0
},
"tr": {
"type": "number",
"default": 0
}
}
}css_box_shadow_build
Build a CSS box-shadow value from one or more layers.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"layers"
],
"properties": {
"layers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"blur": {
"type": "number",
"default": 4
},
"color": {
"type": "string",
"default": "#000000"
},
"inset": {
"type": "boolean",
"default": false
},
"spread": {
"type": "number",
"default": 0
},
"offsetX": {
"type": "number",
"default": 0
},
"offsetY": {
"type": "number",
"default": 2
},
"opacity": {
"type": "number",
"default": 0.1,
"maximum": 1,
"minimum": 0
}
}
},
"minItems": 1
}
}
}css_contrast_check
Compute the WCAG contrast ratio between two colors and the AA/AAA verdict.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"foreground",
"background"
],
"properties": {
"background": {
"type": "string"
},
"foreground": {
"type": "string"
}
}
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 612 ms
- 95th percentile latency
- 612 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 612 ms · metadata changed · 42 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http one-million-tools-mcp https://tools-empire-mcp.lucas-qin-au.workers.dev/mcpCodex
codex mcp add one-million-tools-mcp --url https://tools-empire-mcp.lucas-qin-au.workers.dev/mcpCursor
{
"mcpServers": {
"one-million-tools-mcp": {
"url": "https://tools-empire-mcp.lucas-qin-au.workers.dev/mcp"
}
}
}Cline
{
"mcpServers": {
"one-million-tools-mcp": {
"type": "streamableHttp",
"url": "https://tools-empire-mcp.lucas-qin-au.workers.dev/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"one-million-tools-mcp": {
"type": "http",
"url": "https://tools-empire-mcp.lucas-qin-au.workers.dev/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http one-million-tools-mcp https://tools-empire-mcp.lucas-qin-au.workers.dev/mcpClaude Desktop
{
"mcpServers": {
"one-million-tools-mcp": {
"url": "https://tools-empire-mcp.lucas-qin-au.workers.dev/mcp"
}
}
}Windsurf
{
"mcpServers": {
"one-million-tools-mcp": {
"serverUrl": "https://tools-empire-mcp.lucas-qin-au.workers.dev/mcp"
}
}
}Let your agent find its tools
Find servers like One Million Tools MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.