
color-space
io.github.colorjsPublished by GitHub account colorjsv3.5.0Updated Oct 24, 2026
Conversions across 221 color spaces, tested against cited sources: CSS strings, gamut, LUTs
Overview
Local MCP server exposing verified color-space math so an assistant can convert colors across 221 spaces, check gamut, and emit CSS, shaders, LUTs or ICC…
- What you can do
- Convert colors between any of 221 interconnected color spaces, taking CSS strings or channel values
- Check gamut and inspect space metadata such as channel ranges and provenance
- Parse and format CSS colors, mix, compute deltaE and WCAG contrast, simulate color-vision deficiency
- Generate GLSL, WGSL, HLSL or MSL shader code, plus JS code with its color-science equivalent
- Produce .cube LUTs, ICC profiles and OpenColorIO colorspaces for grading and DCC tools
- When to use it
- Useful when a task needs exact, source-tested color conversions rather than guessed numbers: web and CSS color work, wide-gamut and HDR video pipelines, camera log footage, print, or generating shader and LUT assets.
- Requirements
- Runs locally over stdio via npx (Node.js required); no authentication, environment variables or headers declared. An optional HTTP mode can be started on localhost, and a Docker image can be built.
Installation
In SourceWeft
- Open color-space in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
color-space [test] [npm] [size] [VS Code]
[the Ostwald hue circle at full color, shown continuously and in ten steps]
Open collection of color spaces.
- Formulas tested against cited sources
- Conventional ranges
- JS with TypeScript types / WASM / GLSL / LUT / ICC / OCIO
Use
Individual spaces:
Imports
color-space– All 221 interconnected spaces. 70 kB gzipcolor-space/<name>.js– One standalone spacecolor-space/lite– 54-space working set. 29 kB gzipcolor-space/wasm– lite set as WASM, bare.wasmincludedcolor-space/gl– GLSL/WGSL shader sourcecolor-space/gl/hlsl·color-space/gl/msl– HLSL (DirectX, Unity, Unreal) and Metal, written by naga from the WGSL.await hlsl('rgb', 'oklch'). needs the optional peernaga-wasm(it declares Node ≥ 24.12; CI runs it on 22, where npm only warns)color-space/lut–.cubeLUTs for Resolve, Premiere, OBS, ffmpeg — verified vs ACEScolor-space/icc– Matrix + TRC or CLUT profilescolor-space/ocio– OpenColorIO colorspaces for Blender, Nuke, Resolve, Houdini:colorspace(space.sgamut3cine), curve and matrix from native transforms, 55 spaces, each checked against the library to 1e-6color-space/util–parse,formatCSS colors,mix,gamut,visible,deltaE,contrast(WCAG),cvd(color-vision simulation),deltaE('rgb', [255, 0, 0], [250, 0, 0])color-space/data.json– Channels, ranges, provenance, references, graph, gamutscolor-space/conformance.json– Cited reference conversions, each with its source, to test any color library againstnpx color-space rgb oklch 255 128 0– CLI, no install:convert(default),cube,icc,space,spaces,mcp(MCP server for agents)
Agents
MCP tools – convert, gamut, css, space, spaces, cube, shader, icc, code – so agents call verified math instead of guessing it. A color goes in as any CSS string ('#ff8000', 'oklch(0.7 0.1 50)', 'rebeccapurple') or as channel values; shader writes the conversion as GLSL, WGSL, HLSL or MSL, code gives the JS call and its verified colour-science equivalent.
Claude Desktop claude_desktop_config.json, any project .mcp.json:
Claude Code plugin (the server plus a skill): /plugin marketplace add colorjs/color-space, then /plugin install color-space@color-space. Docker: docker build -t color-space-mcp . and run it with docker run -i --rm color-space-mcp.
Over HTTP (Streamable HTTP, stateless): npx -y color-space mcp --http 8787 on localhost, or host fetch from color-space/mcp.js in a Worker, Deno or Bun. Skill for agents that load skills: plugins/claude/skills/color-space.
In the browser: color-space.io registers the same tools (but icc) through WebMCP where Chrome offers it, plus show, which opens a space's dossier or sets the page's color in front of the person.
Spaces
Motivation
A complete collection of color spaces: one minimal API, formulas tested against their sources. While alternatives focus on digital color spaces, this project takes broader perspective, covering historical and cross-disciplinary spaces as well. Side effects: errata in papers, color education, test cases for JS→WASM compilers (porffor, jz).
It is not a color toolbox — gamut mapping, palettes, alpha stay out; the few tools the atlas itself uses (parsing, mixing, ΔE, contrast, color-vision simulation) are color-space/util. Pantone, NCS, RAL Classic, and similar licensed swatch catalogs aren't open and stay out as well.
Contributing
A wrong value or a missing space: open an issue with the document that defines it. How a space is added and checked: CONTRIBUTING.md.
Credits
Thanks to the researchers, theorists, specifiers, implementors and the libraries that helped this one happen.
Source: README.md at commit d572b38
Tools
0Version history
2- v3.5.0LatestOct 20, 2026
- v3.3.0Oct 15, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts