MCP-Server

Chart Color System

io.github.socraticstatic/chart-color-system
Design & Kreativ Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Generates, audits, and simulates accessible chart color palettes, including colorblindness and contrast analysis.

audit_palette
Audit a chart palette
Audit existing chart colors for accessibility: pairwise OKLab separation under normal vision, deuteranopia, protanopia, tritanopia and achromatopsia, plus WCAG 2.2 non-text contrast (3:1) of every color against the chart background. Returns a pass / warn / fail verdict with the numbers behind it. Set ramp=true for sequential or diverging scales, whose steps are meant to be close.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['colors'], 'properties': {'ramp': {'type': 'boolean', 'default': False, 'description': 'true for a sequential or diverging scale (skips pairwise separation)'}, 'colors': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 24, 'minItems': 1, 'description': 'Palette colors in slot order (CSS syntax)'}, 'background': {'type': 'string', 'default': '#ffffff', 'description': 'Chart background color'}}, 'additionalProperties': False}
build_ramp
Build a sequential or diverging ramp
Build an evenly spaced perceptual (OKLab) color scale: sequential from start to end, or diverging from start through mid to end. Returns the steps and a background-contrast audit (pairwise separation is not judged for ramps).
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind', 'start', 'end'], 'properties': {'end': {'type': 'string', 'description': 'Last color (or the positive end)'}, 'mid': {'type': 'string', 'description': 'Middle color for a diverging scale; default a neutral near the background'}, 'kind': {'enum': ['sequential', 'diverging'], 'type': 'string'}, 'start': {'type': 'string', 'description': 'First color (or the negative end of a diverging scale)'}, 'steps': {'type': 'integer', 'default': 7, 'maximum': 24, 'minimum': 3}, 'background': {'type': 'string', 'default': '#ffffff'}}, 'additionalProperties': False}
simulate_palette
Simulate colorblind vision
Show what each color looks like to readers with deuteranopia, protanopia, tritanopia or achromatopsia (published Machado 2009 matrices), so an assistant can describe or render the palette as a colorblind reader sees it.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['colors'], 'properties': {'modes': {'type': 'array', 'items': {'enum': ['normal', 'deutan', 'protan', 'tritan', 'achromatopsia'], 'type': 'string'}, 'description': 'Vision modes to simulate; default all'}, 'colors': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 24, 'minItems': 1, 'description': 'Colors in slot order (CSS syntax)'}}, 'additionalProperties': False}
solve_palette
Solve a chart palette
Generate a categorical chart palette of n colors (1-12) that maximizes perceptual separation under normal vision and colorblindness, with the given brand colors locked as anchors in slot order. Returns the palette, the worst pair distances, the engine's relaxation notes, a full accessibility audit against the background, and a link to open it in the app. Honest cap is 6 slots; above that the result says so.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'n': {'type': 'integer', 'default': 6, 'maximum': 12, 'minimum': 1, 'description': 'Number of categorical slots'}, 'grid': {'type': 'string', 'description': 'Gridline color; defaults to a light or dark gray to match the background'}, 'anchors': {'type': 'array', 'items': {'type': 'string'}, 'default': [], 'maxItems': 12, 'description': 'Brand or required colors, kept exactly, in slot order (CSS syntax)'}, 'posture': {'enum': ['kpi', 'comparative', 'exploratory'], 'type': 'string', 'default': 'comparative', 'description': 'kpi: few strong colors; comparative: balanced; exploratory: many muted'}, 'background': {'type': 'string', 'default': '#ffffff', 'description': 'Chart background color'}}, 'additionalProperties': False}
Hinzugefügt
build_ramp
17. September 2026 12:52
Hinzugefügt
simulate_palette
17. September 2026 12:52
Hinzugefügt
audit_palette
17. September 2026 12:52
Hinzugefügt
solve_palette
17. September 2026 12:52