Craftery Developer Tools

Developer utilities: color conversion, WCAG contrast, timestamps, UUIDs, and hashing.

我该使用它吗

质量与安全性

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

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

上下文开销

~1,206token 数(工具定义)
~1.2 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 0.94%)

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

安装

一键安装

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

{
  "mcpServers": {
    "tools": {
      "url": "https://craftery.dev/mcp"
    }
  }
}

远程端点

https://craftery.dev/mcpstreamable-http

它能做什么

工具清单

工具(6)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢convert_color(color, alpha)

Convert a color into exact, platform-correct code for 12 formats: HEX, HEX8, rgba(), hsla(), closest CSS named color, closest Tailwind class, SwiftUI Color, UIColor, Jetpack Compose, Android XML, Flutter, and React Native. Handles the per-platform alpha byte order (RRGGBBAA on the web vs. AARRGGBB on Android/Compose/Flutter) that is easy to get wrong by hand.

输入模式

{
  "type": "object",
  "properties": {
    "color": {
      "type": "string",
      "description": "Color in any supported notation: hex (#F43, #FF6347, #FF6347CC), rgb()/rgba(), hsl()/hsla(), a CSS named color (tomato), or a Tailwind token (red-500)."
    },
    "alpha": {
      "type": "number",
      "minimum": 0,
      "maximum": 1,
      "description": "Opacity 0–1. Overrides any alpha embedded in the color input. Defaults to the input's alpha, or 1."
    }
  },
  "required": [
    "color"
  ]
}
🟢check_contrast(foreground, background)

Compute the exact WCAG 2.1 contrast ratio between a foreground and background color (relative-luminance formula) and report AA / AAA pass-fail for normal text (4.5 / 7), large text (3 / 4.5), and UI components (3). Use this instead of estimating contrast — the luminance math is precise here.

输入模式

{
  "type": "object",
  "properties": {
    "foreground": {
      "type": "string",
      "description": "Foreground (text) color. Color in any supported notation: hex (#F43, #FF6347, #FF6347CC), rgb()/rgba(), hsl()/hsla(), a CSS named color (tomato), or a Tailwind token (red-500)."
    },
    "background": {
      "type": "string",
      "description": "Background color. Color in any supported notation: hex (#F43, #FF6347, #FF6347CC), rgb()/rgba(), hsl()/hsla(), a CSS named color (tomato), or a Tailwind token (red-500)."
    }
  },
  "required": [
    "foreground",
    "background"
  ]
}
⚪swiftui_color(color, alpha, name)

Generate every SwiftUI Color initializer for a color: Color(red:green:blue:), opacity variant, Color(.sRGB), Color(.displayP3), HSB, hex-extension call, #colorLiteral, UIColor/NSColor bridges — plus a reusable `extension Color` snippet and Asset Catalog Contents.json.

输入模式

{
  "type": "object",
  "properties": {
    "color": {
      "type": "string",
      "description": "Color in any supported notation: hex (#F43, #FF6347, #FF6347CC), rgb()/rgba(), hsl()/hsla(), a CSS named color (tomato), or a Tailwind token (red-500)."
    },
    "alpha": {
      "type": "number",
      "minimum": 0,
      "maximum": 1,
      "description": "Opacity 0–1. Defaults to the input's alpha, or 1."
    },
    "name": {
      "type": "string",
      "description": "Optional swatch name for the `extension Color` snippet (e.g. \"Brand Primary\" → `Color.brandPrimary`)."
    }
  },
  "required": [
    "color"
  ]
}
⚪generate_uuid(version, count, uppercase, hyphens, braces)

Generate cryptographically random UUIDs: v4 (random), v7 (RFC 9562 time-ordered, sortable — batches stay strictly ordered), or NIL. Never invent UUIDs by hand — use this for real randomness. Supports uppercase, hyphen-less, and braced formatting.

输入模式

{
  "type": "object",
  "properties": {
    "version": {
      "type": "string",
      "enum": [
        "v4",
        "v7",
        "nil"
      ],
      "description": "UUID version. Default v4."
    },
    "count": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "How many UUIDs to generate (1–100). Default 1."
    },
    "uppercase": {
      "type": "boolean",
      "description": "Uppercase output. Default false."
    },
    "hyphens": {
      "type": "boolean",
      "description": "Keep hyphens. Default true."
    },
    "braces": {
      "type": "boolean",
      "description": "Wrap in braces. Default false."
    }
  }
}
🟢hash_text(text, hmac_key)

Compute real MD5, SHA-1, SHA-256, SHA-384, and SHA-512 digests of a UTF-8 string, or HMAC variants when a key is given (HMAC-MD5 unsupported). Hashes cannot be computed mentally — always use this. Runs statelessly; input is not stored. For secrets you'd rather keep on-device, use the in-browser tool at craftery.dev/hash/ instead.

输入模式

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "Text to hash (UTF-8)."
    },
    "hmac_key": {
      "type": "string",
      "description": "Optional HMAC key. When set, outputs are HMAC digests."
    }
  },
  "required": [
    "text"
  ]
}
⚪convert_timestamp(input, timezone)

Convert between Unix epoch timestamps and human dates with exact math: accepts epoch seconds / milliseconds / microseconds (auto-detected by magnitude), ISO 8601 / RFC 2822 strings, or "now". Returns seconds, millis, micros, ISO 8601 UTC, RFC 7231 UTC, the wall-clock time in a requested IANA timezone, and a relative description.

输入模式

{
  "type": "object",
  "properties": {
    "input": {
      "type": "string",
      "description": "Epoch timestamp (e.g. \"1735689600\", \"1735689600000\"), ISO 8601 / RFC 2822 date string, or \"now\"."
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone for the wall-clock output (e.g. \"Asia/Seoul\"). Default UTC."
    }
  },
  "required": [
    "input"
  ]
}

社区

评价此服务器

证据

最近观测

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