Skip to main content
Glama

Server Details

Cultural color intelligence. Every colour anchored to a person, a year, and a consequence.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 66 of 66 tools scored. Lowest: 3.3/5.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose, as evidenced by detailed descriptions that differentiate even closely related tools (e.g., accessibility_check vs. accessibility_matrix). The use of category prefixes (accessibility_, archive_, colour_, palette_, etc.) helps agents quickly identify the domain of each tool, reducing ambiguity.

Naming Consistency5/5

Tool names follow a consistent pattern: a category prefix (e.g., accessibility_, archive_, brand_, colour_, palette_) followed by a descriptive verb or noun. This makes the API predictable and easy to navigate. All tools adhere to snake_case, with no mixing of conventions.

Tool Count2/5

At 66 tools, the count is far above the typical range of 3-15 for a well-scoped server. Even considering the broad domain of color intelligence, many tools are overly specialized (e.g., multiple palette generation variants) and could be consolidated. The high number adds unnecessary complexity for LLM agents.

Completeness5/5

The tool set covers the full lifecycle of color intelligence: querying, generating, analyzing, comparing, exporting, and applying colors across domains (branding, ecommerce, interior design, accessibility, cultural context). There are no obvious gaps; every plausible color-related task has a dedicated tool.

Available Tools

71 tools
accessibility_checkCheck WCAG AccessibilityA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
hex_valYesForeground hex value
backgroundNoBackground hex (default 'FFFFFF')FFFFFF

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and description adds that it evaluates contrast for a single pair. No contradictions, but does not elaborate on return format or edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. The key action is first, followed by usage guidance. Perfectly concise and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with full schema coverage and output schema present, the description covers the purpose and usage context completely, including sibling differentiation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and description does not add extra meaning beyond implying the two parameters correspond to foreground/background. Meets baseline expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Evaluates contrast for a single foreground/background pair' with specific verb and resource, and distinguishes from sibling tool accessibility_matrix.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to avoid this tool and use accessibility_matrix instead for palettes, providing clear guidance on alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

accessibility_fontFont Colour AdvisorA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paletteYesCandidate foreground hex values
backgroundYesBackground hex value

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, which is consistent. The description adds context about the output format (ranked contrast ratios, WCAG grades, recommendations) but does not disclose any behavioral traits beyond what annotations provide. It does not mention potential limitations or edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the core purpose. Every word adds value, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (indicated true) and high schema coverage, the description adequately explains the return value (ranked contrast ratios, WCAG grades, recommendations). It provides sufficient context for an AI agent to understand the tool's function without needing further detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (both parameters have descriptions). The description adds meaning beyond the schema by explaining that the return is ranked by contrast ratio with WCAG grades and recommendations, which is not obvious from parameter names alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'return them ranked by contrast ratio with WCAG grades and specific recommendations', specifying the inputs (background hex, palette) and outputs (ranked list with WCAG grades, recommendations for body text, large text, UI components). This distinguishes it from sibling tools like accessibility_check or colour_compare.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: given a background and candidate foregrounds, it returns ranked contrasts with recommendations. However, it does not explicitly state when to use this tool over siblings like colour_compare (which compares two colors) or accessibility_check (which checks a whole palette). No exclusions or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

accessibility_matrixFull Palette Accessibility MatrixA
Read-only
Inspect

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 palette.

ParametersJSON Schema
NameRequiredDescriptionDefault
paletteYesArray of hex values e.g. ['#D4A829', '#1A5C6E', '#0F2D6B', '#0A0A0B']

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, and the description adds details about the output (contrast ratios, grades, summary) without contradicting annotations. The description discloses behavioral traits beyond annotations, such as processing all combinations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, concise and front-loaded. First sentence states functionality, second adds usage guidance. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the single parameter with full schema coverage, readOnlyHint annotation, and presence of output schema (not shown but indicated), the description is sufficient for an agent to understand when and how to use the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema fully describes the 'palette' parameter. The description adds minimal extra meaning beyond mentioning 'palette array'. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'accept' and 'return', specifies the resource (palette array), and details the output (contrast ratio, pass/fail grades, summary). It also distinguishes from sibling 'accessibility_check' by recommending this for multiple checks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises to use this tool instead of calling accessibility_check multiple times for a palette, giving clear when-to-use guidance. No explicit when-not-to, but implied by sibling for single checks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

accessibility_rulesAccessibility Usage RulesA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paletteYesArray of hex values

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and the description adds valuable behavioral context: 'Deterministic, no LLM cost.' This goes beyond annotations by explaining the tool's reliability and cost profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero wasted words. The main action is front-loaded, and every sentence adds unique information (what it does, what it returns, its determinism).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple input, presence of an output schema, and the description listing the types of returned rules, the tool is well-defined. It lacks only a brief note on expected output format, which the output schema likely covers.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% description coverage for the single parameter (array of hex values). The description adds no additional meaning beyond what the schema already provides, meeting the baseline for full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Convert' and resource 'palette WCAG matrix', listing concrete outputs (safe pairs, AA-only pairs, etc.) that distinguish this tool from siblings like accessibility_check or accessibility_matrix.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for generating design-system rules from a palette but does not explicitly state when to use this tool versus alternatives, nor does it provide exclusion criteria or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

accessibility_simulateSimulate Colour BlindnessA
Read-only
Inspect

Return simulated hex values for protanopia, deuteranopia, and tritanopia using the Brettel-Vienot-Mollon model.

ParametersJSON Schema
NameRequiredDescriptionDefault
hex_valYesHex value e.g. '#BE0032'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. The description adds the specific Brettel-Vienot-Mollon model, providing additional context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, concise sentence that effectively communicates the tool's purpose without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, the description is complete. The output schema exists to describe return values, so no further detail is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter hex_val is described in the schema. The description does not add extra semantic meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns simulated hex values for three types of color blindness using a specific model. It distinguishes from siblings like accessibility_check and accessibility_font.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for color blindness simulation but provides no explicit guidance on when to use this tool versus alternatives like accessibility_check.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

agent_briefGenerate Colour Direction for Another AIA
Read-only
Inspect

Generate a complete colour direction package for another AI agent or image generation model. Fetches a historically grounded archive palette from the concept, then produces: an agent brief (colour direction in prose), colour tokens with hex values and roles, a model-specific image generation prompt, a negative prompt, and lighting notes. Supports midjourney, flux, dalle, stable_diffusion. Example: task='luxury hotel bedroom', concept='Ottoman winter luxury', model='midjourney'. Use this to make Colour Memory the colour layer for other AI systems.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesWhat the other AI needs to generate e.g. 'luxury hotel bedroom image'
modelNoTarget model: midjourney, flux, dalle, stable_diffusionmidjourney
archiveNoOptional: restrict palette query to this archive e.g. georgianpleasures, japan, china
conceptYesColour concept to draw from e.g. 'Ottoman winter luxury', 'Victorian mourning'
style_notesNoOptional: additional style direction e.g. 'matte surfaces only', 'no gold'
palette_sizeNoNumber of archive colours to include (default 5, max 8)
locked_paletteNoOptional: list of hex values to use exclusively. When provided, no archive query is run — these exact colours are used. Prevents palette drift.
allowed_archivesNoOptional: list of allowed archive names. Query restricted to these archives only.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond the readOnlyHint annotation: it fetches an archive palette, generates outputs, and supports specific models. There is no contradiction with annotations, and it clarifies that locked_palette bypasses queries. It does not mention destructive actions, consistent with readOnlyHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (under 100 words) and front-loaded with the primary purpose. It efficiently lists output types, supported models, and an example, with no redundant or vague sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's 8 parameters and existing output schema, the description covers core functionality: fetching a palette, generating a direction package, and handling special cases like locked_palette. It omits detailed output structure (handled by output schema) and individual parameter defaults, but remains sufficient for an AI to understand when and how to invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, but the description adds meaningful clarity for parameters like locked_palette ('when provided, no archive query is run — these exact colours are used. Prevents palette drift') and style_notes. It also explains the overall flow of fetching and generating, which complements the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a complete colour direction package for another AI agent or image generation model.' It specifies the output components (agent brief, colour tokens, prompts, lighting notes) and supported models, distinguishing it from siblings focused on analysis or extraction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides usage context: 'Use this to make Colour Memory the colour layer for other AI systems' and includes an example. It implicitly guides when to use this tool versus alternatives (e.g., palette_generate for simpler palettes), though not explicitly stating when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

agent_verifyVerify AI Image Generation Colour FidelityA
Read-only
Inspect

Verify that an AI-generated image actually used the colours specified in an agent_brief call. Supply the generated image (URL or base64) and the target palette from agent_brief colour_tokens. Returns a fidelity score 0-100, dE2000 distance per colour, match quality per colour (accurate/acceptable/drifted/ignored), and an overall verdict. Use after agent_brief + image generation to close the colour loop.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlNoURL of the generated image
image_base64NoBase64 encoded generated image
target_paletteYesHex values from agent_brief colour_tokens e.g. ['#ED9921', '#E29937']

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true, and the description adds further behavioural details: returns fidelity score, dE2000 distance, match quality per colour, and overall verdict. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words, front-loaded with purpose. Efficiently conveys all necessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description covers all input requirements, workflow context, and return values. The tool is fully specified for its verification role.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage. The description adds meaning by explaining that target_palette comes from agent_brief colour_tokens and that image can be supplied as URL or base64, supplementing the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool verifies colour fidelity of AI-generated images against a target palette from agent_brief. It uses specific verbs ('Verify') and distinguishes from sibling colour tools by focusing on post-generation verification with quantitative metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use after agent_brief + image generation to close the colour loop, providing clear context. However, it does not mention when not to use or suggest alternatives among the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

archive_clicheBreak a Colour ClicheA
Read-only
Inspect

Find the most surprising archive colour for a concept and generate a memorable one-liner subverting the obvious expectation. Supply a concept (e.g. 'love', 'grief', 'luxury', 'power') and optionally the expected colour (e.g. 'red' for love). The archive finds the contradiction and Claude writes the one-liner, short story, and tweet. Example: love + red returns Shakespeare's dark green with 'Love is not red. It is the green of someone still waiting in a field.' Use this for public-facing demos, content, and brand storytelling.

ParametersJSON Schema
NameRequiredDescriptionDefault
conceptYesColour concept to subvert e.g. 'love', 'grief', 'luxury', 'betrayal', 'power'
n_resultsNoNumber of archive entries to search (default 8)
expected_colourNoOptional: the cliche colour to contradict e.g. 'red', '#FF0000'. Hex or colour name.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint: true, so the tool is safe. The description adds that the tool generates content (one-liner, short story, tweet) based on archive results, which is transparent about its behavior. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: two sentences plus an example, no wasted words. It front-loads the core purpose. Slight improvement could be separating the example more clearly, but overall it is efficiently structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 parameters, output schema present, annotations), the description covers everything needed: purpose, usage context, example, and output types (one-liner, short story, tweet). The output schema handles return details, so no further explanation is required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the expected_colour parameter as 'the cliche colour to contradict' and the concept parameter as a 'colour concept to subvert', plus an example tying them together. This goes beyond schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find the most surprising archive colour for a concept and generate a memorable one-liner subverting the obvious expectation.' It specifies the verb (find, generate) and resource (archive colour, one-liner), distinguishing it from siblings like palette tools or audits.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit use cases: 'Use this for public-facing demos, content, and brand storytelling.' It provides an example (love + red) to illustrate usage. However, it does not explicitly state when not to use it or mention alternatives, which keeps it from a perfect score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

archive_coverage_gapCoverage Gap ReportA
Read-only
Inspect

Given a list of themes, report which are well-evidenced in the archive and which are under-evidenced or missing. Returns a coverage matrix: for each theme, entries found, coverage grade (strong/moderate/weak/missing), best match with claim strength, and what source type would be needed to improve coverage. Use this BEFORE building an archive_report_brief or brief_forensic to know where the evidence is strong and where gaps will appear. Prevents building beautiful reports that quietly ignore half the brief.

ParametersJSON Schema
NameRequiredDescriptionDefault
themesYesThemes to check e.g. ['opium', 'gin', 'gambling', 'racing']
archivesNoOptional archives to search e.g. ['EIC', 'Dickens']

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, consistent with description. Description adds rich behavioral context: output structure (coverage matrix, grade, best match, needed source type) that goes beyond safety info.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences: first defines purpose and output, second gives usage guidance. No wasted words; front-loaded with the most important information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and the tool's simplicity (2 params, 1 required), the description covers all necessary context: input, output, workflow placement. Complete for an agent to decide when to invoke.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, but description adds value by providing example values for 'themes' and explaining optional 'archives'. This aids the agent in understanding usage beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: given themes, report evidence coverage. It distinguishes itself from siblings by specifying the output (coverage matrix) and use case. The title 'Coverage Gap Report' is descriptive and matches the verb 'report'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to use this tool BEFORE building archive_report_brief or brief_forensic, and explains why: to prevent ignoring gaps. This provides clear context for when to use versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

archive_cultural_anachronismAnachronism GuardA
Read-only
Inspect

