MCP App Store
by KeenEthics
Creative
Colour Memory icon

Colour Memory

by Colour Memory

Overview

Colour Memory is a read-only color evidence service built from 45,000+ historical, cultural and material colour records across 86 collections. It helps Claude answer colour questions using structured archive evidence rather than unsupported inference. Results identify the archive record behind a colour and, where available, its source. They also distinguish documented evidence from approximation or interpretation, expose claim strength, and state important limits on what the evidence supports. Historical hex values are often editorial reconstructions from written or visual evidence rather than physical measurements, and Colour Memory makes that distinction explicit. Colour Memory can: Find the closest relevant archive records for a supplied colour; Search historical and cultural colour evidence by term or concept; Produce dated colour timelines and evidence summaries; Calculate colour metrics and WCAG 2.1 contrast; Build, translate and audit palettes using archive evidence; Support brand, interior and historic-room colour decisions; Surface sourced cultural and legal considerations for named markets; Compare a supplied colour with commercial paint ranges using CIEDE2000. Where the available evidence is insufficient, tools can abstain rather than manufacture a result. All 21 Directory tools are read-only. No account, API key or sign-in is required.

Tools

accessibility_check

Claude
Checks the contrast ratio of one foreground colour against one background. Input: hex_val for the foreground, background for the background (defaults to FFFFFF). Returns the contrast ratio, pass/fail for WCAG 2.1 AA and AAA at normal and large text sizes, the ratios against white and black, a recommended text colour, and the methodology used. Useful for confirming one specific text-on-background pair.

archive_evidence_gap

Claude
Tests a specific claim about a colour against the archive and reports whether the evidence supports it. Input: hex and proposed_claim, the statement to be checked, optionally an archive to search and n_candidates. Returns whether the claim is supported, partially supported or unsupported, the records that bear on it, anything in the archive that contradicts it, and what evidence would be needed to make it sayable. Useful before putting a historical or cultural claim about a colour into writing.

brand_audit

Claude
Audits an existing palette and reports what is wrong with it. Input: palette, a list of hex values, optionally market, use_case, medium and brand_category. Returns colour roles with archive names, the full WCAG contrast matrix, and a verdict on the palette as a whole. Computed synchronously with no model call. Useful for checking a palette already in use rather than creating one.

brand_system

Claude
Turns a set of colours into a structured brand system. Input: palette, a list of hex values, optionally market, use_case, medium and brand_category. Returns each colour with an assigned role, the nearest archive record and its source, LRV, text-colour and contrast usage rules, typography guidance, and CSS custom-property tokens. Useful for turning chosen colours into a usable system with documented grounding.

colour_cultural_risk

Claude
Checks a colour, palette or design against Colour Memory's sourced legal and cultural claims for named markets. Input: hex or palette, markets, context (general, mourning, wedding, religious, civic_national, commercial_branding, packaging, ui_digital), optionally colour_terms naming a colour, and symbols declaring any protected design the work contains (national or regional flag or emblem, military symbol, red cross or red crescent, religious symbol and similar), each with its basis and whose symbol it is. Legal restrictions attach to declared symbols and designs, never to a colour alone; a colour matches only a colour the source itself specifies, or a colour term that is supplied. Returns each applicable claim with the law or institutional source, article, quotation, effective date, how the colour or design was linked, and what must not be claimed; claims whose current applicability is unverified are marked for verification. Every market reports how many claims were checked; where none applies it says no supported association was found, which is not a statement that the colour is safe. Unsupported markets are refused, never substituted. Useful before a design with national, religious or protected symbols goes to a specific market.

colour_harmonies

Claude
Returns harmony sets computed from one colour. Input: hex, optionally harmony_types to select among complementary, analogous, triadic and related schemes. Returns each requested harmony with its member colours and the geometry used to derive them. Computed from the supplied colour; the input and each member are then paired with their nearest archive record and CIEDE2000 distance for naming, which does not change the geometry. Useful when a scheme is being built outward from a colour already chosen.

colour_match_paint

Claude
Finds the closest commercially available paint colours to a hex value. Input: hex_val, optionally brand to restrict to one manufacturer and n to set how many matches come back. Returns the nearest paint colours with their manufacturer names and perceptual distance. Useful when a screen colour has to be bought as paint.

colour_metrics

Claude
Returns numeric metrics derived from one display colour, with no archive lookup. Input: hex_val -- this tool takes hex_val, not hex. Returns an estimated light reflectance value and band, relative luminance, CIELAB lightness, chroma and hue angle, and Bradford corresponding colours under two standard illuminants. It also lists what a hex cannot support, such as thermal performance or a measured LRV. Useful when only the numbers are wanted; colour_passport returns related figures inside a fuller record.

colour_mix

Claude
Interpolates between two colours in CIELAB space. Input: hex_a and hex_b as six-digit hex values, and an optional ratio from 0 to 1 (0 returns hex_a, 1 returns hex_b, 0.5 the midpoint). Returns the interpolated colour as hex and as L, a, b*, paired with its nearest archive record and CIEDE2000 distance for naming. This is a deterministic straight-line interpolation of the two coordinates. It is not a simulation of mixing paint, pigment, dye or light, nor of alpha blending, and does not predict how a physical or on-screen mixture would look: blue and yellow, for example, interpolate to a pink rather than a green. Useful for finding a perceptually intermediate colour between two chosen colours.

