# PickShade color tools (remote · pickshade.com)

18 color tools: OKLCH, WCAG and APCA contrast fixes, palettes, gradients, color blindness, tokens.

- Trust score: 88/100 (high trust)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `pickshade.com`: 88/100 (this document), [markdown](https://verifymcp.io/servers/com-pickshade-pickshade/api-mcp.md), [page](https://verifymcp.io/servers/com-pickshade-pickshade/api-mcp)

## Channel facts

- Endpoint: `https://pickshade.com/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.2.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 82/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2514 tokens (~139/item across 18 items; 18 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 100/100
  - No destabilizing schema changes in the last 30 days.
- **Tool Coverage**: 89/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 66% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 18 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 19 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the PickShade color tools MCP server?

PickShade color tools is a hosted endpoint at https://pickshade.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-pickshade-pickshade 'https://pickshade.com/api/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-pickshade-pickshade": {
      "url": "https://pickshade.com/api/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-pickshade-pickshade": {
      "type": "http",
      "url": "https://pickshade.com/api/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-pickshade-pickshade]
url = "https://pickshade.com/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-pickshade-pickshade": {
      "type": "remote",
      "url": "https://pickshade.com/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-pickshade-pickshade --url 'https://pickshade.com/api/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-pickshade-pickshade:
    url: "https://pickshade.com/api/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-pickshade-pickshade": {
      "Transport": "http",
      "Url": "https://pickshade.com/api/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-pickshade-pickshade -t streamable-http -u 'https://pickshade.com/api/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-pickshade-pickshade": {
      "type": "http",
      "url": "https://pickshade.com/api/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 88, +1)

- [security] Stability: 0.97 → pass

### 2026-11-04 (score 87, +36)

- [security improvement] Authorization: unverified → partial
- [security improvement] Injection markers: unverified → pass
- [security improvement] HSTS header: unverified → pass
- [security improvement] Transport: fail → pass
- [functional improvement] Endpoint reachability: unreachable → reachable
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → 100
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.97

### 2026-11-03 (score 51, −17)

The score moved with no change recorded against any check. We would rather say so than guess.

### 2026-11-02 (score 68, −17)

The score moved with no change recorded against any check. We would rather say so than guess.

### 2026-10-31 (score 85, 0)

- [security regression] Endpoint reachability: reachable → unreachable
- [security regression] Stability: 0.80 → unverified
- [security regression] Authorization: partial → unverified
- [security regression] Tool safety: pass → unverified
- [security regression] HSTS header: pass → unverified
- [security regression] Transport: pass → fail
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-10-29 (score 85, +1)

No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-27 (score 84, +1)

No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-25 (score 83, +1)

No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (18)

### `parse_color` (~140 tokens)

Describe a color

Read any color and describe it: HEX, RGB, HSL and OKLCH values, the closest human name, the closest Tailwind class, its hue family, whether it fits sRGB and Display P3, and which text color, white or black, reads better on it.

Input parameters:

- `color` (string, required): Any color: #ff5733, rgb(255 87 51), hsl(11 100% 60%), oklch(68% 0.21 34), a CSS or common name like navy, or a Tailwind class like sky-500
- `locale` (string): Language for color names

### `convert_color` (~167 tokens)

Convert a color

Convert a color between formats: hex, rgb, hsl, hsv, hwb, cmyk, lab, lch, oklab, oklch, display-p3, rec2020, xyz and platform code (swiftui, uikit, flutter, android). Values follow CSS Color 4.

Input parameters:

- `color` (string, required): Any color: #ff5733, rgb(255 87 51), hsl(11 100% 60%), oklch(68% 0.21 34), a CSS or common name like navy, or a Tailwind class like sky-500
- `formats` (array): Formats to return. Defaults to hex, rgb, hsl, oklch, oklab and display-p3

### `find_colors` (~99 tokens)

Find colors by name

Search color names by words, like "sage", "dusty rose", "midnight blue" or "бордовый", and get their HEX values. Searches common names in English and Russian and about 30 000 extended color names. Use it to turn a description into real colors.

Input parameters:

- `limit` (integer)
- `locale` (string): Language for color names
- `query` (string, required): Words to look for in color names

### `check_contrast` (~82 tokens)

Check text contrast

Check text contrast against a background with both WCAG 2 (ratio, AA and AAA for normal and large text) and APCA (Lc value and the usage level it allows). Also suggests the nearest text color that passes AA and AAA while keeping its hue.

Input parameters:

- `background` (string, required): Background color
- `text` (string, required): Text or foreground color

### `fix_contrast` (~123 tokens)

Fix contrast

Find the closest color that reaches a contrast target by changing only OKLCH lightness, so the hue and character stay. Targets: aa (4.5:1), aa-large (3:1), aaa (7:1), apca-body (Lc 75), apca-content (Lc 60), apca-large (Lc 45). Adjust the text color or the background.

Input parameters:

- `adjust` (string)
- `background` (string, required): Background color
- `target` (string)
- `text` (string, required): Text or foreground color

### `audit_palette` (~84 tokens)

Audit a palette for accessibility

Check every text and background pair in a palette with WCAG 2 and APCA, list which pairs are safe for body text, large text or only decoration, find colors that people with color blindness cannot tell apart, and flag colors outside sRGB. Use it before shipping a theme or chart palette.

Input parameters:

- `colors` (array, required): Palette colors, 2 to 12

### `check_gamut` (~118 tokens)

Check gamut

Check whether a color fits the sRGB, Display P3 and Rec. 2020 gamuts, and get the closest sRGB fallback that keeps lightness and hue (CSS Color 4 gamut mapping in OKLCH).

Input parameters:

- `color` (string, required): Any color: #ff5733, rgb(255 87 51), hsl(11 100% 60%), oklch(68% 0.21 34), a CSS or common name like navy, or a Tailwind class like sky-500

### `nearest_names` (~117 tokens)

Find color names

Find the closest named colors, CSS color keywords and Tailwind CSS classes for a color, ranked by perceptual distance (deltaE OK).

Input parameters:

- `color` (string, required): Any color: #ff5733, rgb(255 87 51), hsl(11 100% 60%), oklch(68% 0.21 34), a CSS or common name like navy, or a Tailwind class like sky-500
- `limit` (integer)
- `locale` (string): Language for color names

### `compare_colors` (~182 tokens)

Compare two colors

Compare two colors: CIEDE2000 and deltaE OK difference with a plain verdict (identical, nearly, similar, different, opposite), lightness shift in percent, chroma and hue shift, and the contrast between them.

Input parameters:

- `first` (string, required): Any color: #ff5733, rgb(255 87 51), hsl(11 100% 60%), oklch(68% 0.21 34), a CSS or common name like navy, or a Tailwind class like sky-500
- `second` (string, required): Any color: #ff5733, rgb(255 87 51), hsl(11 100% 60%), oklch(68% 0.21 34), a CSS or common name like navy, or a Tailwind class like sky-500

### `generate_scale` (~115 tokens)

Generate a 50–950 scale

Build an 11-step tint and shade scale (50, 100 … 900, 950) from one color in OKLCH, the same shape as Tailwind palettes, with even perceived lightness steps.

Input parameters:

- `color` (string, required): Any color: #ff5733, rgb(255 87 51), hsl(11 100% 60%), oklch(68% 0.21 34), a CSS or common name like navy, or a Tailwind class like sky-500

### `tints_shades` (~120 tokens)

Tints, shades and tones

Get tints (mixed with white), shades (mixed with black) and tones (mixed with gray) of a color, evenly spaced, as HEX. Good for hover states, borders and backgrounds.

Input parameters:

- `color` (string, required): Any color: #ff5733, rgb(255 87 51), hsl(11 100% 60%), oklch(68% 0.21 34), a CSS or common name like navy, or a Tailwind class like sky-500
- `steps` (integer)

### `harmonies` (~126 tokens)

Color harmonies

Get color harmonies for a base color, computed in OKLCH so lightness stays even: complementary, split-complementary, analogous, triadic, tetradic, square and monochromatic.

Input parameters:

- `color` (string, required): Any color: #ff5733, rgb(255 87 51), hsl(11 100% 60%), oklch(68% 0.21 34), a CSS or common name like navy, or a Tailwind class like sky-500
- `kind` (string): One harmony. All harmonies when omitted

### `mix_colors` (~199 tokens)

Mix two colors

Mix two colors at a ratio in a chosen color space, like CSS color-mix(). OKLab keeps the middle bright, sRGB tends to turn gray. Returns the result and a ready color-mix() expression.

Input parameters:

- `amount` (number): Share of the second color in percent
- `first` (string, required): Any color: #ff5733, rgb(255 87 51), hsl(11 100% 60%), oklch(68% 0.21 34), a CSS or common name like navy, or a Tailwind class like sky-500
- `second` (string, required): Any color: #ff5733, rgb(255 87 51), hsl(11 100% 60%), oklch(68% 0.21 34), a CSS or common name like navy, or a Tailwind class like sky-500
- `space` (string)

### `make_gradient` (~124 tokens)

Make a CSS gradient

Build a CSS gradient from 2 or more colors with interpolation in OKLab, OKLCH or sRGB. Returns modern CSS with the color space, a fallback with precomputed stops for older browsers, and the stop colors. OKLab avoids the gray middle that sRGB gradients get.

Input parameters:

- `angle` (number): Angle in degrees for linear
- `colors` (array, required): Gradient stops in order, 2 to 12
- `kind` (string)
- `space` (string)
- `stops` (integer): How many precomputed stops the fallback gets

### `generate_palette` (~107 tokens)

Generate a palette

Generate a harmonious palette in OKLCH. Keep colors you already have, pick a style (auto, analogous, complementary, triadic, monochromatic, pastel, vivid, muted, dark) and pass a seed to get the same palette every time.

Input parameters:

- `keep` (array): Colors that must stay in the palette, in order
- `mode` (string)
- `seed` (string): Any text. The same seed gives the same palette
- `size` (integer)

### `simulate_cvd` (~67 tokens)

Simulate color blindness

Show how colors look with protanopia, deuteranopia, tritanopia and achromatopsia (Machado 2009 at full severity), and list the pairs that become hard to tell apart.

Input parameters:

- `colors` (array, required)
- `kinds` (array)

### `export_tokens` (~92 tokens)

Export colors as code

Turn a list of colors into ready code: CSS custom properties, a Tailwind v4 @theme block, SCSS variables, JSON, W3C design tokens (DTCG), a JavaScript array or an SVG swatch strip. Unnamed colors get their closest color name.

Input parameters:

- `colors` (array, required)
- `format` (string)
- `values` (string): How color values are written

### `build_system` (~296 tokens)

Build a design system

Build a full color system from a brand color: 50–950 scales for primary, secondary, accent, neutral and status colors, light and dark theme roles, exported as a Tailwind v4 theme, CSS variables, shadcn/ui globals.css or DTCG tokens, with a contrast audit of text and surface pairs.

Input parameters:

- `accent` (string): Any color: #ff5733, rgb(255 87 51), hsl(11 100% 60%), oklch(68% 0.21 34), a CSS or common name like navy, or a Tailwind class like sky-500
- `format` (string)
- `name` (string)
- `neutral` (string): Any color: #ff5733, rgb(255 87 51), hsl(11 100% 60%), oklch(68% 0.21 34), a CSS or common name like navy, or a Tailwind class like sky-500
- `primary` (string, required): Brand or primary color
- `secondary` (string): Any color: #ff5733, rgb(255 87 51), hsl(11 100% 60%), oklch(68% 0.21 34), a CSS or common name like navy, or a Tailwind class like sky-500
- `values` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-pickshade-pickshade/api-mcp#diagnostics

## Score history

- 2026-11-05: 88
- 2026-11-04: 87
- 2026-11-03: 51
- 2026-11-02: 68
- 2026-11-01: 85
- 2026-10-31: 85
- 2026-10-30: 85
- 2026-10-29: 85
- 2026-10-28: 84
- 2026-10-27: 84
- 2026-10-26: 83
- 2026-10-25: 83
- 2026-10-24: 82
- 2026-10-23: 82
- 2026-10-22: 81
- 2026-10-21: 81
- 2026-10-20: 80
- 2026-10-19: 80
- 2026-10-18: 79
- 2026-10-17: 79
- 2026-10-16: 79
- 2026-10-15: 78
- 2026-10-14: 78
- 2026-10-13: 77
- 2026-10-12: 77
- 2026-10-10: 76
- 2026-10-09: 75
- 2026-10-06: 74

## Common questions

### What is the PickShade color tools MCP server?

PickShade color tools is an MCP server listed in the public MCP registry as com.pickshade/pickshade. 18 color tools: OKLCH, WCAG and APCA contrast fixes, palettes, gradients, color blindness, tokens. This page covers its hosted endpoint (https://pickshade.com/api/mcp).

### Is the PickShade color tools MCP server safe to use?

PickShade color tools scores 88 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the PickShade color tools MCP server expose?

PickShade color tools exposes 18 tools: parse_color, convert_color, find_colors, check_contrast, fix_contrast, and 13 more. Their descriptions and schemas cost roughly 2,358 tokens of context every time the server is loaded.

### Does the PickShade color tools MCP server require authentication?

No. We connected to PickShade color tools without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the PickShade color tools MCP server still maintained?

PickShade color tools is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://pickshade.com/api/mcp
- Repository: https://github.com/tenzo-run/pickshade-mcp
- Website: https://pickshade.com/mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-pickshade-pickshade/api-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-pickshade-pickshade/api-mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-pickshade-pickshade/api-mcp
