Colour Memory API
40-tool colour intelligence API for AI agents. Cultural risk, archive-verified colour naming, palette generation, WCAG accessibility, material physics, ecommerce copy, and image generation briefs. 16,682+ named colours across 43 cultural archives.
README
Colour Memory API
Colour intelligence with receipts.
17,346 named colours across 44 cultural archives. 55 MCP tools. Every colour anchored to a primary source citation. The colour reasoning layer for AI agents, design teams, and brands.
What it does
Most colour APIs answer one question: what colours go together? Colour Memory answers every question colour has ever raised.
- Brand audit — palette roles, WCAG matrix, cultural risk, CSS tokens in one call
- Image generation loop — archive-grounded briefs + fidelity verification with dE2000
- Accessibility intelligence — every pair, every grade, design-system rules
- Developer tokens — CSS variable, Tailwind class, TypeScript const from archive names
- Cultural risk — per-colour, per-market warnings across 12 global markets
- Archive search — keyword search across 17,346 colours
- Brand system — complete colour system: roles, typography, light/dark maps, tokens, PDF
- Asset pack export — CSS, Figma tokens, Markdown brand guide, and PDF in one call
Quick start
MCP (Claude, any MCP-compatible agent)
Add this URL to your MCP client:
https://colour-memory-api-production.up.railway.app/mcp
All 55 tools load instantly. No config required. Demo key included.
REST API
# Match a hex to the archive
curl -X POST https://colour-memory-api-production.up.railway.app/query/hex \
-H "X-Api-Key: cm_demo_colourmemory_website_internal" \
-H "Content-Type: application/json" \
-d '{"hex": "D4A829"}'
# Brand audit
curl -X POST https://colour-memory-api-production.up.railway.app/brand/audit \
-H "X-Api-Key: cm_demo_colourmemory_website_internal" \
-H "Content-Type: application/json" \
-d '{"palette": ["#D4A829","#1A5C6E","#0F2D6B","#0A0A0B"]}'
# Complete brand system
curl -X POST https://colour-memory-api-production.up.railway.app/brand/system \
-H "X-Api-Key: cm_demo_colourmemory_website_internal" \
-H "Content-Type: application/json" \
-d '{"palette": ["#D4A829","#1A5C6E","#0F2D6B","#0A0A0B"], "brand_name": "Acme"}'
# Palette quality audit
curl -X POST https://colour-memory-api-production.up.railway.app/palette/quality-audit \
-H "X-Api-Key: cm_demo_colourmemory_website_internal" \
-H "Content-Type: application/json" \
-d '{"palette": ["#D4A829","#1A5C6E","#0F2D6B","#0A0A0B"]}'
# Brand asset pack (CSS + Figma tokens + PDF)
curl -X POST https://colour-memory-api-production.up.railway.app/brand/asset-pack \
-H "X-Api-Key: cm_demo_colourmemory_website_internal" \
-H "Content-Type: application/json" \
-d '{"palette": ["#D4A829","#1A5C6E","#0F2D6B","#0A0A0B"], "brand_name": "Acme", "include_pdf": true}'
Demo key: cm_demo_colourmemory_website_internal
Get a free key at colourmemory.com
The 55 MCP tools
Search and Lookup
| Tool | What it does |
|---|---|
query_hex |
CIEDE2000 nearest archive match with cultural narrative, RAL, accessibility |
query_conceptual |
Semantic search by concept, mood, or culture |
get_colour_card |
Direct lookup of any named archive colour with full provenance |
get_colour_metrics |
LRV, chroma, hue angle, three-illuminant shift |
get_harmonies |
Complementary, triadic, analogous harmonies from the archive |
archive_search |
Keyword search across all 17,346 archive colours |
Palette Tools
| Tool | What it does |
|---|---|
palette_from_concept |
Hue-diverse palette from cultural concept with archive provenance |
strict_palette_from_concept |
Like above but with archive filter and relevance controls |
palette_generate |
Lock some slots, fill the rest from the archive |
palette_translate |
Map any palette into a named archive |
palette_iterate |
Refine a palette with natural language feedback |
palette_compare |
Deep comparison of two palettes |
palette_export |
Export to CSS, Figma, Tailwind, ASE, JSON |
palette_verdict |
Score a palette 0-100 with weakness and suggested addition |
palette_light_dark |
Light and dark mode role maps |
palette_quality_audit |
Full audit: accessibility, cultural risk, diversity, naming. Grade + fix list |
palette_pdf |
Generate premium PDF specification sheet |
specify_palette |
Full interior specification from 2-8 hex values |
mix_colours |
Perceptual Lab subtractive mixing |
Brand Intelligence
| Tool | What it does |
|---|---|
brand_audit |
Palette roles, WCAG matrix, cultural risk, design tokens. No LLM cost |
brand_system |
Complete brand system: roles, typography, light/dark maps, tokens, narrative |
brand_asset_pack |
Full asset pack: CSS, Tailwind, Figma tokens, brand guide MD, PDF |
brand_report |
One-call complete brand report with copy and image brief |
colour_strategy |
Full brand colour strategy with archive anchor and market readings |
colour_verdict |
Use/caution/avoid with strengths, risks, and market analysis |
Colour Intelligence
| Tool | What it does |
|---|---|
colour_name_generator |
Archive-verified product colour names with provenance citations |
colour_name_slugs |
CSS var, Tailwind, TypeScript, kebab, camelCase, SCSS |
colour_dna |
Compact semantic fingerprint |
colour_story |
Cultural narrative across the full archive |
colour_timeline |
Historical appearances across cultures and centuries |
compare_colours |
Deep perceptual and semantic comparison |
colour_forensics |
Specification safety on any substrate |
cultural_risk_assessment |
Cultural sensitivity across global markets |
cliche_breaker |
Find the archive contradiction to a colour concept |
memory_hooks |
Hook sentence, story, tweet, image prompt |
provenance_explain |
Separates fact, computation, and interpretation |
colour_combination_check |
2-5 colours assessed for harmony and clash by context |
Accessibility and Physics
| Tool | What it does |
|---|---|
accessibility_check |
WCAG 2.1 AA/AAA contrast ratios |
accessibility_matrix |
Full palette matrix. Every pair, every grade, one call |
accessibility_usage_rules |
Matrix to design-system rules: safe pairs, large-text-only, decorative-only |
simulate_colour_blindness |
Protanopia, deuteranopia, tritanopia simulation |
match_paint_system |
Nearest Farrow & Ball and Paint & Paper Library |
colour_variants |
Lighter, darker, cultural sibling variants |
font_colour_advisor |
Best foreground for any background from a palette |
Agent and Image
| Tool | What it does |
|---|---|
agent_brief |
Archive-grounded image generation prompt for Midjourney, DALL-E, Flux |
verify_agent_palette |
Image fidelity scoring with dE2000 per colour |
analyse_image_palette |
Extract dominant palette from image, matched to archive |
personal_colour_analysis |
Seasonal colour analysis from portrait photo |
Compound Tools
| Tool | What it does |
|---|---|
design_session |
One call: concept to complete palette, narrative, paint matches, accessibility |
interior_specification |
Complete room spec with surface assignments and illuminant behaviour |
Archive and Discovery
| Tool | What it does |
|---|---|
archive_status |
Live status: total colours, per-archive breakdown |
archive_audit |
Data quality report with health score |
capabilities |
Live endpoint inventory |
style_match |
Outfit colour matching with archive grounding |
ecommerce_product_copy |
Complete ecommerce copy with archive provenance |
The 44 archives
Colour Memory, RAL Classic, BS4800, Farrow & Ball, Paint & Paper Library, NCS, Munsell, Werner-Syme, Oxfordshire, British, Sweden, Finland, Denmark, Norway, Germany, France, Italy, Spain, Islamic, Ottoman, Byzantine, China, Japan, Morocco, India, West Africa, Russia, Architecture, Shakespeare, Austen, Keats, Pigment Historical, Pigment Heritage, Roman Britain, Norman Medieval, Racing Silks, and more.
Adding a new archive
# Rename CSV to lowercase, copy to data/, add to list in main.py
cd ~/Desktop/colour-memory-api
cp ~/Downloads/myarchive.csv data/
# Add "myarchive" to the archives list in main.py
git add data/myarchive.csv main.py
git commit -m "Add myarchive"
git push
# Railway autodeploys in ~90 seconds
Pricing
| Tier | Price | Calls/month |
|---|---|---|
| Trial | Free | 50 |
| Studio | £12/mo | 2,000 |
| Pro | £39/mo | 10,000 |
| Enterprise | £149/mo | 50,000 |
| Bespoke | £999/mo | Unlimited |
Get your key at colourmemory.com
Architecture
- Runtime: FastAPI on Railway
- Archive matching: CIEDE2000 nearest-neighbour with FAISS index
- Colour science: CIE Lab, LRV, chroma, three-illuminant simulation
- Embeddings: Sentence-transformer semantic index for conceptual search
- Auth: API key via header
X-Api-Key - MCP: Standard MCP endpoint at
/mcp
Brand
Colour Memory is designed by Colour Memory. Every brand colour was selected through the API, queried against the archive, scored for cultural depth and commercial strength, and exported as CSS tokens.
- Song Gold Sycee
#D4A829— China archive, Song dynasty - Northanger Abbey Pool
#1A5C6E— Austen archive - Saimaa Juhannus
#0F2D6B— Finland archive - Velvet Black
#0A0A0B— Werner-Syme 1814 - Archive Parchment
#F4EFE5— Architecture archive
Legal
UK Trademark 00004387450 · Classes 9, 35 & 42 · © 2026 PR Eye Ltd, Oxfordshire
Archive Lab values are derived from hex codes, not spectrophotometry. Provenance is always cited. Anti-hallucination is the core brand proposition.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.