io.github.vince-gonzalez/cvdsafe
Check if a palette or image is colorblind-safe, generate safe palettes, check WCAG contrast.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
cvdsafe-mcpclaude mcp add cvdsafe -- npx -y cvdsafe-mcp@0.2.0
{
"mcpServers": {
"cvdsafe": {
"command": "npx",
"args": [
"-y",
"cvdsafe-mcp@0.2.0"
]
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
╔════════════════════════════════════════════════════════════════════════════════════════════╗
║ ║
║ ██████╗ ██████╗ ████████╗██╗ ██████╗ ██████╗ ██╗ ██╗██╗███████╗ ║
║ ██╔═══██╗██╔══██╗╚══██╔══╝██║██╔════╝██╔═══██╗██║ ██║██║╚══███╔╝ ║
║ ██║ ██║██████╔╝ ██║ ██║██║ ██║ ██║██║ ██║██║ ███╔╝ ║
║ ██║ ██║██╔═══╝ ██║ ██║██║ ██║▄▄ ██║██║ ██║██║ ███╔╝ ║
║ ╚██████╔╝██║ ██║ ██║╚██████╗╚██████╔╝╚██████╔╝██║███████╗ ║
║ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══▀▀═╝ ╚═════╝ ╚═╝╚══════╝ ║
║ ║
║ your eyes, tested in the browser, with nothing leaving it ║
║ ║
╚════════════════════════════════════════════════════════════════════════════════════════════╝
An open, published method for color vision — and 17 vision tests built on it. Everything runs on the device. No account, no upload, no image ever sent anywhere.
The colorimetry is not a private formula: it is Machado, Oliveira & Fernandes (2009) deficiency simulation with CIEDE2000 color difference, published open access at doi.org/10.5281/zenodo.21310578, and shipped as packages so you can run the math yourself and check our numbers against yours.
Use the engine
pip install cvdsafe # is this palette colorblind-safe?
npm install cvdsafe
import cvdsafe
cvdsafe.is_safe(["#d7191c", "#1a9641"]) # False — red and green collapse under deutan
npx cvdsafe "#d7191c" "#1a9641" # exits 2 if the palette is unsafe — CI-friendly
| what you want | package |
|---|---|
| Is this palette safe? | cvdsafe · npm + PyPI, with a CLI |
| Show me how it looks | cvdsim — recolors an image for protan/deutan/tritan |
| Give me safe colors | safepalette — Okabe–Ito, extended and verified |
| For matplotlib | cvdmaps — set_cycle() and you're safe |
| Make test plates | cvdplate · ishihara |
| Acuity math | logmar — logMAR ↔ Snellen ↔ decimal |
| One deficiency | protan · deutan · tritanopia · dichromacy · achromatopsia · trichromacy |
For LLM tools: cvdsafe-mcp and colorblind-mcp are MCP servers, listed in the official
Model Context Protocol registry — so an assistant can check a palette or generate an Ishihara
plate as a native tool.
The tests
Color vision, D-15 arrangement, hue discrimination, anomaloscope-style matching, contrast sensitivity, acuity, astigmatism, Amsler grid, blind spot, vernier alignment, flicker fusion, saturation, dominance, reaction, stereo depth, digital eye strain, and a shape-based test for kids.
A test on a web page cannot be a diagnosis: an uncalibrated display, ambient light and viewing distance all move the result. Each test says so where it reports, and points at an eye examination rather than standing in for one.
Audit it yourself. opticquiz.com/methodology answers the eight questions worth asking of any online vision test — who made it, what it measures, what it assumes about your screen, whether it has been clinically validated (it has not), what it cannot measure, and who pays for it.
Also in here
Translations (de, es, fr, hi, it, pt, zh), a browser extension (reviewed and listed by Mozilla),
a VS Code extension, a Figma plugin, an embeddable widget, and the research notes behind the
plate colors under research/.
MIT licensed. Issues and corrections welcome — if a number here disagrees with yours, that is a bug worth reporting.
╔════════════════════════════════════════════════════════════╗
║ ║
║ ███████╗ ██╗ ██╗███████╗██╗ ██╗███████╗ ║
║ ██╔════╝ ██║ ██╔╝██╔════╝╚██╗ ██╔╝██╔════╝ ║
║ █████╗ █████╗█████╔╝ █████╗ ╚████╔╝ ███████╗ ║
║ ██╔══╝ ╚════╝██╔═██╗ ██╔══╝ ╚██╔╝ ╚════██║ ║
║ ██║ ██║ ██╗███████╗ ██║ ███████║ ║
║ ╚═╝ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚══════╝ ║
║ ║
║ · C R E A T I V E · ║
║ ║
║ ──────────────────────────────────────── ║
║ ║
║ Vincent Gonzalez ║
║ f-keys.com ║
║ ORCID 0009-0005-3640-014X ║
║ ║
╚════════════════════════════════════════════════════════════╝
Part of F-Keys — independent hardware, software and internet products. See the working log and live status.
Questions fréquentes
Qu'est-ce que io.github.vince-gonzalez/cvdsafe ?
Check if a palette or image is colorblind-safe, generate safe palettes, check WCAG contrast.
Comment installer io.github.vince-gonzalez/cvdsafe ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add cvdsafe -- npx -y cvdsafe-mcp@0.2.0. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour io.github.vince-gonzalez/cvdsafe ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
io.github.vince-gonzalez/cvdsafe est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient io.github.vince-gonzalez/cvdsafe ?
Il est publié par vince-gonzalez. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.