Craftery Developer Tools
Developer utilities: color conversion, WCAG contrast, timestamps, UUIDs, and hashing.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"tools": {
"url": "https://craftery.dev/mcp"
}
}
}Remote-Endpunkte
https://craftery.dev/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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"
]
}Community
Nachweis