colour_passport

Claude
Returns a single combined record for one hex colour, or for up to 3 at once. Input: hex for one colour or hexes for a batch of up to 3, optionally n_archive to set how many archive matches come back (1-10 for one colour, at most 3 per colour in a batch), and include_physics / include_cultural to drop sections that are not needed. Returns colour science (CIELAB, LCh, hue angle, chroma, depth, temperature, LRV), the nearest named archive records with their CIEDE2000 distance, an evidence grade and claim strength for those matches, a do_not_say list of claims the evidence does not support, hex provenance, and illuminant and gamut behaviour. Useful when an answer about a specific colour needs sourced identity and provenance rather than arithmetic.

colour_story

Claude
Returns the documented history behind one colour. Input: hex, optionally n_archives to set how many archive sources are drawn from. Returns the archive records connected to that colour with their named sources and what each record documents. Useful when an answer needs the history of a colour rather than its measurements.

colour_timeline

Claude
Traces a colour or colour concept through the archive in date order. Input: concept, a colour name or idea such as indigo or imperial purple, optionally n to set how many entries come back. Returns the dated appearances in sequence, each with its year, archive record, named source and the record's note, plus a count of matching records with no extractable date. Useful for showing how a colour's use or meaning changed over time, with each step attributable.

house_specify

Claude
Specifies colour schemes for up to three rooms of a historic house, room by room, from Colour Memory's archive of documented period rooms. Input: concept, the period, place and kind of house (e.g. 'Georgian country house, circa 1770'), and rooms, one to three entries each with a label naming the historic room and a room type, optionally colours_per_room (3 to 8, default 3). Each room is filled only with colours documented or prescribed for that room in that period and place, or for an approved historically equivalent room; a room with no defensible evidence is returned empty and named, never filled with unrelated colours, and a colour whose source does not state the building type is ranked last and labelled so. Returns, for each room, the source's own colour wording, the documented surface where the source names one, the evidence role, grade and page citation, and what the evidence does not support. Colours are shared across rooms only where the same documented scheme was admitted for more than one room. Useful for a period house where every colour must be defensible.

interior_specify

Claude
Specifies a colour scheme for one historic room from Colour Memory's archive of documented period rooms. Input: concept, naming the room with its period and place (e.g. 'Victorian drawing room in England, circa 1845'; a named house such as Osterley Park is matched as that house), optionally room_type when the concept names no room, n_colours (3 to 7, default 3), orientation, and avoid to exclude named colours. Selection follows the concept's period, date, place, house and room. Only colours documented or prescribed for that room in that period and place are returned; a room with no defensible evidence is returned empty rather than filled with unrelated colours, and a colour whose source does not state the building type is ranked last and labelled so. Returns each colour with the source's own wording, the documented surface where the source names one, the evidence role, grade and page citation, and what the evidence does not support. Useful when every colour in a period room must be defensible.

palette_concept

Claude
Builds a palette from an idea, drawn from archive records rather than generated. Input: concept, a cultural theme or historical period, optionally n_colours (maximum 8), include_neutrals, and avoid to exclude named colours, pigments or topics. Returns the selected colours with the archive record behind each one, its named source and evidence grade. Useful for starting a palette from a theme with traceable sources rather than invented values.

palette_generate

Claude
Completes a partly decided palette. Input: slots, a list of palette positions where each may already carry a hex or be left for the archive to fill, optionally size for the finished palette and an archive name to restrict the fills. Returns the completed palette with the archive record, source and evidence grade behind each filled slot. Useful when some colours are fixed and the rest need to come from documented sources.

palette_heritage

Claude
Grounds an existing palette in the archive. Input: palette (a list of hex values, maximum 8), optionally brand_name, context, market and n_additions. For each supplied colour it returns the nearest archive anchor, that anchor's name and a provenance confidence score; it then identifies gaps in the palette and proposes additions drawn from archive records, each with a named historical origin. Returns the combined palette with roles, confidence scores and CSS custom-property tokens. Useful for extending a legacy palette with colours that have documented sources.

palette_translate

Claude
Restates an existing palette in the colours of one named archive. Input: palette, a list of 1 to 12 hex values, and target_archive, the archive to translate into, optionally max_delta_e to set how far a substitution may stray before it is flagged. Returns each original colour paired with its nearest record in that archive, the perceptual distance between them, and a flag where no close equivalent exists. Useful for asking what an existing palette would have been in a particular place or period.

query_conceptual

Claude
Searches the archive by idea rather than by colour or keyword. Input: query, a concept, mood, cultural association or period such as 'grief in nineteenth-century Britain' or 'colours that signalled status in Tudor England', optionally n_results and an archive name to restrict the search. Returns the matching archive records with their hex values, source archive, primary source, evidence grade, claim strength and the claims their evidence does not support, plus how the match was reached. Returns retrieval and evidence only, with no generated prose. Useful when the question is about meaning or association rather than about a colour already in hand.

query_hex

Claude
Finds the named archive colours closest to a hex value by CIEDE2000 perceptual distance. Input: hex, optionally n_results and an archive name to restrict the search. Returns the nearest records with their names, source archive and distance. Useful for naming a colour already in hand, or for checking whether it has a documented historical equivalent.

App Stats

21

Tools

Claude

Platforms

Works with

Claude

Data refreshed daily