Check a list of colour entries for anachronism risk. Detects whether the primary source date falls outside the requested period, whether the archive is a known modern source (RacingSilks, FootballStrips), and returns a period_relevance score and safe phrasing. Essential for historical documents: prevents a 2011 Jockey Club racing silk registration being presented as Georgian evidence. Returns anachronism_risk (none/low/medium/elevated/high), period_relevance score 0-1, safe_phrasing, and unsafe_phrasing for each entry.

ParametersJSON Schema
NameRequiredDescriptionDefault
entriesYesColour entries to check
period_endNoEnd year e.g. 1830
period_startNoStart year e.g. 1714
target_periodNoPeriod description e.g. 'Georgian England 1714-1830'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation readOnlyHint:true is consistent with the description's mention of 'check' and 'returns', indicating no side effects. The description adds valuable behavioral details beyond the annotation, such as the detection of modern archives (RacingSilks, FootballStrips) and the output fields (anachronism_risk, period_relevance, safe/unsafe phrasing), fully informing the agent of what to expect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, with the first sentence front-loading the primary purpose and key actions. Every clause adds value: the first outlines detection logic, the second provides a concrete usage example and enumerates return fields. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has a full input and output schema, the description does not need to explain return values in detail. It concisely covers the essential behavioral context (what it detects, example scenario, output types) without relying on the schema. The example anchors understanding, making it complete for agent decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-documented structurally. The description adds contextual meaning by mentioning the detection of modern archives and outlining the output fields, which aids understanding of parameter purpose. It stops short of detailing parameter formats or constraints beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a specific verb-resource pair ('Check a list of colour entries for anachronism risk'), clearly indicating the tool's function. It lists distinct detection capabilities (primary source date vs period, modern archive sources) and return values, effectively distinguishing it from sibling tools like archive_cliche or archive_coverage_gap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear when-to-use guidance with the concrete example 'prevents a 2011 Jockey Club racing silk registration being presented as Georgian evidence'. It implicitly suggests use for historical document validation, but does not explicitly state when not to use or name specific alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

archive_evidence_gapEvidence Gap AnalysisA
Read-only
Inspect

Given a hex value and a proposed claim about it, return whether the archive supports that claim, what is missing, what kind of source would be needed, and safe agent wording. This is Colour Memory's anti-hallucination endpoint. It turns the absence of evidence into a forensic finding rather than a gap to fill with invention. Example: hex #4A535C + proposed claim 'cyanosis in a death chamber' returns: nearest archive support, support level (supported/partial/unsupported), what source type is needed, and safe wording for the agent to use. Essential for museum, documentary, editorial, legal, and forensic workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexYesHex colour to analyse e.g. '#4A535C'
archiveNoOptional archive to search e.g. 'DarkHistory'
n_candidatesNoNumber of archive candidates to return (default 5)
proposed_claimYesWhat you want to say about this colour e.g. 'cyanosis in a death chamber'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and the description adds valuable behavioral context: it is an anti-hallucination endpoint that turns absence of evidence into a forensic finding, describing the exact output (nearest archive support, support level, etc.). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise (3 sentences plus an example) and front-loaded with the core purpose. The example is helpful but slightly lengthens the text. Could be structured with bullet points for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters, 2 required, and an output schema, the description covers the essential context: purpose, example, use cases. It mentions output elements, so completeness is adequate though not exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds meaning by naming the key parameters (hex, proposed_claim) and showing their usage in an example. Minor improvement over schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: given a hex value and a proposed claim, it returns whether the archive supports that claim, what is missing, what source is needed, and safe agent wording. It includes an example and distinguishes itself as an anti-hallucination endpoint, unique among siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies essential use cases (museum, documentary, editorial, legal, forensic workflows). It implies when to use but does not explicitly state when not to use or suggest alternative tools. Slight gap in excluding non-archive scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

archive_provenanceExplain a Colour's ProvenanceA
Read-only
Inspect

Explains the provenance of a named archive colour: documented fact vs computational derivation vs cultural interpretation, with confidence and citation format. This is one component of colour_passport, but also a standalone research tool for deep provenance work (museum, documentary, editorial). Use colour_passport for a general profile; call this directly for research workflows needing full source-chain detail.

ParametersJSON Schema
NameRequiredDescriptionDefault
colour_nameYesName of the archive colour e.g. 'Love Idleness', 'Woad Vat Blue', 'Murex Luxury'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite readOnlyHint annotation, the description adds rich behavioral context beyond annotations: it explains the output includes three categories of provenance, confidence level, citation format, and source-chain detail. There is no contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences. The first sentence states purpose and output breakdown. The second provides usage guidance. It is front-loaded and contains no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (provenance explanation with categories, confidence, citation, and source-chain detail) and presence of an output schema, the description sufficiently covers the tool's function, output characteristics, and appropriate usage contexts.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter 'colour_name' already well-described in the schema (including examples). The description does not add further semantic meaning beyond what the schema provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Explains' and resource 'provenance of a named archive colour', and distinguishes between documented fact, computational derivation, and cultural interpretation, with confidence and citation format. It differentiates itself from the sibling colour_passport by being a standalone research tool for deep provenance work.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides when to use this tool vs alternatives: 'Use colour_passport for a general profile; call this directly for research workflows needing full source-chain detail.' It also mentions it is suitable for museum, documentary, and editorial contexts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

archive_report_briefArchive Report BriefA
Read-only
Inspect

One-call complete archive research package for a document, PDF, or editorial brief. Input: title, audience, themes, archives to draw from, things to avoid, number of colours. Output: ranked colour cards with full provenance, story order, source confidence flags, pull quote, CTA line, CSS tokens, image prompt for Midjourney/Flux/DALLE, editorial argument, weakest and strongest entries identified. Replaces chaining archive_search + get_colour_card + cliche_breaker + agent_brief separately. Two Claude calls total. This is the endpoint for building premium archive documents, PDFs, briefs, and editorial content. Use this first for any document workflow.

ParametersJSON Schema
NameRequiredDescriptionDefault
avoidNoTopics to suppress e.g. ['arsenic wallpaper', 'Wedgwood blue']
titleNoDocument title e.g. 'The Colours of Georgian Power'
themesYesResearch themes e.g. ['racing silks', 'EIC trade', 'Keats']
archivesNoArchives to search e.g. ['RacingSilks', 'EIC', 'Keats', 'Dickens']
audienceNoTarget audience e.g. 'serious Georgian collector'
n_coloursNoNumber of colours to return (default 8, max 16)
strict_sourcesNoOnly return entries with named primary sources (default true)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond the readOnlyHint annotation by stating it requires two Claude calls and detailing the comprehensive output. This helps the agent understand its operational characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively concise given the tool's complexity, with front-loaded purpose. Each sentence adds value, though it could be slightly more streamlined without losing content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's 7 parameters, full schema coverage, and present output schema, the description adequately covers inputs and outputs. It provides detailed output characteristics, making it complete for selecting and invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All parameters have schema descriptions, so baseline is 3. The description's narrative list of inputs doesn't add significant new meaning beyond the schema; it mostly rephrases existing information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: a comprehensive archive research package for documents, PDFs, or editorial briefs. It distinguishes from siblings by explicitly noting it replaces chaining separate tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates to use this tool first for any document workflow, and positions it as the endpoint for premium archive content. While it doesn't list explicit when-not-to-use scenarios, it provides clear context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brand_asset_packBrand Asset Pack ExportA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoTarget marketglobal
mediumNodigital | print | bothdigital
paletteYesHex values
use_caseNoUse casebrand identity
brand_categoryNoOptional brand name or category

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already set readOnlyHint=true. Description adds value by stating 'Deterministic. No LLM cost', which informs about performance and cost characteristics. No contradictions. Additional context about side effects or return size would strengthen, but current info is good.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that front-load the purpose. Every word earns its place. No redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given high schema coverage, output schema exists, and only one required parameter, the description is mostly complete. It explains what is returned and key traits. However, it could better explain how parameters influence outputs and provide more comparison to sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for all 5 parameters. The description does not add new parameter-specific meaning beyond what the schema already provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool produces a brand asset pack with specific outputs (CSS variables, Tailwind config, Figma tokens, etc.). It uses strong verbs like 'returns' and 'ships'. However, it does not differentiate from sibling tools like palette_export or brand_system, which may have overlapping functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for brand teams needing an export pack, and adds context about being deterministic and having no LLM cost. But there is no explicit guidance on when not to use this tool or alternative tools to consider.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brand_auditComplete Brand Colour AuditA
Read-only
Inspect

Complete brand colour intelligence audit in one call. Accepts a palette array plus market, use_case, medium, and brand_category. Returns: colour roles with archive names, full WCAG accessibility matrix, cultural risk per colour, palette verdict with score and suggested addition, CSS variables, Tailwind config, and production notes. All computed data -- no LLM cost. Pass results to an LLM for written narrative. Replaces chaining accessibility_matrix + cultural_risk_assessment + palette_verdict separately.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoTarget market e.g. 'UK luxury', 'global', 'Japan'global
mediumNodigital | print | bothdigital
paletteYesArray of hex values e.g. ['#D4A829', '#1A5C6E', '#0F2D6B', '#0A0A0B']
use_caseNoUse case e.g. 'brand identity', 'packaging', 'app UI'brand identity
brand_categoryNoOptional brand category e.g. 'developer tool', 'food', 'fashion'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and the description adds behavioral context: 'All computed data -- no LLM cost,' indicating deterministic computation. It also discloses that results can be fed to an LLM for narrative, which is useful. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with three sentences that front-load the main function, list parameters, and explain outputs. Every sentence provides value; no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a moderate complexity with 5 parameters and an output schema. The description covers inputs, behavior (no LLM cost), and outputs adequately. It mentions replacing other tools, which adds context. Could optionally include error handling or limitations, but overall complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are already documented. The description lists the parameters (palette, market, use_case, medium, brand_category) but adds minimal new meaning beyond the schema. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it performs a 'Complete Brand Colour Intelligence audit' in one call, specifying that it returns multiple computed outputs. It explicitly distinguishes itself from sibling tools like accessibility_matrix, cultural_risk_assessment, and palette_verdict by stating it replaces chaining them separately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear guidance on when to use this tool: for a comprehensive audit in one call instead of chaining multiple separate tools. It also suggests passing results to an LLM for narrative. However, it does not explicitly state scenarios where this tool should not be used or when alternatives are better.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brand_collisionBrand Colour Collision CheckA
Read-only
Inspect

Can this brand own this colour against these competitors in this market? Input: brand hex, brand name, competitor hexes and names, market, region. Returns CIEDE2000 distance to each competitor, archive context for each colour, a distinctiveness score (0-100), an ownership verdict (strong/viable/contested/collision), a plain-English verdict summary, and a strategic recommendation. Use before committing to a brand colour in a competitive market. Replaces manual colour distance checks and competitor palette analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoMarket context e.g. 'UK luxury food retail'
regionNoRegion code e.g. 'GB', 'UAE', 'JP'
brand_hexYesBrand hero colour hex e.g. '#D4A829'
brand_nameNoBrand name e.g. 'Fortnum and Mason'
competitor_hexesNoList of competitor hex colours
competitor_namesNoCompetitor names matching hex order

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, which is consistent with the description (a check operation). The description adds behavioral context by detailing the outputs (distances, scores, verdict) and replaces manual checks. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph with a clear flow: question, inputs, outputs, usage. It is reasonably concise (3 sentences) and front-loaded with the core question. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 params, rich output) and the presence of an output schema, the description covers the main purpose, inputs, outputs, and usage context. It does not cover edge cases or limitations, but overall informs sufficiently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description lists the parameters (brand hex, brand name, competitor hexes/names, market, region) but adds no new semantics beyond the schema descriptions, which already include examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks brand colour ownership against competitors in a market, with a specific verb ('check') and resource ('brand colour collision'). It distinguishes from siblings like 'colour_compare' by emphasizing market context and ownership verdict.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use before committing to a brand colour in a competitive market' and 'Replaces manual colour distance checks and competitor palette analysis', providing clear when-to-use guidance. It lacks explicit when-not-to-use or direct sibling tool comparisons, but the context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brand_reportComplete Brand Colour Intelligence ReportA
Read-only
Inspect

