rnv-color-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for the Streamable HTTP server. | 7860 |
| RNV_PALETTE_STORE | No | Persistent path for palette store (e.g., /data/palettes.json). If not set, palettes are not persisted. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mix_colorsA | Blend up to 12 colors into one. Each color may be a hex (#d2bc93), a CSS name (red), an RNV brand name (brand gold, near-black), or a saved-palette reference (Spring line, or 'Spring line:2' for its 2nd swatch). Optional integer weights bias the blend (defaults to equal). mode selects the model: rgb/hsv/lab are digital blends (lab is perceptual and the default); paint mixes pigments via Kubelka-Munk physics (colors darken like real paint); ryb is the artist's color wheel; cmy is subtractive like printer inks. Returns hex and rgb. |
| convert_colorA | Convert a color between formats. Input accepts a hex, CSS name, RNV brand name, or saved-palette reference. With |
| generate_harmonyA | Generate a color harmony from a base color. base accepts a hex, CSS name, RNV brand name, or saved-palette reference (e.g. 'Spring line:2'). scheme is one of: complementary, analogous, triadic, split-complementary, tetradic (a.k.a. square), monochromatic, compound. Returns a list of hex colors. |
| color_differenceA | Perceptual difference (Delta-E) between two colors. color1 and color2 accept a hex, CSS name, RNV brand name, or saved-palette reference. method is 'ciede2000' (default, modern standard) or 'cie76'. A value near 1.0 is the threshold the eye can just notice; larger means more different. Returns the value and a plain-language interpretation. |
| contrast_checkA | WCAG contrast ratio between a foreground and background color, for accessibility. Both accept a hex, CSS name, RNV brand name, or saved-palette reference. Returns the ratio (1.0-21.0) plus pass/fail for AA and AAA at normal and large text sizes and for UI components. Use this to check if text will be readable on a background. |
| transform_textA | Apply an exact, deterministic text transformation. operation is one of: UPPERCASE, lowercase, 'Title Case', 'Sentence case', camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case, 'iNVERTED cASE'. Use this rather than converting case by hand. |
| save_paletteA | Save (or update) a named palette for later reuse, e.g. a launch line. colors is a list of hex values; optional notes are stored as the palette's description. Author is recorded as RNVizion. |
| list_palettesA | List every saved palette as name + colors. |
| get_paletteA | Retrieve one saved palette by name, returning its colors and metadata. Returns null if no palette by that name exists. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Most tools have clear, distinct purposes related to color operations. However, the inclusion of 'transform_text' is unrelated to color and could confuse agents about the server's domain. Palette retrieval tools (get_palette, list_palettes) are similar but distinct.
All tool names consistently use the verb_noun pattern in snake_case (e.g., 'convert_color', 'list_palettes'). The exception is 'transform_text', which breaks the pattern both in verb domain and object, but the naming style is still consistent.
With 9 tools, the server covers a reasonable scope of color operations plus palette management. The count is slightly elevated due to the unrelated 'transform_text' tool, but overall it's well-scoped for a color utility server.
The server provides core color functionalities (difference, contrast, conversion, harmony, mixing) and palette CRUD with save/update and get/list, but lacks a delete palette operation. The inclusion of 'transform_text' is a significant gap as it is outside the color domain and does not contribute to completeness.