Cleanor

Zero-auth MCP: image optimize, cited storage/format data, and dev utilities LLMs get wrong.

我该使用它吗

质量与安全性

A
描述质量
96%
模式完整度
98%
命名质量
83%
投毒风险
80%
权限匹配度
90%
协议合规性
100%

发现(6)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'placeholder_image' description contains placeholder text在 placeholder_image 中
  • LOWTool 'base64' description lacks action verb在 base64 中
  • LOWTool 'slugify' description lacks action verb在 slugify 中
  • LOWTool 'url_parse' suggests web access but openWorldHint=false在 url_parse 中
  • INFOTool description contains placeholder or incomplete text在 placeholder_image 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~6,141token 数(工具定义)
~2.3 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 4.80%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "cleanor": {
      "command": "npx",
      "args": [
        "@cleanor/mcp"
      ]
    }
  }
}

可运行的软件包

npm@cleanor/mcp0.6.1stdio

远程端点

https://mcp.cleanor.app/mcpstreamable-http

它能做什么

工具清单

工具(22)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢optimize_image(image_url, format, width, quality)

Fetch an image from a public URL and re-encode it smaller (WebP/AVIF/JPEG), optionally resizing to a target width. Returns the optimized image plus before/after byte sizes. Use this when an AI-generated or dropped-in asset (hero image, screenshot, illustration) is too large to ship.

输入模式