One-call complete brand colour intelligence report. Input: hex + brand context + markets + medium + product type. Output: archive anchor, cliche contradiction, colour DNA, strategy verdict, commercial signals, market reading per market, usage rules, palette roles, ecommerce copy, memory hooks, Instagram caption, and Midjourney/Flux/DALLE agent brief. Runs entirely internally -- no chained calls, cannot be blocked by agent safety filters. Use this instead of chaining colour_strategy + cliche_breaker + ecommerce_product_copy + memory_hooks + agent_brief separately. Two Claude calls total. One complete response.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexYesHero hex colour e.g. '#4A2A50'
mediumNoMedium e.g. 'packaging', 'digital', 'interior'general
conceptNoOptional concept to search for cliche contradiction e.g. 'luxury', 'eco', 'wellness'
marketsNoTarget markets e.g. ['UK', 'France', 'Japan']
product_typeNoProduct type for copy e.g. 'velvet cushion', 'fragrance', 'cleaning spray'
target_modelNoImage model for agent brief e.g. 'midjourney', 'flux', 'dalle'midjourney
brand_contextNoBrand context: category, positioning, audience, channels

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds behavioral details beyond annotations: states it runs entirely internally, cannot be blocked by safety filters, and requires two Claude calls. readOnlyHint=true is consistent with a report generation tool that doesn't modify data. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the tool's purpose, listing outputs in a structured way. While dense with information, it is efficient and every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters with nested objects, extensive outputs), the description covers all aspects: inputs, usage, outputs, and execution behavior. The presence of an output schema handles return value details, so the description is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter descriptions, but the description adds value by explaining how parameters like 'concept' and 'medium' are used within the report context (e.g., 'concept to search for cliche contradiction'). This enhances understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a 'complete brand colour intelligence report' in one call, listing specific outputs. It distinguishes from sibling tools like colour_strategy, cliche_breaker, etc. by advising to use this instead of chaining multiple tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly recommends using this tool instead of chaining colour_strategy, cliche_breaker, and other sibling tools. Also notes it runs internally and cannot be blocked by agent safety filters, providing clear context for when to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brand_systemComplete Brand Colour SystemA
Read-only
Inspect

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 cost.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoTarget market e.g. global, UK, Japanglobal
mediumNodigital | print | bothdigital
paletteYesHex values
use_caseNoUse case e.g. brand identity, packagingbrand identity
brand_categoryNoOptional e.g. developer tool, luxury, food

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses determinism and no LLM cost beyond the readOnlyHint annotation. Lists exact outputs, adding transparency about what the tool returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise, front-loaded with key outputs and traits. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With full schema descriptions, an output schema, and annotations, the description is nearly complete. Could add usage guidance but overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with good parameter descriptions; the tool description does not add extra semantics for parameters, but no additional value is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a complete brand colour system including specific components (roles, maps, typography, etc.), distinguishing it from many sibling tools that focus on individual aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies it's the comprehensive one-stop tool, but lacks explicit guidance on when to use vs. alternatives. Mentions 'Deterministic. No LLM cost' as a benefit but does not provide exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_cardGet Colour Details by NameA
Read-only
Inspect

Look up a named colour and return its hex, archive, provenance, and cultural notes.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoColour name e.g. 'Prussian Blue' or 'Ottoman Carbon Ink'
slugNoStable colour slug from archive_search e.g. 'keats:keats-s-lung' -- preferred over name for reliable retrieval

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation readOnlyHint=true indicates a safe read operation, and the description adds value by specifying the returned fields (hex, archive, provenance, cultural notes). This provides behavioral context beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no extraneous information. It is front-loaded with the core action and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple lookup tool with an existing output schema, the description is complete. It covers what the tool does and what it returns, without needing additional details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptions for both parameters (name and slug). The tool description does not add new meaning beyond the schema for parameters, as it only mentions 'named colour' matching the name parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'look up', the resource 'named colour', and the specific return data (hex, archive, provenance, cultural notes). It distinguishes from sibling tools like colour_compare and colour_mix, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you need colour details by name or slug, but it does not explicitly state when to use this tool over alternatives or provide exclusions. Given the many colour-related siblings, additional guidance would be beneficial.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_combinationColour Combination CheckA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
coloursYes2-5 hex values to assess as a combination
contextNoUsage context: UI | data viz | fashion | interior | print | brandingUI

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, so no destructive behavior is expected. The description adds value by specifying the return content (harmony type, clash warnings, contrast summary, deployment rules) which helps the agent understand the tool's behavioral output beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the action and key details. No unnecessary words, every element earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (multiple contexts, return types), the description covers purpose, input constraints, contexts, and output. Output schema exists, so return details are handled. No gaps for an agent to select or invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds meaning by clarifying the purpose of the output (harmony, warnings, contrast, rules) which indirectly helps parameter understanding, and it explicitly states '2-5 hex values' matching the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Assess' and resource 'colours as a combination', and lists the contexts (UI, data viz, etc.) which distinguishes it from siblings like colour_harmonies (only harmony) or colour_compare (comparison).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (for assessing color combinations across contexts) but does not explicitly state when not to use it or provide alternatives among the many sibling tools. No exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_compareCompare Two Colours — Perceptual and CulturalA
Read-only
Inspect

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 stable under different illuminants, and what each has historically signified. Use when choosing between two colours or explaining why one works better than another. Not a harmony tool — this is a decision and reasoning tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
hex_aYesFirst colour hex e.g. '#003366'
hex_bYesSecond colour hex e.g. '#1877F2'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark it as readOnlyHint=true. The description adds value by detailing the behavioral aspects: it returns quantified differences, cultural context, and comparisons of authority, saturation, stability under illuminants, and historical significance. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the main purpose, and structured logically. Every sentence adds value without redundancy. It is well-suited for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 2 parameters, 100% schema coverage, annotations, and an output schema, the description is complete. It explains the tool's purpose, usage, outputs, and exclusions, leaving no significant gaps for an agent to misinterpret.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning the input schema already describes the parameters (hex_a and hex_b as hex strings). The description does not add per-parameter details beyond what the schema provides, so it meets the baseline of 3. It does set overall context for the parameters as colors, but that is implicit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with 'Deep perceptual and semantic comparison between any two hex values,' clearly specifying the verb (compare) and resource (hex values). It lists the outputs (LRV, chroma, hue angle, etc.) and cultural context, distinguishing itself from sibling tools like colour_harmonies or palette_compare. The title also reinforces 'Perceptual and Cultural' comparison.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Use when choosing between two colours or explaining why one works better than another.' It also clarifies what it is not: 'Not a harmony tool — this is a decision and reasoning tool,' providing clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_cultural_riskAssess Cultural Risk of a Colour or PaletteA
Read-only
Inspect

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 directly for palette-level risk checks or when cultural risk is the only thing being asked about.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexNoSingle hex value to assess e.g. '#FF9900'
marketsNoOptional market focus e.g. ['China', 'Middle East', 'India']
paletteNoOptional list of hex values to assess as a palette

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint: true, so the description does not need to reiterate safety. However, the description adds no additional behavioral context beyond what annotations already convey (e.g., rate limits, destruction). It mentions being a component of colour_passport, but that is more relational than behavioral.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first defines the tool, second provides usage guidance and differentiation. Every sentence is essential and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (3 optional params, high schema coverage, output schema exists), the description covers what the tool does, when to use it, and its relationship to related tools. No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description reinforces that hex is a single value, markets are optional focus, and palette is an optional list, but does not add significant meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool assesses cultural risk for a hex value or palette, listing specific aspects (symbolic weight, regional taboos, etc.). It distinguishes itself from sibling colour_passport by noting it is one component and specifically for palette-level or risk-only queries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance: use colour_passport for a general profile, call colour_cultural_risk for palette-level risk checks or when only cultural risk is asked. This clearly delineates when to choose this tool over its sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_dnaColour DNA FingerprintA
Read-only
Inspect

Compact semantic fingerprint for a single hex colour. This is one component of colour_passport. Use colour_passport for a general colour profile; use this only when the user explicitly wants the fingerprint format alone.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexYesHex colour to fingerprint e.g. '#4A2A50'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true. The description adds context that it produces a fingerprint for a single hex colour and is a component of colour_passport, which is useful but does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, no wasted words. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given it has an output schema, the description need not explain return values. It clearly states the tool's scope and relationship to colour_passport, making it complete for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description for the hex parameter mirrors the schema's description. No additional meaning is added beyond what the input schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a compact semantic fingerprint for a single hex colour, and distinguishes it from the sibling tool colour_passport by noting it is a component of that more general profile.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: 'Use colour_passport for a general colour profile; use this only when the user explicitly wants the fingerprint format alone.' This tells when to use versus an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_forensicsColour Specification Safety CheckA
Read-only
Inspect

Assess whether a hex colour can be safely specified for a physical application. Returns: specification_safe verdict (yes / conditional / avoid), risks, required actions, light behaviour under three illuminants (north daylight, warm artificial, direct sun), substrate-specific notes, and a recommended alternative. Backed by CIEDE2000 archive matching and Claude material knowledge. Examples: ultramarine on lime plaster, lead white on exterior timber, verdigris on north-facing interior wall, red ochre on historic brick.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexYesHex colour to assess e.g. '#2A5498'
useNoSpecific use context e.g. 'heritage repair', 'new build interior', 'conservation project'
finishNoPaint finish e.g. 'matt', 'eggshell', 'gloss', 'limewash'matt
substrateYesPhysical substrate e.g. 'lime plaster', 'gypsum board', 'brick', 'timber', 'canvas'
orientationNoRoom or surface orientation e.g. 'north-facing', 'south exterior', 'east bedroom'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only indicate read-only; the description adds valuable behavioral context: underlying CIEDE2000 matching and Claude material knowledge, and lists specific return elements (verdict, risks, light behaviour, etc.). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences: purpose, returns, backing, examples. No fluff, front-loaded, well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given annotations, output schema existence, and 5 parameters, the description provides a complete picture: return content, underlying technology, and practical examples. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage so description need not detail parameters. The description adds meaning through examples and context (e.g., 'ultramarine on lime plaster') but does not elaborate on individual parameters beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it assesses color safety for physical applications with a specific verb 'Assess' and resource 'hex colour... physical application'. It lists concrete outputs and examples that distinguish it from sibling tools like colour_compare or colour_metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for physical safety checks, and examples clarify context. However, it does not explicitly state when not to use or name alternatives, which is acceptable given the clear scope.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_harmoniesGet Colour HarmoniesA
Read-only
Inspect

Return complementary, triadic, analogous, and split-complementary harmonies matched to named archive colours.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexYesHex value e.g. '#3A5C8C'
harmony_typesNoHarmony types to include

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds that harmonies are 'matched to named archive colours', providing context beyond the readOnlyHint annotation. However, it does not detail behavior like whether the hex must be an exact match or how it handles missing colours.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, 12 words, front-loaded with the action and result. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema, the return format is covered. But the description omits explanation of what 'named archive colours' are and how matching works. For a tool with moderate complexity, it leaves some questions unanswered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both hex and harmony_types. The description's phrase 'matched to named archive colours' adds slight context but does not significantly enhance parameter understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (Return) and the resource (colour harmonies), listing four specific harmony types. This distinguishes it from sibling tools like colour_combination or colour_compare, which have different foci.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs. alternatives. Among many colour-related siblings, there is no mention of context or exclusions, leaving the agent without decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_hooksMake Any Colour MemorableA
Read-only
Inspect

Generate a hook sentence, three-sentence story, tweet, image prompt, and follow-up questions for any hex colour. Backed by the nearest archive colour's cultural provenance. Tunable by audience (general public, designers, historians, children) and tone (dinner party, academic, social media, brand copy). Use to make archive colours shareable, to generate content, or to power a public-facing colour chat experience.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexYesHex colour e.g. '#154F20'
toneNoDesired tone e.g. 'dinner party', 'academic', 'social media', 'brand copy'dinner party
audienceNoTarget audience e.g. 'general public', 'interior designers', 'children'general public

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Read-only per annotations; description adds valuable context about tunability by audience/tone and cultural backing, exceeding annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences front-loading purpose and adding context. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, usage, parameters; output schema exists. Missing edge cases like invalid hex, but minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with descriptions; description adds 'tunable' context but no extra semantics beyond baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it generates a hook sentence, story, tweet, image prompt, and follow-up questions for hex colours, backed by cultural provenance. Distinct from siblings like colour_combination or colour_story.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says use to make archive colours shareable, generate content, or power colour chat experiences. Lacks explicit when-not-to-use or alternatives, but sufficient context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_match_paintMatch to Commercial Paint SystemA
Read-only
Inspect

Find the nearest named colour in commercial paint systems including Farrow and Ball and Little Greene.

ParametersJSON Schema
NameRequiredDescriptionDefault
nNoNumber of matches (default 3)
brandNoOptional brand filter: 'farrow' or 'little_greene'
hex_valYesHex value e.g. '#003153'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as readOnlyHint=true, which is consistent with the description. The description adds no additional behavioral context (e.g., limitations, auth needs), but there is no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no unnecessary words. It is optimally concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the existence of an output schema (per context signals), the description covers the essential behavior. Minor gaps: no mention of edge cases like invalid hex or no matches found. Overall adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters are described in the schema (100% coverage). The tool description adds no additional meaning beyond stating the commercial paint context; the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool finds the nearest named colour in commercial paint systems, naming specific brands (Farrow and Ball, Little Greene). This distinguishes it from generic colour matching or naming tools among siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for paint colour matching but does not explicitly state when to use this tool vs. alternatives (e.g., colour_namer, colour_match). No exclusions or context are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_metricsGet Colour Metrics and PropertiesA
Read-only
Inspect

Returns raw perceptual metrics (LRV, chroma, hue angle, warmth, undertone) for a single colour. This is one component of colour_passport. Use colour_passport for a general colour profile; use this only when the user explicitly wants isolated numeric values.

