Craftery Developer Tools

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

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
98%
命名の品質
93%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,206トークン数(ツール定義)
~1.2 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 0.94%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `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 件