{
  "type": "object",
  "properties": {
    "image_url": {
      "type": "string",
      "format": "uri",
      "description": "Public URL of the source image (PNG/JPEG/WebP/AVIF/GIF)."
    },
    "format": {
      "type": "string",
      "enum": [
        "webp",
        "avif",
        "jpeg"
      ],
      "default": "webp",
      "description": "Output format. webp = best browser support; avif = smallest; jpeg = universal."
    },
    "width": {
      "type": "integer",
      "minimum": 16,
      "maximum": 4096,
      "description": "Resize to this width in px, preserving aspect ratio. Omit to keep original size."
    },
    "quality": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 80,
      "description": "Encode quality 1-100 (80 is a good default)."
    }
  },
  "required": [
    "image_url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "format": {
      "type": "string",
      "description": "Output image format."
    },
    "original_bytes": {
      "type": "number"
    },
    "optimized_bytes": {
      "type": "number"
    },
    "saved_pct": {
      "type": "number",
      "description": "Percent smaller than the original."
    },
    "mime_type": {
      "type": "string"
    }
  },
  "required": [
    "format",
    "original_bytes",
    "optimized_bytes",
    "saved_pct",
    "mime_type"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢storage_capacity(storage_gb, content)

How many photos or minutes of video actually fit in a given storage size, corrected for real OS/filesystem overhead. Backed by Cleanor Labs measured per-item sizes. Use for realistic sample copy, dashboards, or "how many photos fit in 128 GB" answers.

输入模式

{
  "type": "object",
  "properties": {
    "storage_gb": {
      "type": "number",
      "minimum": 1,
      "maximum": 4096,
      "description": "Advertised storage size in GB (e.g. 64, 128, 256, 512)."
    },
    "content": {
      "type": "string",
      "enum": [
        "photos",
        "video"
      ],
      "default": "photos",
      "description": "What to count."
    }
  },
  "required": [
    "storage_gb"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "storage_gb": {
      "type": "number"
    },
    "usable_gb": {
      "type": "number",
      "description": "Usable GB after OS/filesystem overhead."
    },
    "content": {
      "type": "string"
    },
    "breakdown": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "count": {
            "type": "number"
          },
          "unit": {
            "type": "string"
          }
        },
        "required": [
          "label",
          "count",
          "unit"
        ],
        "additionalProperties": false
      },
      "description": "How many of each item fit."
    }
  },
  "required": [
    "storage_gb",
    "usable_gb",
    "content",
    "breakdown"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢image_format_savings(format, quality)

How much smaller WebP, AVIF or JPEG XL are than JPEG at matched perceptual quality, from Cleanor Labs’ controlled benchmark. Also reports the "HEIC conversion tax" (converting an iPhone HEIC to JPG/PNG makes it bigger). Use to justify a format choice when building a site or app.

输入模式

{
  "type": "object",
  "properties": {
    "format": {
      "type": "string",
      "enum": [
        "webp",
        "avif",
        "jxl"
      ],
      "default": "avif",
      "description": "Target format to compare against JPEG."
    },
    "quality": {
      "type": "string",
      "enum": [
        "web",
        "high"
      ],
      "default": "web",
      "description": "web = typical web quality (SSIM 0.95); high = near-lossless (SSIM 0.98)."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "format": {
      "type": "string"
    },
    "quality": {
      "type": "string"
    },
    "percent_smaller_than_jpeg": {
      "type": "number"
    },
    "all_formats": {
      "type": "object",
      "properties": {
        "avif": {
          "type": "number"
        },
        "webp": {
          "type": "number"
        },
        "jxl": {
          "type": "number"
        }
      },
      "required": [
        "avif",
        "webp",
        "jxl"
      ],
      "additionalProperties": false
    },
    "source": {
      "type": "string"
    }
  },
  "required": [
    "format",
    "quality",
    "percent_smaller_than_jpeg",
    "all_formats",
    "source"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢qr_code(text, ecc, size)

Encode text or a URL as a QR code and return a crisp, dependency-free SVG you can paste straight into a page, deck or doc.

输入模式

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "description": "Text or URL to encode."
    },
    "ecc": {
      "type": "string",
      "enum": [
        "L",
        "M",
        "Q",
        "H"
      ],
      "default": "M",
      "description": "Error-correction level: L=7%, M=15%, Q=25%, H=30% recoverable."
    },
    "size": {
      "type": "integer",
      "minimum": 64,
      "maximum": 1024,
      "default": 320,
      "description": "SVG pixel size."
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "svg": {
      "type": "string",
      "description": "The QR code as SVG markup."
    }
  },
  "required": [
    "svg"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢hash(input, algorithm)

Compute a cryptographic hash of text (SHA-1, SHA-256, SHA-384 or SHA-512) and return the hex digest. Use for checksums, cache keys, or verifying content. MD5 is intentionally not offered (broken, and unavailable in Web Crypto). LLMs cannot compute these reliably by hand, so always use this tool instead of guessing.

输入模式

{
  "type": "object",
  "properties": {
    "input": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100000,
      "description": "Text to hash (UTF-8)."
    },
    "algorithm": {
      "type": "string",
      "enum": [
        "sha-256",
        "sha-1",
        "sha-384",
        "sha-512"
      ],
      "default": "sha-256",
      "description": "Hash algorithm. Default sha-256."
    }
  },
  "required": [
    "input"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "algorithm": {
      "type": "string",
      "description": "The hash algorithm used."
    },
    "hex": {
      "type": "string",
      "description": "The hex-encoded digest."
    }
  },
  "required": [
    "algorithm",
    "hex"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢uuid(version, count)

Generate one or more UUIDs. v4 is fully random; v7 is time-sortable (recommended for database keys). LLMs cannot produce cryptographically random or correctly-formatted UUIDs, so always use this tool.

输入模式

{
  "type": "object",
  "properties": {
    "version": {
      "type": "string",
      "enum": [
        "v4",
        "v7"
      ],
      "default": "v4",
      "description": "UUID version. v7 = time-ordered."
    },
    "count": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 1,
      "description": "How many to generate."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "version": {
      "type": "string",
      "description": "UUID version generated."
    },
    "uuids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The generated UUIDs."
    }
  },
  "required": [
    "version",
    "uuids"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢base64(input, mode, url_safe)

Encode text to Base64 or decode Base64 back to text (UTF-8 safe). Supports URL-safe alphabet. Use whenever you need to encode/decode data URIs, tokens, or config values instead of guessing the bytes.

输入模式

{
  "type": "object",
  "properties": {
    "input": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100000,
      "description": "Text to encode, or Base64 to decode."
    },
    "mode": {
      "type": "string",
      "enum": [
        "encode",
        "decode"
      ],
      "default": "encode",
      "description": "Direction."
    },
    "url_safe": {
      "type": "boolean",
      "default": false,
      "description": "Use URL-safe alphabet (-_ instead of +/, no padding)."
    }
  },
  "required": [
    "input"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "mode": {
      "type": "string",
      "description": "encode or decode."
    },
    "result": {
      "type": "string",
      "description": "The encoded or decoded text."
    }
  },
  "required": [
    "mode",
    "result"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢json_format(input, mode, sort_keys)

Validate JSON and pretty-print or minify it, optionally sorting object keys. Returns a precise parse error (with position) if invalid. Use to check and clean JSON instead of eyeballing it.

输入模式

{
  "type": "object",
  "properties": {
    "input": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100000,
      "description": "JSON text."
    },
    "mode": {
      "type": "string",
      "enum": [
        "pretty",
        "minify"
      ],
      "default": "pretty",
      "description": "pretty = 2-space indent; minify = single line."
    },
    "sort_keys": {
      "type": "boolean",
      "default": false,
      "description": "Sort object keys alphabetically (deep)."
    }
  },
  "required": [
    "input"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "valid": {
      "type": "boolean",
      "description": "Whether the input was valid JSON."
    },
    "formatted": {
      "type": "string",
      "description": "The formatted JSON text."
    }
  },
  "required": [
    "valid",
    "formatted"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢jwt_decode(token)

Decode a JSON Web Token into its header and payload so you can inspect claims (iss, exp, sub, scopes). The signature is NOT verified and no secret is required or stored. Use to read a token during debugging.

输入模式

{
  "type": "object",
  "properties": {
    "token": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100000,
      "description": "The JWT (three dot-separated segments)."
    }
  },
  "required": [
    "token"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "header": {
      "description": "The decoded JWT header object."
    },
    "payload": {
      "description": "The decoded JWT payload (claims)."
    },
    "exp_iso": {
      "type": "string",
      "description": "Expiry as ISO 8601, if present."
    },
    "expired": {
      "type": "boolean",
      "description": "Whether the token is past its exp, if present."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢color(value)

Convert a color (hex, rgb() or hsl()) and return hex, RGB and HSL representations at once. Use when picking or translating colors for CSS, design tokens or themes.

输入模式

{
  "type": "object",
  "properties": {
    "value": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "A color: \"#3b82f6\", \"rgb(59,130,246)\" or \"hsl(217,91%,60%)\"."
    }
  },
  "required": [
    "value"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "hex": {
      "type": "string"
    },
    "rgb": {
      "type": "string"
    },
    "hsl": {
      "type": "string"
    }
  },
  "required": [
    "hex",
    "rgb",
    "hsl"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢slugify(input, separator)

Turn a title or phrase into a clean, URL-safe slug (lowercase, hyphenated, accents stripped). Use when generating page paths, filenames or anchor IDs.

输入模式

{
  "type": "object",
  "properties": {
    "input": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "description": "Text to slugify."
    },
    "separator": {
      "type": "string",
      "enum": [
        "-",
        "_"
      ],
      "default": "-",
      "description": "Word separator."
    }
  },
  "required": [
    "input"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "The URL-safe slug."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢count(input)

Accurately count characters (Unicode code points), UTF-16 units, words, lines and UTF-8 bytes in text. LLMs are notoriously bad at counting, so always use this tool for "how many characters/words" questions.

输入模式

{
  "type": "object",
  "properties": {
    "input": {
      "type": "string",
      "minLength": 0,
      "maxLength": 100000,
      "description": "Text to measure."
    }
  },
  "required": [
    "input"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "characters": {
      "type": "number",
      "description": "Unicode code points."
    },
    "utf16_units": {
      "type": "number"
    },
    "words": {
      "type": "number"
    },
    "lines": {
      "type": "number"
    },
    "bytes": {
      "type": "number",
      "description": "UTF-8 bytes."
    }
  },
  "required": [
    "characters",
    "utf16_units",
    "words",
    "lines",
    "bytes"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢regex_test(pattern, input, flags)

Test a JavaScript regular expression against sample text and return whether it matches, plus every match with its captured groups and index. Use to verify a pattern instead of reasoning about it in your head. Input and pattern are length-capped to keep it fast and safe.

输入模式

{
  "type": "object",
  "properties": {
    "pattern": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1000,
      "description": "The regex pattern (without slashes)."
    },
    "input": {
      "type": "string",
      "minLength": 0,
      "maxLength": 20000,
      "description": "Text to test against."
    },
    "flags": {
      "type": "string",
      "maxLength": 8,
      "default": "g",
      "description": "Regex flags, e.g. \"gi\". Allowed: g i m s u y d."
    }
  },
  "required": [
    "pattern",
    "input"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "matched": {
      "type": "boolean",
      "description": "Whether the pattern matched at all."
    },
    "match_count": {
      "type": "number"
    },
    "truncated": {
      "type": "boolean",
      "description": "True if results were capped at 100."
    },
    "matches": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "index": {
            "type": "number"
          },
          "match": {
            "type": "string"
          },
          "groups": {
            "type": "array",
            "items": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        },
        "required": [
          "index",
          "match",
          "groups"
        ],
        "additionalProperties": false
      },
      "description": "Each match with its start index and captured groups."
    }
  },
  "required": [
    "matched",
    "match_count",
    "truncated",
    "matches"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢cron_describe(expression)

Parse a standard 5-field cron expression (minute hour day-of-month month day-of-week) into a plain-English breakdown and the next few run times in UTC. Use to sanity-check a schedule instead of guessing what the fields mean.

输入模式

{
  "type": "object",
  "properties": {
    "expression": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "A 5-field cron expression, e.g. \"30 2 * * 1-5\"."
    }
  },
  "required": [
    "expression"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "minute": {
      "type": "string"
    },
    "hour": {
      "type": "string"
    },
    "day_of_month": {
      "type": "string"
    },
    "month": {
      "type": "string"
    },
    "day_of_week": {
      "type": "string"
    },
    "next_runs": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Next run times in UTC ISO 8601."
    }
  },
  "required": [
    "minute",
    "hour",
    "day_of_month",
    "month",
    "day_of_week",
    "next_runs"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢unit_convert(value, from, to)

Convert a value between units of length, mass, data size, time, speed or temperature. Supported units: mm, cm, m, km, in, ft, yd, mi, nmi, mg, g, kg, t, oz, lb, st, bit, byte, kb, kib, mb, mib, gb, gib, tb, tib, ms, s, min, h, day, week, mps, kph, mph, fps, knot, c, f, k. Use for exact conversions instead of approximating.

输入模式

{
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "description": "The numeric value to convert."
    },
    "from": {
      "type": "string",
      "minLength": 1,
      "maxLength": 8,
      "description": "Source unit (e.g. \"km\", \"lb\", \"mib\", \"c\")."
    },
    "to": {
      "type": "string",
      "minLength": 1,
      "maxLength": 8,
      "description": "Target unit (must be the same category as \"from\")."
    }
  },
  "required": [
    "value",
    "from",
    "to"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "value": {
      "type": "number"
    },
    "from": {
      "type": "string"
    },
    "to": {
      "type": "string"
    },
    "result": {
      "type": "number"
    },
    "category": {
      "type": "string"
    }
  },
  "required": [
    "value",
    "from",
    "to",
    "result",
    "category"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢datetime(input, timezone)

Get the current date/time, or convert a given timestamp, into a target IANA timezone with ISO, Unix and human-readable forms. Pass a Unix timestamp (seconds or ms) or an ISO string as input; omit it for "now". LLMs cannot know the real current time, so use this instead of guessing.

输入模式

{
  "type": "object",
  "properties": {
    "input": {
      "type": "string",
      "maxLength": 64,
      "description": "Optional: a Unix timestamp (s or ms) or ISO date string. Omit for the current time."
    },
    "timezone": {
      "type": "string",
      "maxLength": 64,
      "default": "UTC",
      "description": "IANA timezone, e.g. \"America/New_York\" or \"UTC\"."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "timezone": {
      "type": "string"
    },
    "local": {
      "type": "string",
      "description": "Human-readable local time in the timezone."
    },
    "iso_utc": {
      "type": "string"
    },
    "unix_s": {
      "type": "number"
    },
    "unix_ms": {
      "type": "number"
    }
  },
  "required": [
    "timezone",
    "local",
    "iso_utc",
    "unix_s",
    "unix_ms"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢url_parse(url)

Break a URL into its components: scheme, host, port, path, decoded query parameters and fragment. Use to inspect or debug a URL instead of parsing it by eye.

输入模式

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000,
      "description": "The URL to parse (absolute, with scheme)."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "scheme": {
      "type": "string"
    },
    "username": {
      "type": "string"
    },
    "host": {
      "type": "string"
    },
    "port": {
      "type": "string",
      "description": "Port, or empty if the scheme default."
    },
    "path": {
      "type": "string"
    },
    "query": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "value"
        ],
        "additionalProperties": false
      }
    },
    "fragment": {
      "type": "string"
    }
  },
  "required": [
    "scheme",
    "host",
    "port",
    "path",
    "query",
    "fragment"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢base_convert(value, from_base, to_base)

Convert an integer between number bases 2–36 (e.g. hex to binary, decimal to base-36). Arbitrary precision via BigInt, so large values stay exact. Use for radix conversions instead of doing them by hand.

输入模式

{
  "type": "object",
  "properties": {
    "value": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "description": "The number, in from_base (e.g. \"ff\", \"1010\", \"255\")."
    },
    "from_base": {
      "type": "integer",
      "minimum": 2,
      "maximum": 36,
      "default": 10,
      "description": "Base of the input (2–36)."
    },
    "to_base": {
      "type": "integer",
      "minimum": 2,
      "maximum": 36,
      "default": 16,
      "description": "Base to convert to (2–36)."
    }
  },
  "required": [
    "value"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "input": {
      "type": "string"
    },
    "from_base": {
      "type": "number"
    },
    "to_base": {
      "type": "number"
    },
    "result": {
      "type": "string",
      "description": "The value in to_base."
    },
    "decimal": {
      "type": "string",
      "description": "The value in base 10."
    }
  },
  "required": [
    "input",
    "from_base",
    "to_base",
    "result",
    "decimal"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢diff(a, b)

Compute a line-by-line diff between two texts, marking removed lines with "-", added with "+" and unchanged with two spaces, plus a change count. Use to see exactly what changed instead of comparing by eye. Capped at 1000 lines per side.

输入模式

{
  "type": "object",
  "properties": {
    "a": {
      "type": "string",
      "minLength": 0,
      "maxLength": 100000,
      "description": "The original (\"before\") text."
    },
    "b": {
      "type": "string",
      "minLength": 0,
      "maxLength": 100000,
      "description": "The updated (\"after\") text."
    }
  },
  "required": [
    "a",
    "b"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "changed": {
      "type": "boolean"
    },
    "added": {
      "type": "number"
    },
    "removed": {
      "type": "number"
    },
    "diff": {
      "type": "string",
      "description": "The line diff (+/-/space prefixed), empty if identical."
    }
  },
  "required": [
    "changed",
    "added",
    "removed",
    "diff"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢hmac(message, secret, algorithm, encoding)

Compute an HMAC (keyed hash) of a message with a secret, using SHA-1/256/384/512, returned as hex or Base64. Use to sign webhook payloads or verify a signature instead of guessing. LLMs cannot compute this by hand.

输入模式

{
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "minLength": 0,
      "maxLength": 100000,
      "description": "The message to sign (UTF-8)."
    },
    "secret": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096,
      "description": "The shared secret key (UTF-8)."
    },
    "algorithm": {
      "type": "string",
      "enum": [
        "sha-256",
        "sha-1",
        "sha-384",
        "sha-512"
      ],
      "default": "sha-256",
      "description": "Hash algorithm."
    },
    "encoding": {
      "type": "string",
      "enum": [
        "hex",
        "base64"
      ],
      "default": "hex",
      "description": "Output encoding."
    }
  },
  "required": [
    "message",
    "secret"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "algorithm": {
      "type": "string"
    },
    "encoding": {
      "type": "string"
    },
    "signature": {
      "type": "string",
      "description": "The HMAC in the requested encoding."
    }
  },
  "required": [
    "algorithm",
    "encoding",
    "signature"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢placeholder_image(width, height, bg, color, text)

Generate a lightweight SVG placeholder image at any size, with an optional label and custom background/text colors. Dependency-free, pastes straight into a page or mockup. Use for wireframes and design stubs instead of hotlinking a placeholder service.

输入模式

{
  "type": "object",
  "properties": {
    "width": {
      "type": "integer",
      "minimum": 1,
      "maximum": 4000,
      "default": 600,
      "description": "Width in pixels."
    },
    "height": {
      "type": "integer",
      "minimum": 1,
      "maximum": 4000,
      "default": 400,
      "description": "Height in pixels."
    },
    "bg": {
      "type": "string",
      "maxLength": 32,
      "default": "#e5e7eb",
      "description": "Background color (hex, rgb() or hsl())."
    },
    "color": {
      "type": "string",
      "maxLength": 32,
      "default": "#6b7280",
      "description": "Text color."
    },
    "text": {
      "type": "string",
      "maxLength": 120,
      "description": "Label text. Defaults to the dimensions, e.g. \"600×400\"."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "svg": {
      "type": "string",
      "description": "The SVG markup."
    },
    "width": {
      "type": "number"
    },
    "height": {
      "type": "number"
    }
  },
  "required": [
    "svg",
    "width",
    "height"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢color_palette(color, harmony)

Build a harmonious color palette from a base color using color-theory rules (complementary, analogous, triadic, tetradic, or monochromatic). Returns each color as hex and HSL. Use to derive a theme or design tokens from one brand color.

输入模式

{
  "type": "object",
  "properties": {
    "color": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "Base color: \"#3b82f6\", \"rgb(...)\" or \"hsl(...)\"."
    },
    "harmony": {
      "type": "string",
      "enum": [
        "complementary",
        "analogous",
        "triadic",
        "tetradic",
        "monochromatic"
      ],
      "default": "analogous",
      "description": "Color-harmony rule."
    }
  },
  "required": [
    "color"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "harmony": {
      "type": "string"
    },
    "base": {
      "type": "string",
      "description": "The base color as hex."
    },
    "colors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "hex": {
            "type": "string"
          },
          "hsl": {
            "type": "string"
          }
        },
        "required": [
          "hex",
          "hsl"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "harmony",
    "base",
    "colors"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本22 个工具
已验证未记录版本22 个工具