ParametersJSON Schema
NameRequiredDescriptionDefault
hex_valYesHex value e.g. '#8B4513'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, indicating safe reading. The description adds value by detailing the exact metrics returned, which is sufficient for this simple tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff, front-loaded with key information. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (single parameter, read-only, with output schema), the description covers purpose, usage, and output completely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear parameter description for hex_val. The description does not add additional parameter semantics beyond the schema, earning the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns raw perceptual metrics for a single colour, listing specific metrics like LRV, chroma, hue angle, etc. It distinguishes itself from colour_passport, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises using colour_passport for a general profile and this tool only when isolated numeric values are wanted, providing clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_mixMix Two Colours (Pigment Simulation)A
Read-only
Inspect

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 perceptual accuracy. Example: mixing Prussian Blue and Yellow Ochre gives a muted green — the tool identifies which archive colour that green most closely matches.

ParametersJSON Schema
NameRequiredDescriptionDefault
hex_aYesFirst colour hex e.g. '#003366'
hex_bYesSecond colour hex e.g. '#C8A600'
ratioNoMix ratio 0.0-1.0 where 0.5 is equal parts (default 0.5)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already set readOnlyHint=true, so the tool is read-only. The description adds value by explaining the perceptual model (CIE Lab) and the return of a nearest archive match. It does not introduce any contradictions and provides transparency about the simulation nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences plus an example. Every sentence adds value—defining the model, contrasting with RGB, stating outputs, and giving a concrete use case. No extraneous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains the simulation model, output (hex value and nearest archive match with cultural context), and provides an example. With an output schema present, the agent can infer the exact return structure. It doesn't cover edge cases or errors, but for a straightforward mixing tool this is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters are fully described in the input schema (100% coverage). The description adds minimal extra meaning—it repeats hex_a and hex_b as the two colours and ratio's default value. The example provides concrete usage but doesn't deepen semantic understanding beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it simulates subtractive mixing of two colors using CIE Lab space, distinguishing it from screen blending. It provides a concrete example (Prussian Blue and Yellow Ochre) and mentions the output includes a nearest archive match. The title reinforces 'Mix Two Colours'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states it uses CIE Lab subtractive mixing (not RGB), giving clear context for when to use this tool. While it doesn't list alternative tools, the purpose is specific enough that an agent can infer usage. Missing explicit exclusion of other colour-related tools, but still clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_namerGenerate Archive-Grounded Colour NamesB
Read-only
Inspect

Generate memorable, archive-verified colour names for any hex value. Choose from naming styles: geographical, poetic, material, literary, botanical, industrial, or mixed. Every name is grounded in a real archive source. The core of the Shopify product naming use case.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexYesHex colour to name e.g. #8B4A2A
styleNogeographical | poetic | material | literary | botanical | industrial | mixed
marketNoTarget market e.g. UK luxury
n_namesNoNumber of name options (default 5)
product_typeNoProduct type e.g. candle, paint, leather bag

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint. The description adds that names are 'archive-verified' and lists styles, but does not disclose potential limitations, performance, or error behavior beyond what annotations cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences: core purpose, style options, and context. Every sentence adds value with no redundancy. Front-loaded with the primary verb and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description covers the main use case and style flexibility but lacks detail on how market, n_names, or product_type affect output. Given the presence of an output schema, it is minimally adequate but could offer more contextual guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description reiterates style choices but does not add significant extra meaning beyond schema descriptions for parameters like market, n_names, or product_type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it generates archive-grounded colour names for hex values with various style options, positioning it within the Shopify naming use case. However, it does not explicitly differentiate from sibling tools like ecommerce_namer, leaving some ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The phrase 'core of the Shopify product naming use case' implies context but does not state when not to use it or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_passportColour Passport -- Complete Colour Truth ObjectA
Read-only
Inspect

Canonical single-call colour truth object. Returns everything known about a hex value: colour science (Lab, LCh, hue, chroma, depth, temperature, LRV), archive anchor with dE2000, claim_strength, do_not_say and evidence grade, hex provenance (status, confidence, spectrophotometric flag), physics (illuminant behaviour, gamut, print risk), and cultural reading (colour family, warnings, positives). Use this as the foundation call when you need the complete picture. Every other tool is built on this data. Replaces chaining colour_dna + archive_provenance + colour_cultural_risk + colour_metrics separately.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexNoSingle hex colour e.g. #31559B
hexesNoMultiple hex colours for batch lookup e.g. ['#31559B', '#8B1A1A']. Max 20.
n_archiveNoNumber of archive matches to return (default 3)
include_physicsNoInclude illuminant behaviour and gamut data (default true)
include_culturalNoInclude cultural risk and associations (default true)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include readOnlyHint: true, indicating no side effects. The description adds detail about the data returned (colour science, archive, hex provenance, etc.) beyond the annotation. It does not contradict annotations and provides useful behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph, front-loaded with 'Canonical single-call colour truth object.' It is dense but contains no unnecessary words. It could be slightly more structured with bullet points, but it is still concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, many output fields), the description provides a comprehensive overview of what is returned, and the output schema exists. It does not need to detail every field.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description does not repeat parameter details. It gives a high-level overview but does not add significant meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns a 'Complete Colour Truth Object' for a hex value, enumerating many attributes. It distinguishes itself from sibling tools by stating it 'replaces chaining colour_dna + archive_provenance + colour_cultural_risk + colour_metrics separately.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says to 'Use this as the foundation call when you need the complete picture' and that 'Every other tool is built on this data,' providing clear context. However, it does not explicitly state when not to use it or suggest simpler alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_passportsA
Read-only
Inspect

Batch version of colour_passport. Submit up to 20 hex values in one call. Returns a full Colour Passport for each unique hex: colour science, archive anchor, evidence grade, do_not_say constraints, hex provenance, accessibility, and physics. Deduplicates hex values automatically. Use for multi-colour workflows, Figma palette analysis, or any case where calling colour_passport separately for each colour would be slow.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexesYesList of hex colours e.g. ['#31559B', '#8B1A1A']
n_archiveNoNumber of archive matches per colour (default 3)
include_physicsNoInclude illuminant behaviour and gamut data (default true)
include_culturalNoInclude cultural associations (default false)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes deduplication, batch limit (up to 20), and the comprehensive set of returned fields. Adds value beyond readOnlyHint annotation by specifying behavior like deduplication and limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, well-structured paragraph starting with the batch identity, then limit, then return details, then use cases. No redundant or unnecessary sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of output schema and annotations, this description covers all essential aspects: batch capability, limit, dedup, return fields, and use cases. No gaps for an AI agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds crucial context: the 20-hex limit, automatic deduplication, and clarifies defaults for other parameters. Schema alone doesn't mention these constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it is a batch version of colour_passport, accepts up to 20 hex values, and returns a full Colour Passport for each. Distinguishes from sibling colour_passport by explicitly being the batch variant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly recommends using for multi-colour workflows, Figma palette analysis, and any case where calling colour_passport separately would be slow. Clearly implies not for single colour use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_slugsColour Name Developer TokensA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexYesHex value e.g. #D4A829
archiveNoOptional archive filter

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, but the description adds context about using an 'archive-grounded name source with dE2000 distance,' which provides useful behavioral insight beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loads the core purpose, and contains no extraneous information. Every part is valuable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and the tool's moderate complexity, the description sufficiently explains what the tool does and returns. It could mention that the archive parameter is optional and the distance metric, but overall it is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds minimal value beyond the schema. It mentions 'archive-grounded name source' for the archive parameter but does not significantly enhance understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns all developer token formats for a given hex value, listing specific formats. This distinguishes it from sibling tools like colour_namer or colour_hooks, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when token formats are needed for a hex, but it does not provide explicit guidance on when to use this tool versus alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_storyGet the Cultural Story of a ColourA
Read-only
Inspect

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, brand storytelling, and creative briefs. Example: '#DC143C' returns the story of crimson from Byzantine imperial courts through Tudor England to modern sport.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexYesHex value e.g. '#DC143C'
n_archivesNoNumber of archive sources to draw from (default 5)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description reinforces a read operation. It adds context about using archives but does not disclose additional behavioral traits like data sources or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is three concise sentences: purpose, use cases, and example. Front-loaded and no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description covers output details well (history, civilizations, archive names) and provides use cases. With an output schema present, this is sufficient. Minor lack of input validation notes, but overall complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema provides 100% coverage for both parameters (hex and n_archives) with descriptions. The tool description adds an example but does not enhance meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a cultural narrative for a given hex value, with a specific example. It distinguishes from sibling color tools by focusing on cultural journey and history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit use cases: 'image generation prompts, brand storytelling, and creative briefs.' It does not explicitly mention when not to use or compare to alternatives, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_strategyComplete Colour StrategyA
Read-only
Inspect

The flagship commercial endpoint. Combines archive grounding, verdict, brand fit, market risk, category cliche check, material behaviour, copy hooks, and usage rules in a single call. Input: hex + brand_context (category, positioning, audience, channels) + constraints (avoid, must_work_on) + markets + medium. Output: verdict, strategy summary, archive anchor, commercial signal, category cliche risk level, market reading per market, material notes, usage rules (primary use, secondary use, avoid, pair_with), copy hooks (one_liner, social, brand_rationale), and alternatives. Examples: luxury fragrance brand UK/France/Japan, heritage interior specification, premium ecommerce packaging, SaaS brand identity.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexYesHex colour to evaluate e.g. '#4A2A50'
mediumNoPrimary medium e.g. 'packaging', 'interior', 'digital'general
marketsNoTarget markets e.g. ['UK', 'France', 'Japan']
constraintsNoConstraints object
brand_contextNoBrand context object

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and the description enhances transparency by stating it combines archive grounding and other analyses, implying read operations. No contradictions, and it adds context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the purpose and is dense but every sentence adds value. Examples at the end provide context. It is well-structured, though slightly lengthy due to comprehensive output enumeration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (5 parameters, nested objects, many sibling tools, and existing output schema), the description is highly complete. It enumerates all output fields, explains inputs, and provides usage examples, leaving no major gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by listing input fields with examples (e.g., 'luxury fragrance brand UK/France/Japan') and clarifying the structure of brand_context and constraints, going beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as 'the flagship commercial endpoint' that combines multiple analyses (archive grounding, verdict, brand fit, etc.). It distinguishes from siblings by being comprehensive, covering many aspects that sibling tools handle individually.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for comprehensive strategy evaluation but does not explicitly say when to use this tool vs alternatives like colour_verdict or colour_hooks. No when-not or exclusion criteria are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_timelineTrace a Colour Concept Through HistoryA
Read-only
Inspect

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 historical research, provenance chains, and understanding why a colour carries the cultural weight it does. Example: 'indigo' traces from ancient Indian trade routes through Roman imports to Tudor sumptuary law to synthetic aniline displacement in 1897.

ParametersJSON Schema
NameRequiredDescriptionDefault
nNoNumber of timeline entries to return (default 10, max 20)
conceptYesColour name or concept to trace e.g. indigo, imperial purple, mourning black

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description confirms a read-only operation by mentioning 'traces' and 'returns.' It adds behavioral context about the output format ('dated sequence of archive entries with primary sources'), which goes beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences plus an example, all front-loaded with essential information. Every sentence earns its place with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present (though not shown), the description does not need to detail return values. It covers the tool's purpose, parameters, and use cases adequately. The example further enriches completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters described. The description adds value by providing a concrete example ('indigo' and its trace) and implying the use of 'concept' as the input, enhancing understanding beyond the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: tracing a colour concept through history with a specific verb ('traces') and resource ('documented appearances across cultures and centuries'). It distinguishes itself from siblings by focusing on chronological historical research, unlike other colour tools like colour_compare or colour_harmonies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly recommends use cases: 'historical research, provenance chains, and understanding cultural weight.' While it does not state when not to use or list alternatives, the context is clear and sufficient for an AI agent to decide when to invoke this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_variantsGet Colour Variants and SiblingsA
Read-only
Inspect

For any named archive colour, return historical variants, lighter and darker versions with archive matches, and cultural siblings. Essential for designers exploring around a colour.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNamed archive colour e.g. Bourton Honey

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond the readOnlyHint annotation, detailing what is returned (historical variants, lighter/darker, archive matches, cultural siblings). No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no wasted words. First sentence explains functionality, second provides usage guidance. Front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description fully covers the tool's purpose and return value types without needing to specify format. Complete for a query tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a description for the 'name' parameter. The tool description adds context ('For any named archive colour') that reinforces the parameter's purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (return) and resource (historical variants, lighter/darker versions, cultural siblings) for a named archive colour, distinguishing it from sibling tools like colour_harmonies or colour_dna.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States 'Essential for designers exploring around a colour,' providing clear usage context. Does not explicitly mention when not to use alternatives, but the context is strong enough to guide selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

colour_verdictShould I Use This Colour?A
Read-only
Inspect

