{
  "slug": "color-palette",
  "mcpServerUrl": "https://plugins-worker.demos.42a.ai/color-palette/mcp",
  "interface": {
    "displayName": "Handy Color Palette Generator",
    "shortDescription": "Palettes and WCAG contrast",
    "longDescription": "Build a color palette from one or more base colors, with exact WCAG contrast numbers and ready-to-paste code.\n\nGive a hex code, an rgb() or hsl() value, a CSS color name, or just describe a mood or brand and let ChatGPT pick the starting colors. Choose a harmony (complementary, analogous, triadic, split-complementary, tetradic or monochromatic) and 3 to 8 colors. Colors are generated on the perceptual OKLCH wheel, and the primary gets a Tailwind-style 50 to 950 scale of tints and shades with even perceived steps.\n\nEvery color shows its hex, RGB, HSL and OKLCH values, its contrast against white and black, and the text color that reads best on it. A contrast matrix shows which color pairs pass WCAG AA. Copy the palette as CSS variables, a Tailwind v4 theme or v3 config, SCSS variables or W3C design tokens, or download an SVG swatch sheet.\n\nThe contrast checker gives the exact WCAG 2.x ratio for any text and background pair, pass or fail for AA and AAA (normal and large text) and UI components, and the nearest passing color if a pair fails. Nothing is stored.",
    "category": "Creativity",
    "defaultPrompt": [
      "Make a 5-color palette from #3B82F6",
      "Brand colors for a calm, earthy wellness studio",
      "Is #777777 text on white accessible?"
    ],
    "capabilities": [
      "Complementary, analogous, triadic, split-complementary, tetradic and monochromatic palettes",
      "Tailwind-style 50-950 tints and shades, perceptually even (OKLCH)",
      "Exact WCAG 2.x contrast for every color and pair, with the best text color",
      "Nearest passing color when a pair fails AA or AAA",
      "CSS variables, Tailwind, SCSS and W3C design token exports",
      "Downloadable SVG swatch sheet"
    ],
    "logo": "https://plugins-worker.demos.42a.ai/color-palette/icon.svg",
    "websiteURL": "https://plugins-worker.demos.42a.ai/color-palette/",
    "supportURL": "https://plugins-worker.demos.42a.ai/support",
    "privacyPolicyURL": "https://plugins-worker.demos.42a.ai/privacy",
    "termsOfServiceURL": "https://plugins-worker.demos.42a.ai/terms",
    "developerName": "42a"
  },
  "keywords": [
    "color palette generator",
    "color scheme from hex",
    "complementary colors",
    "brand color palette",
    "tailwind color scale",
    "tints and shades",
    "contrast checker",
    "wcag color contrast",
    "is this color accessible"
  ],
  "tools": [
    {
      "name": "generate_palette",
      "title": "Generate color palette",
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false,
        "idempotentHint": true
      }
    },
    {
      "name": "check_contrast",
      "title": "Check color contrast",
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false,
        "idempotentHint": true
      }
    }
  ],
  "dataSources": [],
  "review": {
    "positiveTestCases": [
      {
        "description": "Complementary palette from a hex code",
        "prompt": "Make me a complementary color palette from #3B82F6 with 5 colors",
        "tools_triggered": [
          "generate_palette"
        ],
        "expected_behavior": "Five colors starting with #3B82F6; the primary sits at step 500 of its scale, has 3.68:1 contrast on white (so it takes black text), and the card offers CSS/Tailwind exports and an SVG sheet."
      },
      {
        "description": "Brand palette from a mood (model picks the base colors)",
        "prompt": "I need brand colors for a calm, earthy wellness studio. Six colors, analogous.",
        "tools_triggered": [
          "generate_palette"
        ],
        "expected_behavior": "Six colors: the two chosen bases first (#7A9E7E sage, #D9C5A0 sand), then generated analogous hues."
      },
      {
        "description": "Single contrast check that fails AA by a hair",
        "prompt": "Is #777777 text on a white background accessible?",
        "tools_triggered": [
          "check_contrast"
        ],
        "expected_behavior": "4.48:1: fails AA for normal text (needs 4.5:1), passes for large text and UI; the nearest passing gray is #767676 at 4.54:1."
      },
      {
        "description": "Several pairs at once",
        "prompt": "Check my UI colors: white text on #3B82F6 buttons, and #1E293B body text on #F8FAFC",
        "tools_triggered": [
          "check_contrast"
        ],
        "expected_behavior": "White on #3B82F6 is 3.68:1 (fails AA for normal text, fine for large text and UI); #1E293B on #F8FAFC is 13.98:1 (passes AAA)."
      },
      {
        "description": "Monochromatic tints and shades of a brand color",
        "prompt": "Give me a monochromatic palette and Tailwind-style tints and shades for #0F766E",
        "tools_triggered": [
          "generate_palette"
        ],
        "expected_behavior": "Five teal tones from light to dark; #0F766E lands at step 700 of the 50-950 scale."
      }
    ],
    "negativeTestCases": [
      {
        "prompt": "Which Benjamin Moore paint color is closest to sage green for my bedroom?",
        "expected_behavior": "Does not call Handy Color Palette Generator: A paint-brand catalogue lookup, not palette generation or contrast maths."
      },
      {
        "prompt": "Make the background of my logo PNG transparent",
        "expected_behavior": "Does not call Handy Color Palette Generator: Image editing; this plugin works with color values, not image files."
      },
      {
        "prompt": "What does the color red symbolize in Chinese culture?",
        "expected_behavior": "Does not call Handy Color Palette Generator: A general-knowledge question about color meaning, answered in chat."
      }
    ]
  }
}