protogrid

Search / dev.craftery/tools

Craftery Developer Tools

R0· no sign-in

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

v1.0.2 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality75good
Trust82of 100
Uptime, 30 days92%
Latency p50339 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "tools": {
      "type": "http",
      "url": "https://craftery.dev/mcp"
    }
  }
}
claude mcp add --transport http tools https://craftery.dev/mcp
[mcp_servers.tools]
url = "https://craftery.dev/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "tools": {
      "type": "remote",
      "url": "https://craftery.dev/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "tools": {
      "type": "http",
      "url": "https://craftery.dev/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=tools&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vY3JhZnRlcnkuZGV2L21jcCJ9"
}
{
  "servers": {
    "tools": {
      "type": "http",
      "url": "https://craftery.dev/mcp"
    }
  }
}
{
  "mcpServers": {
    "tools": {
      "httpUrl": "https://craftery.dev/mcp"
    }
  }
}
extensions:
  "tools":
    enabled: true
    name: "tools"
    type: streamable_http
    uri: "https://craftery.dev/mcp"
    timeout: 300

Quality 75 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations6 of 6 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 1,170 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes6 tool changes in 30 days
  • fail
    stability.rug_pull1 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

6 tools, about 1,170 tokens to load them all · tool set 524bc82364d8 · tools last changed 2026-10-17 · checked 2026-10-20 09:31 UTC

Tool changes

  • convert_timestampchangedtitle, description, annotations
    before

    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.

    after · 86% of words in common

    Converts between Unix epoch timestamps and human-readable dates. 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.

  • hash_textchangedtitle, description, annotationsmeaning changed
    before

    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.

    after · 44% of words in common

    Computes 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). Stateless; input is not stored.

  • generate_uuidchangedtitle, description, annotations
    before

    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.

    after · 57% of words in common

    Generates cryptographically random UUIDs: v4 (random), v7 (RFC 9562 time-ordered; batches stay strictly ordered), or NIL. Supports uppercase, hyphen-less, and braced formatting. 1–100 per call.

  • swiftui_colorchangedtitle, description, annotations
    before

    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.

    after · 94% of words in common

    Generates 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.

  • check_contrastchangedtitle, description, annotations
    before

    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.

    after · 70% of words in common

    Computes the exact WCAG 2.1 contrast ratio between a foreground and background color (relative-luminance formula) and reports AA/AAA pass-fail for normal text (4.5 / 7), large text (3 / 4.5), and UI components (3).

  • convert_colorchangedtitle, description, annotations
    before

    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.

    after · 66% of words in common

    Converts a color into 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. Applies each platform's alpha byte order (RRGGBBAA on the web, AARRGGBB on Android/Compose/Flutter).

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 82 / 100

no-repository
provenance55
liveness97
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-92% +updated-3d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://craftery.dev/mcp streamable-httpnoneyes92%339 ms2025-06-182026-10-20

Tools (6)

check_contrastread-onlyComputes the exact WCAG 2.1 contrast ratio between a foreground and background color (relative-luminance formula) and reports AA/AAA pass-fail for normal text (4.5 / 7), large text (3 / 4.5), and UI components (3).
convert_colorread-onlyConverts a color into 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. Applies each platform's alpha byte order (RRGGBBAA on the web, AARRGGBB on Android/Compose/Flutter).
convert_timestampread-onlyConverts between Unix epoch timestamps and human-readable dates. 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.
generate_uuidread-onlyGenerates cryptographically random UUIDs: v4 (random), v7 (RFC 9562 time-ordered; batches stay strictly ordered), or NIL. Supports uppercase, hyphen-less, and braced formatting. 1–100 per call.
hash_textread-onlyComputes 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). Stateless; input is not stored.
swiftui_colorread-onlyGenerates 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "dev.craftery/tools",
  "title": "Craftery Developer Tools",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://craftery.dev/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.2",
  "websiteUrl": "https://craftery.dev/mcp",
  "description": "Developer utilities: color conversion, WCAG contrast, timestamps, UUIDs, and hashing."
}