Evaluate a hex colour for a specific use case, market, and medium. Returns a decisive verdict: use_with_confidence, use_with_caution, or avoid. Includes strengths, risks, avoid-if scenarios, and better alternatives where needed. Backed by CIEDE2000 archive matching and Claude cultural intelligence. Examples: 'luxury hotel brand in Japan', 'ecommerce CTA button UK', 'heritage interior lime plaster wall', 'premium packaging Middle East'.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexYesHex colour to evaluate e.g. '#31559B'
mediumNoApplication medium e.g. 'digital', 'interior', 'print', 'fashion', 'packaging'general
marketsNoTarget markets e.g. ['UK', 'Japan', 'UAE']
audienceNoOptional: target audience e.g. 'high net worth travellers', 'young professionals'
use_caseYesWhat the colour will be used for e.g. 'luxury hotel brand', 'heritage interior wall'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true, but the description adds significant behavioral context: it returns strengths, risks, avoid-if scenarios, and better alternatives. It also mentions underlying methods (CIEDE2000 and Claude cultural intelligence), which goes beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only 4 sentences, well-organized, and front-loaded with the core purpose and output. Every sentence adds value, and the examples make it highly informative without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, cultural sensitivity), the description covers everything needed: what it returns, how it works (CIEDE2000 and Claude AI), and concrete examples. The presence of an output schema (not shown) further reduces the need for description completeness; the description already suffices.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the description does not need to add much. It reinforces the purpose of use_case with examples, but does not significantly augment the parameter meanings beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool evaluates a hex colour for a specific use case, market, and medium, and returns a decisive verdict. It distinguishes itself from sibling tools by focusing on verdicts (use_with_confidence, etc.) and provides concrete examples, making the purpose very clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what the tool does and provides examples, but it does not explicitly state when to use this tool versus siblings like colour_cultural_risk or palette_verdict. However, the examples imply its use for evaluative decisions, so it is clear enough for most agents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

design_sessionFull Design Session — Concept to Complete PaletteA
Read-only
Inspect

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, and a ready-made image generation prompt. Replaces chaining query_conceptual + palette_from_concept + colour_story + match_paint_system + accessibility_check + get_colour_metrics. Use when an AI agent or user needs a complete, deployable colour direction in a single call. Not for iterative refinement — use individual tools for that.

ParametersJSON Schema
NameRequiredDescriptionDefault
avoidNoArchive names or colour terms to exclude e.g. ['neon', 'ScreenDigital']
mediumNoApplication context e.g. 'interior', 'brand identity', 'fashion', 'digital', 'print'general
conceptYesCultural theme, mood, or brief e.g. 'Victorian mourning', 'Ottoman court', 'Scandinavian minimal'
n_coloursNoPalette size (default 5, max 8)
include_promptNoInclude image generation prompt (default true)
include_accessibilityNoInclude WCAG contrast check (default true)
include_paint_matchesNoInclude commercial paint matches (default true)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description reveals that it is a compound tool that combines multiple steps and returns comprehensive results, which is beyond what the readOnlyHint annotation conveys. It adds context about the tool's behavior, but could further detail any side effects or limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively efficient, front-loading the key phrase 'One-call compound tool.' It then lists outputs and usage guidelines without excessive verbosity. However, it could be slightly more concise by trimming minor details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists and the description already outlines high-level outputs, it is complete. The tool's complexity is well-addressed: 7 parameters explained in schema, usage context clear, and the description covers what the tool returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the input schema already describes all parameters. The description adds some context by listing what the output contains (e.g., 'historically grounded palette, cultural narrative'), but does not elaborate on individual parameters beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies it as a 'One-call compound tool' that takes a concept, medium, audience, and constraints, and returns a complete design package. It explicitly lists the outputs (e.g., palette, narrative, paint matches) and distinguishes it from chaining multiple individual tools, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance: 'Use when an AI agent or user needs a complete, deployable colour direction in a single call. Not for iterative refinement — use individual tools for that.' This clearly tells when to use and when not to, with a direct reference to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ecommerce_copyEcommerce Product Copy from Archive ColourA
Read-only
Inspect

Generate complete ecommerce product copy for any colour. Input: hex + product type + tone + channel. Output: colour name, product title, short description, long description, SEO title, meta description, alt text, Instagram caption, and cross-sell suggestion. Every piece of copy is grounded in archive provenance -- never generic AI colour copy. The colour name comes from the nearest archive match, not invented. Examples: velvet cushion in Murex Luxury, ceramic vase in Woad Vat Blue, linen throw in Standlake Silt. Directly useful for Shopify, WooCommerce, and editorial product pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexYesHex colour of the product e.g. '#4A2A50'
toneNoCopy tone e.g. 'premium but not pompous', 'warm and accessible', 'heritage and serious'premium but not pompous
channelNoSales channel e.g. 'shopify', 'etsy', 'instagram', 'editorial'shopify
brand_nameNoOptional brand name to include in copy
product_typeYesProduct type e.g. 'velvet cushion', 'ceramic vase', 'linen throw', 'candle'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant behavioral context beyond the readOnlyHint annotation. It explains that the copy is grounded in archive provenance and never generic, and that colour names come from nearest archive match. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise but includes essential details: purpose, inputs, outputs, examples, and use cases. It is front-loaded with the main purpose. Slightly longer than strictly necessary but well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (5 parameters, output schema), the description is complete enough. It explains provenance, use cases, and provides examples. The output schema likely covers return values, so description does not need to repeat that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the output structure and the grounded nature of the copy, and provides examples that illustrate parameter usage. It enhances understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: generating complete ecommerce product copy for any colour. It specifies inputs (hex, product type, tone, channel) and outputs (colour name, product title, etc.). This distinguishes it from siblings like 'ecommerce_namer' which likely focuses on naming only.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool: for generating ecommerce product copy, with examples and mention of platforms (Shopify, WooCommerce). However, it does not explicitly say when not to use or mention alternatives, though siblings like 'ecommerce_namer' exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ecommerce_namerProduct Line Colour NamerA
Read-only
Inspect

Generate archive-grounded colour names for up to 40 product SKUs. Input: list of hex values, product category, brand name, naming style. Output: for each hex -- archive name, source citation, one-line product description, dE2000 match distance, match quality, and confidence score. Every name is archive-sourced, not invented. Each carries a primary source citation that can be defended to buyers, press, and brand teams. Use for paint ranges, candle collections, fashion lines, homeware, cosmetics. Style options: geographical, poetic, material, literary, mixed.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexesYesList of hex values e.g. ['#D4A829', '#1A5C6E']
styleNogeographical | poetic | material | literary | mixed (default)
max_dENoMax dE2000 distance to accept (default 25)
brand_nameNoBrand name for context
product_categoryNoe.g. 'paint', 'candle', 'fashion', 'homeware'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include readOnlyHint=true, indicating a non-destructive operation. The description adds significant behavioral details: names are archive-sourced, not invented, with a primary source citation that can be defended. This goes beyond read-only to clarify the sourcing and defensibility behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (single paragraph) and front-loads the core function. It covers all key aspects efficiently. A slight improvement could be using bullet points for the output fields, but it remains clear and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the description provides complete context: inputs, outputs, use cases, style options, and the unique value of archive-sourced, defensible names. It covers all necessary details for an agent to decide when and how to use it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, but the description adds meaningful context beyond the schema: limits (up to 40 SKUs), output structure (archive name, source citation, product description, dE2000 distance, etc.), and emphasizes that names are archive-sourced. This enriches parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate archive-grounded colour names for up to 40 product SKUs.' It specifies inputs (hex values, product category, brand name, naming style) and outputs, and distinguishes itself from siblings like colour_namer by focusing on ecommerce product lines with archive-sourced names.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly mentions use cases ('paint ranges, candle collections, fashion lines, homeware, cosmetics'), providing clear context for when to use. However, it does not explicitly state when not to use or mention alternative tools (e.g., colour_namer for generic needs), which would strengthen guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

image_briefA
Read-only
Inspect

Compound endpoint: one image in, full creative brief out. Extracts dominant colours, matches them to the Colour Memory archive with coherent cultural naming, understands the scene, identifies the style period, suggests product directions by category (textiles, interiors, fashion), generates an image generation prompt, and returns a swatch URL. Use instead of chaining palette_extract + palette_analyse + agent_brief separately. Pass style_context for coherent archive matching e.g. 'English cottage garden', 'Victorian', 'MarsColour'.

ParametersJSON Schema
NameRequiredDescriptionDefault
kNoNumber of colours to extract (3-12, default 6)
modelNoImage model: midjourney | flux | dalle | stable_diffusion (default midjourney)
archiveNoExplicit archive name override e.g. 'MarsColour', 'Japan'
image_urlNoPublic URL of the image
image_base64NoBase64-encoded image data
product_typeNoProduct focus e.g. 'tea towel', 'wallpaper', 'ceramic', 'textile'
grey_card_hexNoHex value from a grey/white card for white balance correction
style_contextNoPlain English style e.g. 'English cottage garden', 'Victorian', 'Japanese', 'MarsColour'. Restricts archive matching to coherent cultural set.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and the description does not contradict that. It adds significant behavioral detail: the tool extracts, matches, understands, identifies, suggests, and generates—all read-only operations. It also clarifies the compound nature, which is not obvious from annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-structured: starts with the compound endpoint overview, lists outputs, provides usage hint, and gives parameter examples. Every sentence serves a purpose with no fluff. It is front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (compound endpoint, 8 parameters, 0 required, output schema present), the description covers the main purpose, usage, and key parameters. It does not discuss edge cases or error handling, but the output schema handles return values. It is largely complete for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds meaning beyond the schema by explaining style_context (coherent archive matching) and product_type (product focus examples). It also provides examples for key parameters, which the schema's descriptions alone do not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies this as a compound endpoint that takes one image and produces a full creative brief, listing specific outputs (dominant colours, archive matching, scene understanding, style period, product suggestions, image prompt, swatch URL). It distinguishes from sibling tools by stating 'Use instead of chaining palette_extract + palette_analyse + agent_brief separately.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use this tool instead of chaining multiple separate tools, and provides guidance on when to use style_context with examples like 'English cottage garden'. While it doesn't explicitly state when not to use it, the context is clear enough for an agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

image_paletteExtract and Name Colours from an ImageA
Read-only
Inspect

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 plus Bradford chromatic adaptation for accuracy. Returns up to 5 dominant colours, each with archive name, cultural story, nearest RAL standard, and WCAG accessibility data. Works for product photography, interior photos, artwork, brand assets, and mood boards. The image is never stored — processed in memory only.

ParametersJSON Schema
NameRequiredDescriptionDefault
archiveNoOptional: restrict archive matching to a specific archive
n_coloursNoNumber of dominant colours to extract (default 5, max 5)
media_typeNoImage MIME type e.g. 'image/jpeg'image/jpeg
image_base64YesBase64 encoded image (JPEG, PNG, WebP)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes beyond the readOnlyHint annotation by disclosing that the image is never stored (processed in memory only) and mentions the algorithms used (K-means++ and Bradford chromatic adaptation). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, front-loading the core functionality and following with supported use cases and transparency details. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and the presence of an output schema, the description is complete. It covers the process, algorithms, privacy, use cases, and output characteristics without needing to detail return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds value by explaining the output format (archive name, cultural story, RAL standard, WCAG data) and the constraint that n_colours max is 5. This provides context beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: upload an image, extract dominant colours, and match to named archive entries with cultural provenance. It distinguishes itself from sibling tools like image_personal or colour_namer by emphasizing the archive matching and cultural story aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases (product photography, interior photos, artwork, brand assets, mood boards) and mentions the output includes up to 5 colours with specific data. However, it does not explicitly state when not to use this tool or compare it to alternatives like archive_search or colour_match_paint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

image_personalPersonal Colour Analysis — Find Your ColoursA
Read-only
Inspect

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 palette of archive colours that genuinely suit you — each with full historical provenance and cultural context — plus colours to avoid. Uses Claude Vision for skin, hair, and eye analysis, then matches to the archive by CIEDE2000 perceptual distance. The photo is never stored. Example: a Deep Winter might wear Ottoman Carbon Ink while a True Spring suits Kogi Mango.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional: person's name for the report e.g. 'Sarah'
image_urlNoURL of a portrait photo hosted online. Easier than base64 for MCP use. Either image_url or image_base64 required.
media_typeNoImage MIME type e.g. 'image/jpeg'image/jpeg
image_base64NoBase64 encoded portrait photo (JPEG or PNG). Face should be clearly visible in natural light. Either image_base64 or image_url required.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description complements the readOnlyHint annotation by stating 'The photo is never stored.' It also explains the AI method (Claude Vision) and matching algorithm (CIEDE2000), adding behavioral context beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the core purpose, but it is slightly lengthy (4 sentences plus an example). It could be more concise without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (multiple output fields, AI analysis) and the presence of an output schema, the description is complete by explaining the return values, methodology, and privacy aspect. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does not add new parameter semantics beyond what the schema already provides, such as clarifying the difference between image_url and image_base64.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: upload a portrait photo for personal colour analysis. It specifies the outputs (seasonal type, depth, undertone, palette) and gives an example, distinguishing it from sibling tools like palette_generate or colour_dna.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for personal colour analysis from a photo, but does not explicitly state when to use this tool vs alternatives among the sibling tools, nor does it provide exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

index_resonanceResonance IndexA
Read-only
Inspect

Colour Memory's proprietary semantic metric. Score how tightly the material origin of a colour aligns with its social consequence. 1.00 = material and consequence are indistinguishable (blood as prognosis, ash as finality). 0.80 = institution mediates the colour (paint as deterrence, flag as authority). 0.50 = symbolic or associative only. Input: list of colour entries with name, hex, archive, source, notes. Output: resonance score, material origin, social function, alignment reason, confidence. Use for investigative reports, forensic briefs, museum content, editorial PDFs. This is the metric that separates Colour Memory from palette generators.

