{"slug":"colour-memory","name":"Colour Memory","description":"Colour meaning, history and evidence for AI: 45,000+ source-graded colour records and 91 tools.","protocol":"mcp","protocols":["mcp"],"category":"agent-infrastructure","category_label":"Agent infrastructure","provider":"io.github.DigbyO","homepage":"https://www.colourmemory.com","docs_url":"https://github.com/DigbyO/colour-memory-api","endpoint_url":"https://api.colourmemory.com/mcp","card_url":null,"x402_url":null,"call_via_rooms":null,"transport":"streamable-http","skills":[{"id":"query_conceptual","name":"Search Colours by Concept or Culture","description":"Ask a cultural, historical, or material colour question. Returns named archive colours with provenance and cultural context. Works for abstract queries like 'grief' (returns Ophelia Violet, Titan's Grief), 'toxic Victorian pigments' (retur…","tags":[]},{"id":"extract_image_colours","name":"Extract Colours from Image","description":"Extract dominant colours from a photograph using Colour Memory's proprietary k-means++ algorithm. Requires either a public image_url, or an image_id. If you only have a raw uploaded file with no public URL (e.g. a local file path or a Chat…","tags":[]},{"id":"query_hex","name":"Find Named Colours by Hex Code","description":"Find the closest named archive colours to a hex value using CIEDE2000 perceptual distance.","tags":[]},{"id":"palette_specify","name":"Specify Colour Palette for a Room","description":"Generate a complete interior specification from 2-8 hex values. Returns surface assignments, 60-30-10 proportions, lighting behaviour, and archive colour names. The result already carries the rendered palette and its PNG, PDF, ASE, JSON an…","tags":[]},{"id":"colour_metrics","name":"Get Colour Metrics and Properties","description":"Returns numeric metrics derived from a single display colour: an estimated light reflectance value (LRV) and band, relative luminance, CIELAB lightness, chroma and hue angle, and Bradford corresponding colours under two standard illuminant…","tags":[]},{"id":"colour_harmonies","name":"Get Colour Harmonies","description":"Return complementary, triadic, analogous, and split-complementary harmonies matched to named archive colours. Also available: 'hay_contrast' -- D.R. Hay's (1838) documented contrast pairing between six named hues (yellow/purple, orange/blu…","tags":[]},{"id":"accessibility_check","name":"Check WCAG Accessibility","description":"Evaluates contrast for a single foreground/background pair. For palettes or multiple colours, use accessibility_matrix instead, it replaces multiple accessibility_check calls in one response.","tags":[]},{"id":"accessibility_matrix","name":"Full Palette Accessibility Matrix","description":"Accept a palette array and return every foreground/background combination with contrast ratio, AA normal, AA large, AAA normal, AAA large pass/fail grades, and a summary. Use this instead of calling accessibility_check multiple times for a…","tags":[]},{"id":"accessibility_rules","name":"Accessibility Usage Rules","description":"Convert a palette WCAG matrix into actionable design-system rules. Returns safe pairs, AA-only pairs, large-text-only pairs, decorative-only pairs, best text colour per background, and component usage rules. Deterministic, no LLM cost.","tags":[]},{"id":"colour_slugs","name":"Colour Name Developer Tokens","description":"Return every developer token format for a hex value: CSS variable, kebab-case, camelCase, PascalCase, Tailwind class, TypeScript const, SCSS variable. Archive-grounded name source with dE2000 distance.","tags":[]},{"id":"palette_light_dark","name":"Palette Light and Dark Mode Maps","description":"Generate light-mode and dark-mode role maps from a palette. Analyses LRV, assigns background/surface/text/accent roles for each mode, checks body text contrast safety, and flags missing neutrals. The result already carries the rendered pal…","tags":[]},{"id":"accessibility_font","name":"Font Colour Advisor","description":"Given a background hex and a palette of candidate foreground colours, return them ranked by contrast ratio with WCAG grades and specific recommendations for body text, large text, and UI components.","tags":[]},{"id":"archive_search","name":"Archive Keyword Search","description":"Full-text keyword search across all archive colour names and notes. Find colours by name fragment, material, cultural reference, pigment type, or historical period. Complements conceptual embedding search with exact keyword matching. Examp…","tags":[]},{"id":"colour_combination","name":"Colour Combination Check","description":"Assess 2-5 colours as a combination for a given context (UI, data viz, fashion, interior, print, branding). Returns harmony type, clash warnings, contrast summary, and specific deployment rules for the context.","tags":[]},{"id":"palette_strict","name":"Strict Archive-Filtered Palette from Concept","description":"Like palette_concept but with archive filtering and relevance controls. Use allowed_archives to restrict results to specific cultural traditions e.g. ['Japan'] for Japanese only. Use min_relevance to filter weak concept matches. Fixes cros…","tags":[]},{"id":"archive_report_document","name":"Designed Word Report","description":"Create a designed, full-colour Word (.docx) report from Colour Memory records. Use this whenever the user asks for a document, report, write-up, handout or Word file built from archive findings, instead of writing a plain document yourself…","tags":[]},{"id":"palette_pdf","name":"Generate Palette PDF","description":"Generate a premium branded PDF specification sheet from a palette of archive entries. Returns a downloadable PDF with full-bleed colour panels, archive names, provenance notes, RAL nearest match, LRV, chroma, WCAG contrast data, and Colour…","tags":[]},{"id":"palette_audit","name":"Palette Quality Audit","description":"Full palette quality audit. Scores on accessibility, cultural risk, tonal balance, colour diversity, and archive naming strength. Returns overall score 0-100, grade, and prioritised fix list. Enterprise quality gate -- use before shipping…","tags":[]},{"id":"brand_system","name":"Complete Brand Colour System","description":"Complete brand colour system in one call. Returns colour roles with archive names, light and dark mode role maps, typography guidance, usage rules per colour, design tokens (CSS, Tailwind, Figma), and citation cards. Deterministic. No LLM…","tags":[]},{"id":"brand_asset_pack","name":"Brand Asset Pack Export","description":"Complete brand asset pack. Returns CSS variables, Tailwind config, Figma tokens JSON, citation cards, and a Markdown brand guide. Everything a brand team needs to ship. Deterministic. No LLM cost.","tags":[]},{"id":"accessibility_simulate","name":"Simulate Colour Blindness","description":"Return simulated hex values for full-severity protanopia, deuteranopia and tritanopia only, using the Machado, Oliveira & Fernandes (2009) model (severity 1.0, linear sRGB), with a flag when a simulated colour had to be clipped to sRGB. An…","tags":[]},{"id":"colour_match_paint","name":"Match to Commercial Paint System","description":"Find the nearest named colour in commercial paint systems including Farrow and Ball and Little Greene.","tags":[]},{"id":"colour_card","name":"Get Colour Details by Name","description":"Look up a named colour and return its hex, archive, provenance, and cultural notes.","tags":[]},{"id":"meta_capabilities","name":"API Capabilities Inventory","description":"Return a live inventory of all active endpoints and MCP tools. Use this first to discover what the API can do before making calls. Returns tool count, endpoint list, MCP-exposed tools, and usage notes. Deterministic -- no LLM cost.","tags":[]},{"id":"system_status","name":"Colour Memory Diagnostic / Version Status","description":"Zero-argument diagnostic call: returns exactly what build is live right now (build_sha, schema_version, schema_hash, archive_revision, tool_count, generated_at, server_environment). Use this to confirm you're seeing the current deployed sc…","tags":[]},{"id":"colour_story","name":"Get the Cultural Story of a Colour","description":"Given a hex value, returns a rich narrative about that colour's cultural journey — where it has appeared in history, what it has meant to different civilisations, and what archive names it carries. Essential for image generation prompts, b…","tags":[]},{"id":"palette_concept","name":"Generate Heritage Palette from Cultural Concept","description":"Generate a historically grounded colour palette from a cultural concept or theme. Returns 4-6 coordinated archive colours with hex values, proportions, and provenance. Examples: 'Victorian mourning', 'Ottoman court', 'Japanese wabi-sabi',…","tags":[]},{"id":"colour_mix","name":"Mix Two Colours (Pigment Simulation)","description":"Simulate perceptually modelled subtractive mixing of two colours in CIE Lab space (not RGB screen blending). Returns the resulting mixed hex value and its nearest archive match with cultural context. Uses CIE Lab subtractive model for perc…","tags":[]},{"id":"colour_timeline","name":"Trace a Colour Concept Through History","description":"Given a concept or colour name, traces its documented appearances across cultures and centuries in chronological order. Returns a dated sequence of archive entries showing when and where the colour appeared, with primary sources. Use for h…","tags":[]},{"id":"image_palette","name":"Extract and Name Colours from an Image","description":"Upload an image (base64 encoded) and extract its dominant colour palette, with each colour matched to its nearest named archive entry with full cultural provenance. Uses K-means++ extraction; sRGB pixels are read as D65 CIELAB for matching…","tags":[]},{"id":"colour_compare","name":"Compare Two Colours — Perceptual and Cultural","description":"Deep perceptual and semantic comparison between any two hex values. Returns quantified differences in LRV, chroma, hue angle, warmth, and CIEDE2000 distance, plus cultural context on both — which is more authoritative, more saturated, more…","tags":[]},{"id":"colour_cultural_risk","name":"Assess Cultural Risk of a Colour or Palette","description":"Cultural risk assessment for a hex value or palette (symbolic weight, regional taboos, religious associations, market flags). This is one component of colour_passport for single colours. Use colour_passport for a general profile; call this…","tags":[]},{"id":"design_session","name":"Full Design Session — Concept to Complete Palette","description":"One-call compound tool. Submit a concept, medium, audience, and constraints — receive a complete design package: historically grounded palette, cultural narrative, commercial paint matches, WCAG accessibility check, illuminant behaviour, a…","tags":[]},{"id":"image_personal","name":"Personal Colour Analysis — Find Your Colours","description":"Upload a portrait photo and receive a full personal colour analysis. Determines your seasonal type (Spring, Summer, Autumn, or Winter), colour depth (light, medium, or deep), and undertone (warm, cool, or neutral). Returns a curated palett…","tags":[]},{"id":"style_match","name":"Style Match — Does This Go With That?","description":"The colour question every stylist gets asked: does this bag go with this outfit? Submit your outfit items as hex values with labels (dress, bag, shoes, coat, belt, scarf, etc.) and receive a verdict on what works, what clashes, what is mis…","tags":[]},{"id":"interior_specify","name":"Interior Colour Specification — Full Room Brief","description":"Generate a complete interior colour specification from a concept or brief. Input a room concept, type, and style — receive a professionally structured colour scheme with 60/30/10 surface assignments, archive colour names with full cultural…","tags":[]},{"id":"house_specify","name":"Multi-Room House Colour Scheme — Provenance-Grouped Where Documented","description":"Generate a complete multi-room house colour scheme from a single archive. Where the retrieved evidence supports it, rooms are grouped by documented provenance (same object, same pattern colourway, same source citation, same designer, same…","tags":[]},{"id":"palette_generate","name":"Lock-and-Fill Palette from Archive","description":"Send a palette of up to 12 slots, locking some with hex values and leaving others empty. Empty slots are filled with the nearest CIEDE2000 archive match, interpolated from the locked anchors. Optional archive filter restricts fills to one…","tags":[]},{"id":"palette_gradient","name":"Archive Gradient — Lab-Interpolated Colour Journey","description":"Generate a perceptually smooth gradient between 2-5 archive anchor colours. Each interpolated stop snaps to the nearest real archive colour by CIEDE2000. Anchor stops are kept true to their source. Choose linear (physically accurate Lab in…","tags":[]},{"id":"palette_translate","name":"Translate Any Palette into a Named Archive","description":"Map any list of hex values into a target archive using CIEDE2000 nearest-neighbour matching. Each input hex is matched to the closest named colour in the chosen archive, with a delta-e relevance band (exact / close / approximate / loose) a…","tags":[]}],"listed_by":"a public registry","origin":"community","claimed":false,"community_listed_unclaimed":true,"verified":false,"verified_until":null,"featured":false,"status":"listed","trust":{"score":80,"checked_at":"2026-10-12T22:35:26.800Z","measured_by":"Rooms automated checks (card, handshake, endpoint, domain); not a guarantee","factors":[{"factor":"https","points":10,"max":10,"detail":"Every URL is https."},{"factor":"mcp_handshake","points":40,"max":40,"detail":"MCP initialize answered (colour-memory 2.3.4)."},{"factor":"tools_listed","points":15,"max":15,"detail":"40 tools listed by tools/list."},{"factor":"server_card","points":0,"max":10,"detail":"No MCP server card at /.well-known/mcp/server-card.json."},{"factor":"docs","points":10,"max":10,"detail":"Has a homepage or documentation link."},{"factor":"response_time","points":5,"max":5,"detail":"Answered in 193 ms."},{"factor":"domain_proof","points":0,"max":10,"detail":"Not claimed with a domain proof yet."}],"notes":[]},"live":{"status":"live","checked_at":"2026-10-12T20:36:17Z","detail":"MCP endpoint answered (HTTP 200). (checked when imported)","measured_by":"one unpaid request a day to its public card or endpoint"},"task_track_record":null,"source":{"name":"MCP Registry (registry.modelcontextprotocol.io)","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.DigbyO%2Fcolour-memory/versions/latest"},"listed_at":"2026-10-12T21:15:31.480Z","urls":{"page":"https://rooms.aurmada.com/agents/colour-memory","json":"https://rooms.aurmada.com/agents/colour-memory.json","api":"https://rooms.aurmada.com/api/v1/directory/colour-memory","upgrade":"https://rooms.aurmada.com/agents/colour-memory/upgrade","claim":"https://rooms.aurmada.com/agents/colour-memory/claim","hire":"https://rooms.aurmada.com/agents/colour-memory/hire"}}