ParametersJSON Schema
NameRequiredDescriptionDefault
entriesYesList of colour entries to score for resonance
score_basisNoScoring basis (default: material_origin_to_social_consequence)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true, and the description does not contradict this. It adds value by detailing input and output fields (resonance score, material origin, etc.), providing transparency beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is informative but not excessively verbose. Each sentence contributes to clarifying the tool's function, usage, and output. Minor redundancy could be tightened, but overall it is well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity and presence of an output schema (though not shown), the description adequately covers input, output, and use cases. It provides sufficient context for an agent to understand and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both 'entries' and 'score_basis' having descriptions. The description reiterates the input fields but adds no new semantic information beyond the schema, so baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly defines the tool's purpose as a semantic metric to align material origin with social consequence, with specific score examples. It explicitly distinguishes from palette generators, differentiating it from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lists specific use cases (investigative reports, forensic briefs, museum content, editorial PDFs), providing clear context. However, it does not explicitly state when not to use the tool or mention alternatives among the many sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ingest_imageIngest Image for ProcessingAInspect

Upload an image to Colour Memory for ephemeral processing. Returns image_id valid 5 minutes. Pass image_id to palette_extract or image_brief. Use for any image over 50 KB.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageNoMCP file reference {download_url, mime_type, file_name}
source_urlNoHTTPS URL of the image
image_base64NoBase64-encoded image data. Use this for locally uploaded files with no public URL. No size limit here (unlike palette_extract's image_base64).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotation readOnlyHint=false, description adds ephemeral processing and 5-minute validity. Schema description for image_base64 also notes no size limit, adding transparency for that parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no fluff. Purpose, return value, and usage direction all included efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With output schema present, description completes the picture: upload, get id, use downstream. Mentions ephemeral nature and size. Could add auth or error handling but not required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (baseline 3). Description adds extra context, e.g., image_base64 note about local uploads and size limit difference, improving semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'upload' and resource 'image to Colour Memory for ephemeral processing'. Distinguishes from siblings by stating the returned image_id goes to palette_extract or image_brief.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use for any image over 50 KB' and instructs to pass image_id to downstream tools. Could mention when not to use (e.g., small images), but usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

interior_specifyInterior Colour Specification — Full Room BriefA
Read-only
Inspect

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 provenance, Farrow and Ball and Little Greene paint matches, three-illuminant light behaviour (D65 daylight, F11 atrium, Illuminant A incandescent), WCAG accessibility for digital use, and a written cultural rationale explaining why each colour belongs in this room. Examples: 'bold maximalist living room', 'calm Scandi bedroom', 'Victorian study', 'coastal kitchen', 'gallery hallway'. Use /interior-specification/pdf for a downloadable branded PDF version. This is the tool that replaces a colour consultation.

ParametersJSON Schema
NameRequiredDescriptionDefault
avoidNoColours, pigments or topics to exclude e.g. ['arsenic green']. Applied before selection.
styleNoStyle direction e.g. 'heritage', 'contemporary', 'maximalist', 'minimal', 'scandi', 'industrial', 'coastal'heritage
conceptYesRoom concept or brief e.g. 'bold maximalist living room' or 'calm Scandi bedroom'
n_coloursNoNumber of colours in scheme (default 5, max 7)
room_typeNoRoom type e.g. 'living', 'bedroom', 'kitchen', 'study', 'bathroom', 'hallway', 'dining'living
orientationNoRoom orientation e.g. 'north', 'south', 'east', 'west' — affects light advice

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations have readOnlyHint=true, and description is consistent (generating output, not mutating). It adds behavioral context by detailing rich output components (light behaviour, WCAG, cultural rationale), which is helpful beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is fairly long (3 sentences) with a dense list of output features. Front-loaded with purpose but could be more concise without losing key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (generating a full specification), the description covers essential aspects like 60/30/10, paint matches, light behaviour, WCAG, and rationale. Output schema likely documents return values, so description is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds examples and explains the 'avoid' parameter, but does not significantly deepen understanding beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a complete interior colour specification from a concept or brief, listing specific outputs like 60/30/10 assignments and paint matches. Examples differentiate from sibling tools like colour_match_paint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides examples and mentions an alternative PDF tool, but lacks explicit when-to-use or when-not-to-use guidance relative to many sibling tools. Usage context is implied but not definitive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

meta_capabilitiesAPI Capabilities InventoryA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and description adds that the tool is deterministic and has no LLM cost. It describes the return content well. Slightly penalized for not mentioning any potential restrictions (e.g., authentication), but overall good.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states the action and result, second gives usage hint and key attributes. Extremely concise with no wasted words; information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and existence of an output schema, the description adequately covers what the tool returns and why to use it. The mention of 'usage notes' is minor. Complete for a simple discovery tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is 100% by default. Description adds context that the inventory is 'live' and dynamic, but doesn't need to explain parameters. Baseline 4 for zero-param tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'return a live inventory of all active endpoints and MCP tools' with specific details like tool count, endpoint list, and usage notes. It distinguishes itself from sibling tools as a discovery tool to use first before making calls.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this first to discover what the API can do before making calls', providing clear when-to-use guidance. No alternatives are needed as this tool is unique for discovering capabilities.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_analyseA
Read-only
Inspect

Analyse a palette of hex colours against the Colour Memory archive. For each colour returns the nearest named archive entry with cultural name, source, claim_strength (A-E), do_not_say guardrails, and alternatives when confidence is low. Palette-level deduplication ensures no two colours map to the same archive entry. Use after extracting colours from a photo or generating a palette.

ParametersJSON Schema
NameRequiredDescriptionDefault
nNoMax alternatives per colour when confidence is low (1-3, default 1)
archiveNoOptional: restrict to one archive e.g. China, Pigment, ArtsAndCrafts
coloursYesArray of colour objects

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral details beyond the readOnlyHint annotation: it explains that the tool returns nearest archive entries with specific fields, performs deduplication, and provides alternatives when confidence is low. This informs the agent about expected behavior and side effects (no destructive actions). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: four sentences, each adding meaningful information. It avoids redundancy, front-loads the core purpose, and provides usage guidance without unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 parameters, 1 required, full schema coverage, and an output schema), the description is largely complete. It explains when to use, the output format, and key behaviors (deduplication). Minor gaps: it doesn't mention error handling or limits on the number of colours, but these are acceptable given the structured schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the baseline is 3. The description adds minimal extra meaning beyond the schema: it mentions 'alternatives when confidence is low' (related to n parameter) and 'restrict to one archive' (for archive parameter). However, it does not elaborate on the colours array structure or weight parameter, leaving the schema to carry the full burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: analyzing a palette of hex colors against the Colour Memory archive. It specifies the verb 'Analyse', the resource 'palette against Colour Memory archive', and details the output (nearest named archive entry with cultural name, source, etc.). This distinguishes it from sibling tools like palette_audit or palette_compare, which have different focuses.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage context: 'Use after extracting colours from a photo or generating a palette.' This tells the agent when to invoke the tool. However, it doesn't explicitly state when not to use it or mention alternative tools for different scenarios, such as if no archive match is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_auditPalette Quality AuditA
Read-only
Inspect

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 any palette. Deterministic, no LLM cost.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoTarget marketglobal
mediumNodigital | print | bothdigital
paletteYesHex values to audit
use_caseNoUse case contextbrand identity

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds 'Deterministic, no LLM cost' and details return values (score, grade, fix list) beyond the readOnlyHint annotation. No contradictions; the deterministic nature aligns with readOnlyHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences: function, output, and usage/characteristics. No redundant information; each sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema and 100% parameter coverage, the description adequately covers the audit scope, return format, and usage context. No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so baseline is 3. The description adds no parameter-specific details beyond the schema, which already fully describes each parameter. No additional semantic value from description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it performs a 'full palette quality audit' listing specific evaluation dimensions (accessibility, cultural risk, etc.) and distinguishes it from sibling tools like palette_compare or accessibility_check by emphasizing it's an enterprise quality gate for pre-shipping.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'use before shipping any palette', giving clear context. While it doesn't list when not to use or name specific alternatives, the sibling tools provide implicit differentiation, and the purpose is specific enough to avoid misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_compareCompare Two PalettesA
Read-only
Inspect

Deep perceptual, cultural, and commercial comparison between two palettes. Returns timelessness scores, commercial strength, cultural depth, emotional difference, and a winner verdict for the stated use case.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketsNoTarget markets
use_caseNoContext for comparison e.g. luxury packaging
palette_aYesFirst palette hex values
palette_bYesSecond palette hex values

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so description doesn't need to emphasize safety. It adds value by detailing the comparison scope (perceptual, cultural, commercial) and return types, which are not in annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler; purpose and returns are front-loaded. Every sentence is necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With output schema present, the description adequately covers input requirements and return types. Given tool complexity, it is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 4 parameters with descriptions (100% coverage), so baseline is 3. The description mentions 'use case' but does not add new semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs a 'deep perceptual, cultural, and commercial comparison between two palettes' and lists specific return values, distinguishing it from siblings like colour_compare or palette_verdict.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., colour_compare, palette_verdict). The description implies context via 'for the stated use case' but does not exclude other scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_conceptGenerate Heritage Palette from Cultural ConceptA
Read-only
Inspect

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', 'Scandinavian winter', 'West African kente', 'Renaissance Florence'. Every colour returned is sourced from the archive with documented history.

ParametersJSON Schema
NameRequiredDescriptionDefault
avoidNoColours, pigments or topics to exclude e.g. ['arsenic green']. Applied before selection.
conceptYesCultural theme or historical period e.g. 'Victorian mourning' or 'Ottoman court'
n_coloursNoNumber of colours to return (default 5, max 8)
include_neutralsNoInclude neutral/background colours

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and the description confirms no side effects by stating every colour is sourced from the archive with documented history. This adds context beyond annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is two sentences with embedded examples. Front-loaded with the key action and output. Examples are useful but slightly increase length; otherwise efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists and description outlines return fields (hex, proportions, provenance). Parameters are fully documented. Lacks mention of error handling for unrecognized concepts, but adequate for a read-only tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for all four parameters. The tool description does not add additional meaning or formatting details beyond the schema, so baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a historically grounded colour palette from a cultural concept, with specific examples like 'Victorian mourning' and 'Ottoman court'. This distinguishes it from sibling palette tools by focusing on cultural concepts rather than raw generation or auditing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Examples illustrate typical usage, but no explicit guidance on when to use this tool versus alternatives (e.g., 'palette_heritage' or 'palette_generate'). Missing when-not-to-use advice or criteria for choosing among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_exportExport Palette to Design FormatsA
Read-only
Inspect

Export a palette to CSS custom properties, Figma design tokens, Tailwind config, ASE hex list, or JSON. Each colour is automatically named from the archive. Embeds Colour Memory directly into design workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
namesNoOptional custom names
formatNocss | figma | ase_hex | tailwind | json
prefixNoToken prefix e.g. cm, brand (default: cm)
paletteYesHex values to export

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds context beyond the readOnlyHint annotation by mentioning automatic naming from the archive and embedding into workflows. It is consistent with the annotation and provides useful behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loads the purpose, and every word adds value. No unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and the simple nature of the tool (exporting to formats), the description is complete enough. It could mention that the output varies by format, but the output schema likely covers that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage for parameters, so the baseline is 3. The description adds minimal semantic value beyond the schema, only noting that colors are automatically named from the archive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Export' and the resource 'palette', and lists all supported formats (CSS, Figma, Tailwind, ASE, JSON). It distinguishes itself from sibling tools like palette_audit or palette_compare by focusing on export functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions embedding 'directly into design workflows' and auto-naming, giving users a sense of when to use it. However, it does not explicitly state when not to use it or compare it to alternatives like other palette tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_extractA
Read-only
Inspect

Extract dominant colours from an image using k-means++ clustering. Accepts a public image URL or base64-encoded image. Returns hex values with proportional weights sorted by luminance. Optionally runs palette_analyse on the results. Use this instead of image_palette when you need hex values with proportions for palette_analyse or palette_swatch.

ParametersJSON Schema
NameRequiredDescriptionDefault
kNoNumber of colours to extract (3-12, default 6)
analyseNoIf true, also run palette_analyse on the extracted colours and return archive names
archiveNoExplicit single archive name to restrict matching to e.g. 'MarsColour', 'Japan', 'Victorian'.
image_idNoEphemeral image_id from ingest_image (preferred for images over 50 KB)
image_urlNoPublic URL of the image to extract colours from
image_base64NoBase64-encoded image data (small images only, under 50 KB)
grey_card_hexNoHex value sampled from a grey or white card in the image for white balance correction e.g. #C8C8C8
style_contextNoPlain English style description that restricts archive matching to a coherent set e.g. 'English cottage garden', 'Victorian', 'Japanese', 'MarsColour', 'Arts and Crafts'. Prevents palette colours from being named across unrelated archives.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, consistent with the read operation. Description adds value by explaining the algorithm, return format (hex values with proportional weights sorted by luminance), and optional palette_analyse invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus a usage line, all front-loaded. Every sentence serves a purpose with no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters and existing output schema, the description covers the main function, input types, output format, and differentiation from siblings. It is sufficiently complete for the AI to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the description does not need to add much. It mentions clustering method but adds little beyond the schema for individual parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Extract dominant colours from an image using k-means++ clustering', specifying the verb, resource, and method. It also distinguishes from the sibling tool image_palette by indicating when to use this tool instead.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance: 'Use this instead of image_palette when you need hex values with proportions for palette_analyse or palette_swatch.' Provides context for when to use, but does not explicitly state when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_generateLock-and-Fill Palette from ArchiveA
Read-only
Inspect

Send a palette of up to 8 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 archive. Returns full citation — name, archive, primary source, colour notes — for every filled slot. Example: lock a client's existing wall colour and fill a 5-colour scheme from Oxfordshire.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNoTotal palette size 2-8 (default 5)
slotsYesList of palette slots. Each has index (0-7), optional hex, and locked flag.
archiveNoOptional: restrict fills to one archive e.g. 'Oxfordshire', 'Shakespeare', 'Japan'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, confirming no modification. The description adds valuable context: the algorithm uses CIEDE2000 interpolation from locked anchors, and returns full citations. It does not contradict annotations. No mention of rate limits or auth, but the read-only nature is clear. The description goes beyond annotations by explaining the matching process.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: four sentences that front-load the action. It explains the mechanism, optional filter, return value, and provides a concrete example. Every sentence adds value, no fluff. Well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and the presence of an output schema, the description is complete. It covers the input (slots, size, archive), the algorithm (CIEDE2000 interpolation), and the output (full citations). It also specifies constraints (max 8 slots) and gives an example. No gaps are apparent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds meaning by explaining how slots (locking vs empty) and archive filter are used in the generation process. It also notes the return value includes citations. This provides context beyond raw parameter types. However, it could be more explicit about the size parameter's effect.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: generating a palette by locking some slots with hex values and filling empty slots from an archive using CIEDE2000 matches. The title 'Lock-and-Fill Palette from Archive' and the explicit verb 'Send' make the action unambiguous. It distinguishes from siblings like palette_heritage or palette_strict by specifying the lock-and-fill mechanism with archive matching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly tells when to use the tool: when you have some fixed colors and want to fill remaining slots with archive matches. It provides an example and mentions optional archive filtering. However, it does not explicitly state when not to use it or compare with alternatives like palette_heritage or palette_strict, which could be similar.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_gradientArchive Gradient — Lab-Interpolated Colour JourneyA
Read-only
Inspect

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 interpolation) or chroma_preserved (LCh interpolation, short-arc hue, avoids desaturated midpoints). Returns stop array, CSS linear-gradient string, or SVG swatch bar. Use for design briefs, colour journey visualisations, and gradient systems.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNolinear: straight Lab lerp (may have neutral midpoint). chroma_preserved: LCh short-arc, saturation maintained.chroma_preserved
stepsNoTotal stops including anchors (default 7, max 20)
anchorsYes2-5 hex values (#RRGGBB) or exact archive colour names
archiveNoRestrict snapping to this archive name e.g. Victorian
output_formatNostops: array of colour objects. css: linear-gradient string. svg: swatch bar.stops
snap_to_archiveNoSnap each stop to nearest archive colour (default true)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. The description adds substantial behavioral details: interpolation specifics (Lab vs LCh), snapping to nearest archive colour via CIEDE2000, anchor stops kept true, output format options, and default settings. This exceeds what annotations alone provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (multiple short sentences) and front-loaded with the core purpose. Every sentence provides essential information without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (6 parameters, advanced interpolation), the description covers input semantics, algorithm choices, output formats, and use cases. The presence of an output schema likely details return values, so the description is sufficiently complete for an AI agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value beyond the schema by explaining the difference between linear and chroma_preserved paths in plain language, noting the count constraint on anchors (2-5), and clarifying the effect of snap_to_archive. This justifies a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a perceptually smooth gradient between 2-5 archive anchor colours using Lab interpolation. It specifies the interpolation methods and output formats, distinguishing it from sibling palette_* tools that focus on audits, comparisons, or generation of full palettes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides usage context: 'Use for design briefs, colour journey visualisations, and gradient systems.' It also explains when to choose linear vs chroma_preserved paths. However, it does not explicitly mention when to avoid this tool or name alternatives among siblings (e.g., palette_generate).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_heritageHeritage Palette EvolutionA
Read-only
Inspect

Given a legacy palette, generate an archive-grounded premium support system. For each existing colour: identifies its historical archive anchor, names it, and scores its provenance confidence. Detects palette gaps and fills them from the archive. Returns full palette with roles, confidence scores, CSS tokens, and production notes. Every addition has a named historical origin.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoTarget market
contextNoBrand context
paletteYesExisting hex values
brand_nameNoBrand name for CSS tokens
n_additionsNoArchive colours to add (default 3)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include readOnlyHint=true, and the description does not contradict this. It explains the analytical process (identify, name, score, detect gaps, fill) and output nature, adding behavioral context beyond the annotation. However, it could explicitly clarify that the tool does not modify any external state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (4 sentences), well-structured, and front-loaded with the main purpose. Every sentence provides essential information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, output schema present, annotations provided), the description is thorough. It covers the input, the processing logic, and the output structure. No major gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents parameters. The description adds value by explaining how parameters (e.g., palette as 'legacy palette', n_additions as 'archive colours to add') are used in the process, tying them to the algorithm.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: given a legacy palette, it generates an archive-grounded premium support system. It details the specific steps (identifying historical anchors, naming, scoring provenance, detecting gaps, filling from archive) and the output (full palette with roles, confidence scores, CSS tokens, production notes). This distinguishes it from sibling tools like palette_generate (which likely generates without heritage) or palette_audit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have a legacy palette and want to enrich it with archive provenance, but it does not explicitly state when to use this tool versus alternatives (e.g., palette_generate, palette_compare). No when-not-to-use guidance or comparison with siblings is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_iterateIterate and Refine a PaletteAInspect

Refine an existing palette using natural language feedback. Submit your current palette and feedback such as more melancholic, too corporate add warmth, or better for Gen Z luxury. Returns a refined palette with archive grounding and change rationale.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketsNoTarget markets
paletteYesCurrent hex palette to refine
feedbackYesNatural language refinement e.g. more melancholic
use_caseNoUse case context e.g. luxury homewares
directionNoAlias for feedback — natural language direction e.g. more dangerous, more historical, warmer
n_resultsNoNumber of variants to return (default 1)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false, and the description adds that the tool returns a refined palette with 'archive grounding and change rationale', providing behavioral context beyond the annotation. No contradiction. It does not detail side effects like whether the original palette is preserved, but the output-oriented description is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero wasted words. The first sentence states the core purpose, the second provides examples and output summary. It is highly efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 6 parameters and an output schema, the description covers the main workflow but omits clarification on the 'direction' alias for feedback and the purpose of 'markets'. It relies heavily on the schema for parameter details, which is acceptable but leaves some ambiguity for complex use cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description provides example values for the 'feedback' parameter, adding some meaning. However, it does not elaborate on other parameters like 'markets' or 'n_results' beyond the schema, nor does it clarify the relationship between 'feedback' and 'direction' parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool refines an existing palette using natural language feedback, with specific examples like 'more melancholic' or 'too corporate add warmth'. It uses the verb 'Refine' and distinguishes itself from sibling tools like palette_generate (creation) and palette_audit (analysis).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use the tool: to refine an existing palette with feedback. It provides example inputs. However, it does not explicitly state when not to use it or point to alternatives like palette_generate for new palettes, though sibling names imply these distinctions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_light_darkPalette Light and Dark Mode MapsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paletteYesArray of hex values
use_caseNoUse case context e.g. UI, dashboard, reportUI

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond the readOnlyHint annotation: it discloses that the tool analyzes LRV, assigns specific roles, checks body text contrast safety, and flags missing neutrals. This helps the agent understand the tool's internal process and output characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: a single sentence that immediately states the tool's primary function and lists key behaviors. Every clause adds necessary information, and there is no extraneous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, the description does not need to explain return values. It fully covers the input, processing steps, and notable outputs (role maps, contrast check, missing neutrals). For a tool with two parameters and clear annotations, this is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds value by explaining how the 'palette' array is used (analyzed for LRV and role assignment) and mentions 'use_case' context (UI, dashboard, report). This goes beyond the parameter descriptions in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs ('Generate', 'Analyses', 'assigns', 'checks', 'flags') and clearly states the resource ('light-mode and dark-mode role maps from a palette'). It distinguishes from sibling tools by detailing the exact outputs and analyses, such as 'LRV' and 'missing neutrals', which are unique to this tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for generating role maps but does not explicitly state when to use this tool versus alternatives like 'palette_audit' or 'accessibility_check'. No when-not-to-use or prerequisite conditions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_pdfGenerate Palette PDFA
Read-only
Inspect

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 Memory branding. Pass the entries array from query_hex or palette_from_concept directly. Use this to create client deliverables, specification sheets, and print assets.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoOptional title for the palette e.g. Ottoman imperial luxury
sourceNoOptional source label e.g. brand, conceptualarchive
entriesYesArray of colour entries from query_hex or palette_concept. Each needs name, hex, archive_source, colour_notes, primary_source, zone.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint: true, and the description states it 'Returns a downloadable PDF' – a read-only output. It adds behavioral context by listing the data included in the PDF (RAL nearest match, LRV, chroma, etc.), which goes beyond what annotations convey. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words: first sentence states the main action, second lists output components and input source. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool generating a complex PDF, the description covers what it does, what it produces, and what input to use. An output schema exists, so return values are documented. The description is complete enough for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds limited new meaning. It reiterates that entries come from query_hex or palette_concept, which is already in the schema description. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it generates a premium branded PDF specification sheet from a palette of archive entries. The verb 'Generate' and resource 'PDF specification sheet' are specific, and the description distinguishes it from sibling tools like palette_export or palette_generate by detailing the content of the PDF (full-bleed colour panels, archive names, etc.).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells the agent to 'Pass the entries array from query_hex or palette_from_concept directly,' providing clear context for when to use this tool. No exclusions or alternative recommendations are given, but the usage scenario is well-defined.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_specifySpecify Colour Palette for a RoomA
Read-only
Inspect

Generate a complete interior specification from 2-8 hex values. Returns surface assignments, 60-30-10 proportions, lighting behaviour, and archive colour names.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNoe.g. 'heritage', 'contemporary', 'minimal'
coloursYesList of 2-8 hex values
room_typeNoe.g. 'living', 'bedroom', 'kitchen', 'study'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, indicating no side effects. The description uses 'Generate' which could imply creation but is consistent with a read-only computation. No additional behavioral details beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently conveys input constraints, output details, and tool purpose. No redundant information, perfectly front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and the presence of an output schema (not shown but indicated), the description covers essential aspects: input limits, what is returned. Minor gap: does not explicitly mention it is read-only, but annotations cover that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for each parameter. The description adds value by specifying the allowed range (2-8 hex values) and summarizing the output, which goes beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it generates a complete interior specification from hex values, specifying input constraints (2-8 hex values) and output details (surface assignments, proportions, lighting, archive names). This distinguishes it from siblings like 'palette_generate' and 'interior_specify'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have 2-8 hex values and want a full interior spec, but provides no explicit when/not-to-use guidance or references to alternatives among many palette and interior siblings. Missing context for selecting this specific tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_strictStrict Archive-Filtered Palette from ConceptA
Read-only
Inspect

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 cross-archive drift when cultural specificity matters.

ParametersJSON Schema
NameRequiredDescriptionDefault
conceptYesCultural concept e.g. Japanese wabi-sabi
n_coloursNoNumber of colours (default 5)
min_relevanceNoMinimum relevance score 0-1 (default 0.3)
allowed_archivesNoArchive names to restrict results e.g. ['Japan', 'China']
include_neutralsNoInclude neutral tones (default true)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description doesn't need to restate safety. It adds behavioral context about what the tool does: filtering, relevance controls, and 'fixes cross-archive drift'. This is beyond what annotations provide. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences: first anchors the tool relative to a sibling, second gives direct usage instructions, third states the problem it solves. No wasted words, front-loaded with purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return format is covered. Description effectively covers purpose, key parameters, and use case. Could add a note about the other parameters (n_colours, include_neutrals) but they are documented in schema. For a tool with many siblings, differentiation is strong.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all parameters. The description adds usage-oriented meaning (e.g., why to use allowed_archives, what min_relevance does). This provides value beyond the schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it is a variant of palette_concept with added archive filtering and relevance controls. It names the sibling tool palette_concept and explicitly lists the key parameters for restriction. This is specific and distinguishes from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description provides explicit usage guidance: 'Use allowed_archives to restrict…' and 'Use min_relevance to filter…' and explains the problem it solves ('cross-archive drift when cultural specificity matters'). No explicit negatives but clear context for when to choose this over palette_concept.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_swatchA
Read-only
Inspect

Generate a clean, text-free PNG swatch image from hex colours. Returns a URL to the PNG. Use for Midjourney --sref style references or design mood boards. Supports photo-proportional weights from palette extraction, equal distribution, grid layout, a true smooth LCh-interpolated gradient (no hard colour edges, best for mood/atmosphere/colour-grade references rather than literal composition), and 13 fixed design ratios (6310, 7020, triptych, quad, filmstrip, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
hNoOutput height in pixels (default 630)
wNoOutput width in pixels (default 1200)
hexesYesComma-separated hex values e.g. #d4a829,#1a5c6e,#0a0a0b
layoutNophoto | equal | grid | gradient | filmstrip | 6310 | 7020 | 5030 | 8010 | 5050 | 6040 | triptych | quad | 55-25-20 | quint | 70-10-20 | 40-30-20-10 | 33-33-24-10. gradient is a true smooth perceptual blend with no hard edges, unlike every other layout here.
weightsNoComma-separated proportional weights from k-means extraction. Used only when layout=photo.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and description adds that it generates a text-free PNG and returns a URL, which is consistent. It also describes behavioral traits like photo-proportional weights and LCh-interpolated gradient, providing context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two clear sentences front-loaded with main purpose. Dense but not verbose; could be slightly more structured but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, description explains return type (URL to PNG). Covers key parameters, layout options, and usage context. Complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds significant meaning: clarifies that weights are for k-means extraction and only used with layout=photo, lists all 13 fixed design ratios, and explains that gradient is a true smooth perceptual blend.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'Generate' and resource 'PNG swatch image from hex colours', and distinguishes from sibling tools by mentioning Midjourney --sref and mood boards.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states use cases (Midjourney --sref, mood boards) and includes a note that gradient is best for mood/atmosphere, not literal composition. However, it does not mention when to use or avoid this tool over alternatives like palette_gradient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_translateTranslate Any Palette into a Named ArchiveA
Read-only
Inspect

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) and full provenance. Use to translate a client's paint colours into Shakespeare language, map a brand palette into historical Japanese pigments, or find the nearest Oxfordshire equivalents to a French scheme.

ParametersJSON Schema
NameRequiredDescriptionDefault
paletteYesList of hex values to translate e.g. ['#F5F0E8', '#8B6B3D']
max_delta_eNoMax acceptable CIEDE2000 distance — above this is flagged out-of-threshold (default 40)
target_archiveYesArchive to translate into e.g. 'Shakespeare', 'Japan', 'Oxfordshire'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses behavioral traits beyond the readOnlyHint annotation: it explains the CIEDE2000 matching algorithm, the delta-e relevance band (exact/close/approximate/loose), and full provenance. No contradiction with annotations (readOnlyHint: true is consistent with mapping/reading operation).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences. The first sentence immediately states the core action and method, and the second provides concrete use cases. No wasted words; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's parameters (palette, max_delta_e, target_archive) are fully described in the schema, and an output schema exists (not shown but mentioned), the description covers the essential behavioral context—the matching algorithm and relevance bands—making it complete for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds significant meaning by explaining the matching algorithm and the output relevance bands, which helps agents understand how parameters like max_delta_e affect results. This goes beyond the schema's functional descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Map' and resource 'any list of hex values into a target archive' using a specific method (CIEDE2000 nearest-neighbour matching). It distinguishes from sibling tools by focusing on translation across named archives, with concrete use cases like translating paint colours into 'Shakespeare language'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit examples of when to use the tool (translating paint colours into Shakespeare language, mapping brand palette to Japanese pigments, etc.), making the context clear. However, it does not mention when not to use it or explicitly name alternative tools (e.g., colour_namer for simple naming), which would improve guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

palette_verdictIs This Palette Working?A
Read-only
Inspect

Evaluate a palette of 2-8 hex values for a use case, market, and medium. Returns a verdict (strong / strong_with_adjustment / weak / avoid), a score 0-100, the role of each colour, the single biggest weakness, and a concrete suggestion for what to add to fix it. Each colour is matched to the nearest archive entry for cultural grounding. Examples: 'premium cushion collection UK ecommerce', 'hotel lobby interior', 'SaaS brand identity global digital'.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoOptional: target market e.g. 'UK', 'Japan', 'global'
mediumNoApplication medium e.g. 'interior', 'digital', 'fashion', 'print'general
paletteYesList of 2-8 hex values e.g. ['#31559B', '#E8D898', '#4A2A50']
use_caseYesWhat the palette will be used for e.g. 'luxury cushion collection', 'brand identity'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds behavioral detail beyond annotations: it reveals that the tool matches colors to archive entries for cultural grounding, returns a verdict and score, and provides the role of each color and suggestions. Annotations already indicate read-only, and the description confirms this without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two focused sentences plus examples. The purpose is stated upfront, every sentence adds value, and there is no redundant information. Very concise yet informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (palette evaluation with multiple outputs) and the existence of an output schema, the description sufficiently covers what the tool does, the required inputs, and the nature of the output. No critical gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds value by specifying constraints (2-8 hex values for palette) and providing concrete examples that clarify parameter usage (e.g., market options like 'UK', 'Japan'; medium like 'interior', 'digital'). This goes beyond the schema's property descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('Evaluate a palette'), the resource ('palette of 2-8 hex values'), and the context (use case, market, medium). It also lists specific outputs (verdict, score, role, weakness, suggestion), which helps differentiate it from sibling tools like palette_audit or palette_compare.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Examples ('premium cushion collection UK ecommerce', 'hotel lobby interior', 'SaaS brand identity global digital') imply usage scenarios, but there is no explicit guidance on when to use this tool versus alternatives (e.g., palette_audit, colour_verdict). The description does not state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_conceptualSearch Colours by Concept or CultureA
Read-only
Inspect

Ask a cultural, historical, or material colour question. Returns named archive colours with provenance and cultural context. Works for abstract queries like 'grief', 'Ottoman luxury', 'toxic Victorian pigments', or 'the sea at dusk'.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe colour concept or cultural question to search for
archiveNoOptional: restrict to a named archive e.g. 'Japan', 'Pigment', 'OttomanEmpire'
n_resultsNoNumber of results (default 5)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint: true, and the description confirms it is a query-only tool. It adds behavioral context about returning named archive colours with provenance and cultural context, beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences front-loaded with purpose, no extraneous content, efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has three parameters (one required), output schema present, and annotations provided. Description covers purpose, examples, and return type adequately, though could mention limits or error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all parameters. The description adds example queries but does not provide additional meaning beyond the schema's parameter explanations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it answers cultural, historical, or material color questions, with specific examples like 'grief' and 'Ottoman luxury'. It distinguishes from sibling tools like query_hex by emphasizing abstract conceptual queries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context with examples of when to use, but does not explicitly mention when not to use or suggest alternative tools like query_hex for hex-based searches.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_hexFind Named Colours by Hex CodeB
Read-only
Inspect

Find the closest named archive colours to a hex value using CIEDE2000 perceptual distance.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexYesHex value with or without # e.g. '#8B4513'
archiveNoOptional: restrict to a named archive
n_resultsNoNumber of results (default 5)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the use of CIEDE2000 perceptual distance, which goes beyond the readOnlyHint annotation. However, it does not explain how results are sorted, how invalid hex values are handled, or that multiple results are returned by default.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no redundant information. It is front-loaded with the key action and method, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the presence of an output schema, the description adequately explains the tool's purpose and method. It could mention that results are returned in order of perceptual distance, but the output schema likely covers the return structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all parameters are documented. The description adds the algorithmic context (CIEDE2000), but this is not essential for parameter usage. The description does not elaborate on the meaning or constraints of the parameters beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('find'), the target ('closest named archive colours to a hex value'), and the method ('CIEDE2000 perceptual distance'). It distinguishes itself from sibling colour tools by focusing on hex-based lookup, but does not explicitly differentiate from tools like 'colour_compare' or 'colour_match_paint'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. With 63 sibling tools, the agent would benefit from hints about when query_hex is appropriate compared to other colour-related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_briefForensic BriefA
Read-only
Inspect

The money endpoint. One call returns a complete forensic colour brief. Runs coverage gap analysis, pulls best archive colours, checks for anachronisms, scores claim roles (anchor/support/analogue/provocation/reject), auto-rejects stubs, generates editorial argument, act structure, pull quote, closing line, and image prompt via Claude. This replaces chaining coverage_gap + archive_report_brief + anachronism_guard + resonance_index + evidence_gap separately. Input: title, audience, themes, archives, period, tone. Output: complete deliverable package ready for PDF or editorial use. Tone options: forensic (default), editorial, clinical, narrative.

ParametersJSON Schema
NameRequiredDescriptionDefault
toneNoforensic | editorial | clinical | narrative
avoidNoThemes to suppress
titleNoBrief title e.g. 'The Colours of Pleasure'
themesYesResearch themes
archivesNoArchives to draw from
audienceNoTarget audience e.g. 'serious collector'
n_coloursNoNumber of colour cards (default 8)
period_endNoEnd year e.g. 1830
period_startNoStart year e.g. 1714
target_periodNoHistorical period e.g. 'Georgian England 1714-1830'
strict_sourcesNoOnly include entries with named primary sources
confidence_thresholdNoMin confidence 0-1 (default 0.6)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses detailed behavioral traits: it runs coverage gap analysis, checks anachronisms, scores claim roles, auto-rejects stubs, generates editorial argument, etc. It also notes it uses Claude for generation. Annotations indicate readOnlyHint=true, which is consistent with a read-only generative tool. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the key purpose, but includes a long list of sub-tasks that could be streamlined. It is not overly verbose, but slightly dense. Overall well-structured with a clear separation of input and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (12 parameters, multiple sub-tasks) and the existence of an output schema, the description is very complete. It explains all major functions, the output deliverable, and tone options. The sibling list provides context for when this tool might be preferred.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does not add additional meaning beyond the schema for individual parameters; it merely lists some inputs (title, audience, themes, etc.) which are already present. No extra parameter semantics are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns a complete forensic colour brief, enumerates all sub-tasks it performs, and distinguishes itself from siblings by naming the tools it replaces (coverage_gap, archive_report_brief, etc.). The title 'Forensic Brief' further reinforces the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage is for generating a consolidated brief instead of chaining several tools, but it does not provide explicit guidance on when to use this tool versus alternatives, nor does it state when not to use it. The context from sibling tools suggests it is for full brief generation, but no explicit usage rules are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

style_matchStyle Match — Does This Go With That?A
Read-only
Inspect

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 missing, and what to add. Every recommendation is backed by archive colour names and historical context — not generic colour theory, but documented cultural combinations. Also suggests one missing archive colour that would complete the look. Examples: 'I have a navy dress (#1C3A6E) and a tan bag (#C8A87A) — what shoes?' or 'Does this burgundy coat work with olive trousers?'

ParametersJSON Schema
NameRequiredDescriptionDefault
askNoOptional: specific question e.g. 'what bag colour works?' or 'do the shoes work?'
itemsYesList of outfit items with label and hex colour
occasionNoOptional: occasion context e.g. 'daytime', 'evening', 'office', 'casual', 'wedding guest'general

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. Description adds behavioral context by stating the tool returns a verdict and suggestions, consistent with read-only behavior. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is slightly long but well-structured with a clear opening, process explanation, and practical examples. Every sentence adds value; no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 parameters, output schema present), the description fully explains inputs, process (verdict on what works/clashes/missing), and output (recommendations with cultural context). Return values are not needed due to output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds meaning by clarifying that items are outfit components with labels/hex, and provides examples of how parameters are used (e.g., 'ask' for specific questions).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs ('receive a verdict', 'suggests') and resources (outfit items as hex values with labels), and clearly differentiates from siblings by emphasizing archive colour names and historical context rather than generic theory.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear examples of when to use (styling questions) and hints at alternatives via sibling context, but does not explicitly state when not to use or compare to specific siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ui_statesUI State Palette GeneratorA
Read-only
Inspect

Generate a complete WCAG-compliant UI state palette from a brand hex. Returns colours for: brand, hover, active, disabled, focus ring, success, warning, error, info, surface subtle, surface strong. All states computed for contrast against your background colour. Returns hex, contrast ratio, WCAG grade, and usage note for each state. Includes CSS custom properties ready to paste. Supports light and dark mode. Use before building any UI component system.

ParametersJSON Schema
NameRequiredDescriptionDefault
brand_hexYesBrand colour hex e.g. '#D4A829'
dark_modeNoGenerate for dark mode (default false)
background_hexNoBackground hex (default #FFFFFF)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true, and description confirms generation without mutation. It adds details about what is computed (contrast ratio, WCAG grade, CSS custom properties) and support for light/dark mode, going beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise with no wasted words. It front-loads the main purpose and uses a list for clarity. Every sentence contributes meaningful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description appropriately introduces return values. It covers all necessary context: input, output, modes, and usage timing. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so description adds value by explaining how parameters affect the output (e.g., 'All states computed for contrast against your background colour' for background_hex). It clarifies the role of each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool generates a WCAG-compliant UI state palette from a brand hex. It lists specific states and outputs, and the phrase 'Use before building any UI component system' distinguishes it from siblings like palette_generate or accessibility_check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description includes 'Use before building any UI component system,' which provides clear usage context. However, it does not explicitly state when not to use or mention alternative tools among the many siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources