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 65 of 65 tools scored. Lowest: 3.5/5.

Server CoherenceA
Disambiguation5/5

Each tool has a distinct purpose, even in large families like brand_* or palette_*. Descriptions clearly differentiate overlapping functionality, e.g., colour_story vs colour_timeline vs colour_hooks. No two tools are truly ambiguous.

Naming Consistency5/5

All tools follow a consistent snake_case pattern, predominantly verb_noun (e.g., accessibility_check, archive_search) or noun_verb (colour_card, colour_story). Minor exceptions like ui_states and index_resonance still fit the overall scheme.

Tool Count2/5

With 65 tools, the server is extremely heavy. The instructions suggest 3-15 as well-scoped, and this far exceeds even the 'too many' threshold. While the domain is broad, the count impairs quick navigation and adoption.

Completeness5/5

The tool set covers every imaginable colour workflow: accessibility, branding, ecommerce, interior design, archive research, cultural analysis, personal styling, and more. Gaps are minimal; even a tool to check for missing evidence exists.

Available Tools

66 tools
accessibility_checkCheck WCAG AccessibilityA
Read-only
Inspect

Return WCAG 2.1 contrast ratios and AA/AAA pass/fail grades for a foreground hex against a background.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
errorNo
resultNo
Behavior4/5

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

Annotations already indicate readOnlyHint=true, and the description adds that the tool returns contrast ratios and pass/fail grades. It does not contradict annotations and provides useful behavioral context beyond the read-only status.

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. It front-loads the key verb and resource, with no extraneous information or 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?

Given the existence of an output schema and annotations, the description sufficiently explains what the tool does and returns. It is complete enough for an agent to understand the tool's role, though it omits details like the default background value (covered by 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?

Schema coverage is 100%, so the description adds limited value beyond the schema. It mentions 'foreground hex' and 'background' which map to parameters, but no additional syntax or format details 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 states the tool returns WCAG 2.1 contrast ratios and AA/AAA pass/fail grades for a foreground hex against a background. It specifies the exact resource and action, and the purpose is distinct from siblings like accessibility_font 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 Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus other accessibility tools. The context is implied for contrast checking, but no alternatives or exclusions are mentioned among many sibling tools.

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
okNo
errorNo
resultNo
Behavior3/5

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

Annotations already declare readOnlyHint=true, so no destructive behavior. The description adds that it returns ranked results with grades and recommendations, but does not disclose additional traits like input validation or performance. With annotations covering safety, a score of 3 is appropriate.

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, well-structured sentence that front-loads the key information. Every part is necessary and no redundant words. Highly concise.

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 simple tool with two parameters and an output schema (present), the description covers the core functionality completely: input conditions, ranking by contrast, WCAG grades, and specific recommendations. 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 both parameters ('background', 'palette') are already described. The description reiterates the schema but adds no new semantic value beyond what the schema provides. 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?

Description clearly states the tool ranks candidate foreground colors by contrast ratio with WCAG grades and provides recommendations for body text, large text, and UI components. It is specific and distinguishes itself from sibling tools like 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 Guidelines3/5

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

The description implies usage when needing WCAG-ranked foreground colors, but does not explicitly state when not to use it or mention alternatives among the many sibling tools. Guidance is implied rather than explicit.

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
okNo
errorNo
resultNo
Behavior5/5

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

Describes the return value (contrast ratios, AA/AAA grades, summary) and aligns with readOnlyHint, adding detail 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?

Two efficient sentences: first explains core function, second provides usage guidance; 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 complete schema coverage, output schema, and readOnly annotation, the description fully covers input, output, and usage context.

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; description repeats the hex array format with an example but adds negligible semantic value 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?

Explicitly states it accepts a palette and returns contrast combinations with grades, distinguishing from sibling 'accessibility_check' by recommending this tool for bulk evaluation.

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?

Directly advises to use this instead of calling accessibility_check multiple times for a palette, providing clear context without explicit exclusion of other cases.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations already mark readOnlyHint true, and the description adds deterministic behavior and no LLM cost, which is valuable for cost and consistency expectations. 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 concise sentences: first captures purpose and outputs, second adds deterministic and cost properties. Every sentence adds value with zero 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 takes one parameter and outputs structured rules, the description covers all necessary behavioral information. The existence of an output schema complements the description, making it 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% and the parameter is well-described in the schema as 'Array of hex values'. The description adds no further semantics beyond referring to 'palette', which is already implied.

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 converts a palette WCAG matrix into actionable design-system rules, listing specific outputs like safe pairs and component usage rules. This distinctively separates it from siblings like accessibility_matrix and 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?

The description implies usage when a palette is available and design-system rules are needed. While it doesn't explicitly name alternatives, the context is clear and the list of outputs guides appropriate use.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description builds on this by naming the specific simulation model (Brettel-Vienot-Mollon), which adds behavioral context beyond the safety guarantee. It does not disclose potential limitations or edge cases, but the model specification is a meaningful addition.

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 ('Return simulated hex values') and concisely specifies the three color blindness types and the model used. 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?

Given the tool's simplicity (one parameter, output schema present), the description adequately covers the core functionality. It could mention input validation (e.g., valid hex format) or output structure, but the output schema likely handles that. Minor gap: no mention of whether the simulation is perceptual or linear.

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 the parameter 'hex_val' already documented as 'Hex value e.g. '#BE0032''. The description simply reiterates 'hex values' without adding extra meaning, format constraints, or validation rules 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 states it returns simulated hex values for three specific color blindness types (protanopia, deuteranopia, tritanopia) using the Brettel-Vienot-Mollon model. This uniquely defines the tool's purpose and distinguishes it from sibling tools like accessibility_check, which likely deals with contrast checking.

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 does not explicitly state when to use this tool versus alternatives like accessibility_matrix or accessibility_rules. There is no mention of when not to use it or any comparison to siblings.

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
okNo
errorNo
resultNo
Behavior3/5

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

Annotations indicate readOnlyHint=true, and the description aligns by describing a read operation (fetching archive palette) and generating outputs without persistent changes. The description adds behavioral detail about what is fetched and produced, 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.

Conciseness4/5

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

The description is a single well-structured paragraph with front-loaded purpose and an example. It is concise without omitting key details, though a slightly more structured format could improve readability.

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 with 100% schema coverage and an existing output schema, the description provides a complete overview: workflow, outputs, supported models, and an example. It addresses the tool's role in the broader system context.

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 minimal extra meaning beyond schema descriptions, which are already detailed. The example briefly demonstrates task, concept, and model 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's purpose: generating a complete colour direction package for another AI agent or image generation model. It lists outputs and supported models, distinguishing it from sibling tools focused on analysis, audits, or branding.

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 example usage and states 'Use this to make Colour Memory the colour layer for other AI systems,' giving clear context. However, it lacks explicit guidance on when not to use this tool versus alternatives like palette_generate.

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
okNo
errorNo
resultNo
Behavior4/5

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

The description discloses what the tool returns (fidelity score, dE2000 distance, match quality per colour, overall verdict), adding value beyond the readOnlyHint annotation. It does not contradict the annotation. No additional behavioral traits (e.g., rate limits) are mentioned, but the read-only nature is clear.

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, efficiently conveying purpose, usage context, and output. It is front-loaded with the main action and provides necessary details 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 presence of an output schema, the description does not need to detail return values. It covers the workflow (after agent_brief + image generation), prerequisites (target palette from agent_brief), and the verification outcome. It is complete for the tool's role.

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%. The description adds workflow context by explaining that the image URL or base64 and target palette from agent_brief are needed. This goes beyond the schema descriptions, linking parameters to the overall process.

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: verifying that AI-generated images used specified colours from an agent_brief call. It uses a specific verb ('Verify') and identifies the resource ('AI Image Generation Colour Fidelity'). The context of 'agent_brief' distinguishes it from sibling colour 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 explicitly advises when to use the tool: 'Use after agent_brief + image generation to close the colour loop.' This provides clear usage context. However, it does not mention when not to use it or list alternatives, though the sibling list includes many colour tools.

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

archive_auditArchive Data Quality AuditA
Read-only
Inspect

Run a data quality audit on any named archive. Returns entry count, health score 0-100, grade A-D, and issue counts for: empty colour_notes, empty primary_source, weak notes, duplicate names, duplicate hex values, and malformed hex codes. Also returns the first 20 affected colour names per issue type and a prioritised fix list. No Claude call — pure archive data analysis. Use before building new archive content to establish a baseline, or after a batch import to verify data quality.

ParametersJSON Schema
NameRequiredDescriptionDefault
archiveYesArchive name to audit e.g. 'British', 'Tingry', 'Byzantine'

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
errorNo
resultNo
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description reinforces this with 'No Claude call — pure archive data analysis.' It also details the outputs (health score, grade, issue counts, fix list), adding behavioral transparency 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-loaded with the core purpose and outputs, followed by usage guidance and a note on no external calls. 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.

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 still covers key outputs and use cases. It addresses potential confusion by stating 'No Claude call,' and provides sufficient context for an agent to select this tool among many siblings.

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 the 'archive' parameter described as 'Archive name to audit e.g. 'British', 'Tingry', 'Byzantine'.' The description repeats 'any named archive' but adds no new semantic information 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 specifies the verb 'Run a data quality audit' and the resource 'any named archive'. It distinguishes from sibling tools like archive_search and archive_status by detailing the specific outputs (health score, grade, issue counts) that are unique to this audit function.

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 provides two concrete use cases: 'Use before building new archive content to establish a baseline, or after a batch import to verify data quality.' It does not contrast with alternatives but gives clear context for when it is appropriate.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations declare readOnlyHint=true, and the description describes a read-only operation: it finds an archive colour and generates content. The description does not contradict annotations. It adds detail about the generation process (archive finds contradiction, Claude writes content), providing 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 concise: four sentences plus an example. It is front-loaded with the main action, and every sentence adds value. The example effectively illustrates usage 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?

The description explains the outputs (one-liner, short story, tweet) and mentions the archive search. Since an output schema exists, the description does not need to detail the exact return structure. The tool is well-contextualized for its creative purpose, though it might mention if it can handle multiple concepts or expected colours for batch use.

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?

All three parameters are described in the schema with 100% coverage. The description adds context by explaining the role of 'concept' and 'expected_colour' in the subversion process, and provides an example that illustrates how they are used. This enhances understanding 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?

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 inputs (concept, optional expected colour) and outputs (one-liner, short story, tweet), distinguishing it from sibling tools like archive_search which are for different tasks.

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 use ('love', 'grief', etc.) and states the intended application: 'Use this for public-facing demos, content, and brand storytelling.' It does not explicitly mention when not to use it, but the context is clear. It offers a concrete example, which helps guide the agent.

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
okNo
errorNo
resultNo
Behavior5/5

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

Annotations declare readOnlyHint=true, and the description reinforces this by describing the tool as reporting and returning a matrix, not modifying anything. It adds behavioral context: returns coverage grades, best match, and needed source types.

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 well-structured sentences that front-load purpose and usage. Every sentence adds necessary information; 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 annotated readOnlyHint, full schema coverage, and output schema, the description is complete. It explains the tool's role in the workflow and what it returns, leaving no ambiguity.

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 has 100% description coverage with clear descriptions. Description adds value with concrete examples for both parameters (e.g., 'opium', 'gin', 'EIC', 'Dickens'), enhancing 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 tool's purpose: given themes, report which are well-evidenced or under-evidenced. It uses specific verbs ('report', 'returns') and resource ('coverage matrix'), distinguishing it from siblings like archive_evidence_gap and archive_report_brief.

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 usage guidance: 'Use this BEFORE building an archive_report_brief or brief_forensic' and 'Prevents building beautiful reports that quietly ignore half the brief.' Clearly indicates when and why to use this tool over 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
okNo
errorNo
resultNo
Behavior5/5

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

The description fully discloses behavior beyond annotations: it details the detection logic, output fields (anachronism_risk, period_relevance, safe/unsafe phrasing), and provides a rationale. Annotations already indicate read-only, and the description aligns and adds significant context.

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-loaded with the primary action. Every sentence adds value: the first defines the core function, the second provides detailed output and a motivating example. 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?

Despite no formal output schema, the description enumerates all output fields (risk levels, score, phrasing variants). Combined with clear input parameters and a real-world example, the tool is fully specified for an AI agent to select and 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% with descriptions for all parameters and entry fields. The description adds meaning by explaining how these parameters are used (checking entries against period boundaries and target_period) and what the outputs represent, 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 checks anachronism risk for colour entries, with specific actions (detecting date mismatches and known modern sources) and outputs (risk levels, period_relevance score, safe/unsafe phrasing). The example reinforces its purpose, distinguishing 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?

It explicitly says 'Essential for historical documents' and provides a concrete scenario, indicating when to use. It does not list alternatives or when not to use, but the context is sufficiently clear given the tool's unique function among siblings.

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
okNo
errorNo
resultNo
Behavior3/5

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

Annotations already mark the tool as readOnlyHint=true. The description adds that it returns support levels and safe wording, but does not elaborate on other behavioral aspects like rate limits or error handling. The description is consistent 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 a single paragraph that efficiently conveys the tool's purpose, role, and example. It is front-loaded with the core function, though a more structured format could improve readability.

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 an output schema present and moderate complexity, the description covers core inputs, output types, and use cases. It lacks discussion of edge cases or error conditions but is sufficient for standard usage.

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 schema already documents each parameter. The description adds an example that illustrates usage but does not provide new semantic insights beyond what is 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 clearly states that the tool takes a hex value and a proposed claim, and returns archive support, missing elements, needed source type, and safe wording. It positions itself as an anti-hallucination endpoint, distinguishing it from sibling tools like archive_search or archive_cliche.

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 when to use it—to verify claims against an archive—and provides an example. However, it does not explicitly mention when not to use it or list alternative tools, though the sibling context implies its specialized role.

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

Explain the provenance of any named archive colour with explicit separation of: documented historical fact, computational hex derivation, and cultural interpretation. Returns: claim, evidence type, source specificity, confidence, what is documented, what is inferred, what is interpretive, hex status, and citation format. This is the trust endpoint. It answers 'how do you know this?' Essential for any use case requiring intellectual honesty about colour data provenance.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
errorNo
resultNo
Behavior5/5

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

The description aligns with readOnlyHint (true) and provides rich behavioral context: it separates documented fact from inference, returns specific evidence details, and positions itself as a trust endpoint. 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?

Three well-structured sentences: purpose, return fields, and strategic value. Every sentence adds essential information with 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 simple parameter set and presence of output schema, the description fully covers what the tool does, why it matters, and what it returns. 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 baseline is 3. The description provides examples of colour names but adds no new semantic meaning beyond the schema for the single 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 tool explains provenance of named archive colours with explicit separation of fact, derivation, and interpretation. It is distinct from sibling colour tools which focus on other aspects like story, harmonies, or 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 identifies this as the trust endpoint for provenance queries and states it is essential for intellectual honesty. It implies when to use it but does not explicitly contrast with siblings or 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.

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
okNo
errorNo
resultNo
Behavior5/5

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

The description provides extensive behavioral details: 'Two Claude calls total,' and a full breakdown of output components (ranked colour cards, provenance, story order, source confidence flags, etc.). The annotations have readOnlyHint=true; the description describes a read-oriented research operation, consistent with readOnly. No contradiction. The description adds significant 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?

The description is three sentences, each efficiently adding essential information: purpose and scope, input/output summary, replacement info, and usage directive. It front-loads the core value proposition. No unnecessary 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 complexity (7 params, rich inputs/outputs), the description covers purpose, inputs, outputs, replacement for chaining, and usage order. An output schema exists, so the description appropriately does not reiterate return structure. It is complete 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 description coverage is 100%, so the schema already documents all 7 parameters with descriptions. The tool description adds some context (e.g., 'themes' are 'Research themes'), but it largely repeats or slightly extends schema content. Per guidelines, with high coverage (>80%), baseline is 3, and the description does not provide significant additional meaning 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 begins with 'One-call complete archive research package for a document, PDF, or editorial brief,' clearly stating the action and resource. It lists specific inputs and outputs. It explicitly distinguishes from sibling tools by noting it replaces chaining 'archive_search + get_colour_card + cliche_breaker + agent_brief separately.' This is a specific verb+resource that differentiates 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?

The description includes 'Use this first for any document workflow,' giving clear when-to-use guidance. It also states what it replaces, implying alternatives. However, it does not explicitly state when not to use this tool or mention specific exclusions. Still, the context is clear and helpful.

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

archive_statusArchive and API StatusA
Read-only
Inspect

Return live archive status: total colour count, per-archive breakdown, embedding model, search engine state, and API version.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
errorNo
resultNo
Behavior2/5

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

Annotation already declares readOnlyHint=true, so description adds limited value. Does not mention any additional behavioral traits like latency, authentication, or side effects.

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 with no wasted words, front-loads the verb and resource, efficiently conveys the output contents.

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 returns a status object, the description enumerates key fields, which is sufficient. Output schema exists, so further detail is 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?

No parameters exist, and schema coverage is 100% given empty schema. Description appropriately lists what the tool returns, so baseline 4 is justified.

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 specifies the verb 'Return' and the resource 'archive status', listing specific data items (color count, breakdown, model, etc.), which distinguishes it from sibling tools like archive_search.

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. Lacks context about when-not-to-use or prerequisites for calling the tool.

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
okNo
errorNo
resultNo
Behavior4/5

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

The description states 'Deterministic. No LLM cost,' which adds meaningful behavioral context beyond the readOnlyHint annotation, confirming safe, cost-free reuse. 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?

Three sentences, each dense with information: purpose, output list, behavioral traits. No wasted words, front-loaded with the key action 'Returns'.

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 existence of an output schema, the description sufficiently covers the tool's purpose and outputs. It could optionally note the required palette parameter, but overall it is complete for an agent to understand what this tool delivers.

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 schema already documents each parameter. The description adds high-level context for the output but does not enhance parameter meaning significantly; 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 uses a specific verb 'Returns' and lists concrete resources (CSS variables, Tailwind config, Figma tokens, etc.), clearly distinguishing it from sibling tools like brand_audit or brand_report that focus on analysis rather than generation.

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 phrase 'Everything a brand team needs to ship' implies a comprehensive use case, but there is no explicit guidance on when to prefer this tool over siblings, nor any exclusions or alternatives mentioned.

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
okNo
errorNo
resultNo
Behavior5/5

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

Discloses that all data is computed with 'no LLM cost', adding context beyond readOnlyHint annotation. 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?

Well-structured and front-loaded with purpose. Slightly verbose with detail on outputs but every sentence is 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 output schema exists, description adequately covers return values. All 5 parameters are explained or mentioned. No gaps for a tool of this complexity.

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 value by listing parameters and providing context (e.g., 'digital | print | both' for medium). High baseline but description still helpful.

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' and lists the comprehensive outputs. It distinguishes itself by replacing chaining of multiple separate tools, making the 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 states when to use this tool ('Replaces chaining...') and provides guidance on next steps ('Pass results to an LLM for written narrative'). No ambiguity about alternatives.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations already declare readOnlyHint=true. The description adds behavioral details: returns CIEDE2000 distance, distinctiveness score, ownership verdict, and strategic recommendation. It discloses that it is a read-only analysis, consistent 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 well-structured sentences: first a purpose-question, second a bullet-like listing of inputs/outputs and usage. Every word earns its place; 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?

Given the tool's complexity (6 parameters, output schema present, read-only annotation), the description covers purpose, usage, and key outputs. It does not detail calculation methodology, but that is acceptable for an agent's decision to invoke.

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 all parameters have descriptions in the schema. The description reiterates the input list but does not add new 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 opens with a clear question ('Can this brand own this colour...') that defines the tool's purpose. It lists specific inputs and outputs. It distinguishes from similar tools like colour_compare by stating it replaces manual colour distance checks and competitor palette 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?

Explicitly states 'Use before committing to a brand colour in a competitive market.' This gives clear when-to-use context. It does not provide explicit when-not-to-use or compare with sibling tools, 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.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations already declare readOnlyHint=true. The description adds valuable behavioral context: the tool runs entirely internally with no chained calls and cannot be blocked by agent safety filters. However, the mention of 'Two Claude calls total' introduces minor ambiguity about internal execution.

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 key purpose. It uses a single paragraph that efficiently conveys inputs, outputs, and alternatives. Slight improvement could be made with bullet points for 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 (7 parameters, nested objects, output schema), the description covers purpose, inputs, outputs, usage context, and behavioral constraints. The output schema exists, so return values need not be detailed. The description fully contextualizes the tool within its sibling group.

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 lists input parameters but does not add meaning beyond what the schema already provides for 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?

The description clearly states the tool's purpose as a one-call complete brand colour intelligence report. It lists inputs and outputs and explicitly distinguishes itself from sibling tools by recommending using this tool instead of chaining colour_strategy, cliche_breaker, ecommerce_product_copy, memory_hooks, and 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 Guidelines5/5

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

The description provides explicit guidance on when to use this tool: as a consolidated alternative to chaining multiple related tools. It also lists required inputs, making it clear what the agent needs to provide.

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
okNo
errorNo
resultNo
Behavior5/5

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

Beyond annotations (readOnlyHint=true), the description explicitly states 'Deterministic. No LLM cost.' This provides valuable behavioral context not captured in structured fields, ensuring the agent knows the tool is deterministic and free of LLM usage.

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: one sentence summarizing purpose, followed by a list of outputs, and then behavioral traits. Front-loaded with the key value proposition. Every sentence earns its place with 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 has 5 parameters (1 required) and an output schema, the description fully covers what the tool does, its behavioral properties, and its output. The output schema likely structures return values, so the description need not repeat them. Complete for an AI agent.

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 does not add meaningful detail about parameters beyond what the schema provides (e.g., no explanation of how 'market' or 'medium' affect output). No additional semantic value.

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 provides a complete brand colour system in one call, listing specific outputs (colour roles, light/dark maps, typography, usage rules, design tokens, citation cards). It clearly distinguishes from siblings like colour_card or palette_* by emphasizing comprehensiveness.

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 this is a one-stop shop for brand colour systems, but does not explicitly state when to use alternatives. Siblings like colour_card or palette_* suggest narrower use cases, but the description lacks explicit 'when not to use' or alternative recommendations.

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
okNo
errorNo
resultNo
Behavior3/5

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

Annotations already mark readOnlyHint=true. Description adds context about what data is returned, which is consistent. However, no additional behavioral traits (e.g., performance, pagination, or limitations) are disclosed 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.

Conciseness5/5

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

One sentence, 15 words, no filler. Information is front-loaded. Every word 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 presence of output schema (not shown but indicated), annotations, and full schema coverage, the description is complete. It clearly states purpose and return data, and no critical details are missing.

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 schema already documents both parameters. The description adds examples but no extra semantic value. With full schema coverage, 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 looks up a named colour and returns specific data (hex, archive, provenance, cultural notes). The title also clarifies it's by name. However, it does not explicitly distinguish this from sibling colour tools like colour_combination 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 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. No mention of when not to use it or prerequisites. The agent is left to infer usage from purpose alone.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations already declare readOnlyHint=true. The description adds behavioral context by listing return fields and the condition on number of colours. No contradiction, and the description complements annotations well.

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 front-loaded with the action verb 'Assess', followed by specific outputs and context. No redundant 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 low parameter count (2), full schema coverage, and presence of output schema, the description adequately covers all necessary context. It specifies constraints (2-5 colours, context) and expected returns.

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 (harmony, clash, etc.) and the contextual usage, going beyond mere parameter listing.

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 2-5 colours for a specific context and lists concrete outputs (harmony type, clash warnings, contrast summary, deployment rules). It distinguishes from sibling tools by specifying the combination assessment and output types.

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 use when assessing colour combinations for a context but does not explicitly guide when to use this tool over siblings like colour_harmonies or palette_verdict. No exclusion criteria 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.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations already provide readOnlyHint=true. Description adds that it returns quantified differences and cultural context, which is consistent. No additional side effects or constraints mentioned, but sufficient given the non-destructive 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?

Description is concise (3 sentences) and well-structured. Front-loaded with main function, followed by use case and exclusion. No redundant 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 only 2 simple parameters, 100% schema coverage, and an output schema (not shown but existence noted), the description is complete enough. It covers purpose, usage, and output nature without needing more detail.

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 and example values for both hex parameters. Description does not add further meaning beyond the schema context, so baseline score 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?

Description clearly states the tool compares two hex values, returning quantified differences (LRV, chroma, hue angle, warmth, CIEDE2000) and cultural context. It specifies that it is a decision/reasoning tool, not a harmony tool, distinguishing it from siblings like 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 Guidelines5/5

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

Explicitly describes when to use: when choosing between two colours or explaining why one works better. Also explicitly excludes harmony use cases with 'Not a harmony tool — this is a decision and reasoning tool.'

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

Score a hex value or palette for cultural sensitivity, symbolic weight, regional taboos, religious associations, and potential misinterpretation across global markets. Returns warnings, positive associations, and context-dependent readings per colour family, with specific market flags. Use before deploying a colour in a global brand, product, or campaign context. Based on documented cultural colour associations, not generalisation.

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
okNo
errorNo
resultNo
Behavior4/5

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

The annotation declares readOnlyHint=true, and the description confirms it returns warnings, positive associations, and market flags—matching the read-only behavior. It adds context about the output format without contradicting 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?

Three sentences cover purpose, usage, and data source without redundancy. Front-loaded with the core action and quickly specifies input types.

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 straightforward inputs (3 optional params), the description sufficiently explains what the tool does, when to use it, and what it returns. No gaps for the complexity level.

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 (hex, markets, palette) have descriptions in the schema, achieving 100% coverage. The description adds minimal additional insight beyond schema, e.g., mentioning 'specific market flags'. 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 it assesses cultural sensitivity for hex values or palettes, with a specific goal of global brand deployment. It distinguishes from siblings like colour_verdict or palette_verdict by focusing on cultural risk rather than general colour assessment or generation.

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 advises use before global brand deployment, providing clear context. It does not name alternatives or exclusions, but the purpose is distinct enough among siblings to imply when to use.

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 any hex colour. Returns depth (very_dark to very_light), temperature (warm/cool), chroma band (neutral/muted/moderate/saturated), LRV, hue angle, zone, commercial signal, risk summary, best mediums, and avoid mediums. Backed by nearest archive match with delta-e and notes excerpt. No Claude call -- pure archive and physics data. Fast and cacheable. Use when an agent needs to reason about a colour semantically without reading long prose. Ideal for filtering, ranking, or comparing colours.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
errorNo
resultNo
Behavior5/5

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

The description discloses important behavioral traits beyond the readOnlyHint annotation: 'No Claude call -- pure archive and physics data. Fast and cacheable.' This informs the agent that the tool is lightweight, deterministic, and safe (no external calls), which is valuable for decision-making.

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: it opens with the core purpose, lists key output fields, then provides technical context and usage guidance. Every sentence adds value, and there is no unnecessary 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?

For a tool with a single required parameter and no nested objects, the description is complete. It explains what the tool does, what inputs it takes, what outputs it produces, and when to use it. The presence of an output schema (mentioned in context) further supports completeness.

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 covers the single parameter 'hex' completely with a description and example. The description does not add additional meaning beyond what the schema provides, but it does list the output fields, which indirectly contextualizes the parameter. Given 100% schema coverage, the baseline score 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's purpose as a 'Compact semantic fingerprint for any hex colour' and lists the specific attributes returned (depth, temperature, chroma band, etc.). It distinguishes itself from sibling tools by emphasizing 'No Claude call -- pure archive and physics data' and being fast and cacheable, which is unique among the many colour-related 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 provides explicit guidance on when to use the tool: 'Use when an agent needs to reason about a colour semantically without reading long prose. Ideal for filtering, ranking, or comparing colours.' It does not explicitly mention when not to use it or list alternatives, but the context is clear and helpful for an AI agent.

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
okNo
errorNo
resultNo
Behavior5/5

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

Description details return fields (verdict, risks, actions, light behaviour, substrate notes, alternative) and confirms read-only operation, consistent with readOnlyHint annotation. 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 a single paragraph that front-loads the purpose. It is concise but could be structured more cleanly (e.g., bullet points for output items) 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 5 parameters and an output schema (not shown but described), the description fully covers input context, output structure, and backing methodologies (CIEDE2000, Claude knowledge). 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% with parameter descriptions. The description adds value through examples but does not provide additional parameter-level meaning beyond what the schema already offers.

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 assesses hex colour safety for physical applications, with a specific verb and resource. It distinguishes from siblings like colour_compare or colour_verdict by focusing on physical substrate safety.

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 use contexts via examples (ultramarine on lime plaster, etc.), helping the agent understand when to invoke. However, it does not explicitly mention when not to use or name alternative tools.

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
okNo
errorNo
resultNo
Behavior3/5

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

The annotations already provide readOnlyHint=true, and the description confirms a read operation ('Return'). However, it does not disclose additional behavioral traits such as what happens if the hex does not match an archive colour or any performance implications. The description adds only the 'named archive colours' context, which is valuable but limited.

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 is front-loaded and every word serves a purpose. It is highly concise with no redundant information.

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?

Given that an output schema exists and annotations are present, the description is minimally adequate. However, it does not clarify how 'named archive colours' relate to the hex input or what constitutes a match, leaving a gap for complex scenarios.

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 both parameters (hex and harmony_types). The description does not add significant meaning beyond the schema, only noting that harmonies are 'matched to named archive colours', which slightly enriches the context but does not deeply explain parameter usage.

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 'Return' and clearly lists the resources (complementary, triadic, analogous, split-complementary harmonies) and target ('named archive colours'), effectively distinguishing it from sibling tools like colour_combination 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 Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. It only implies use through the tool name and mention of 'archive colours' but lacks clear context for selection.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations indicate readOnlyHint=true. The description adds behavioral context: it is backed by archive colour provenance and tunable by audience and tone. No destructive behavior is hinted. This goes beyond the annotation, providing useful trait information.

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 pack a wealth of information: outputs, backing data, tunability, and use cases. Every word is purposeful, front-loaded with the core action. 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?

Given the output schema exists (not shown but referenced), the description adequately covers what the tool produces and how it can be tuned. It is complete for an agent to understand the tool's role and when to use it, though it could mention the return format or output schema briefly.

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?

All three parameters are fully described in the schema (100% coverage). The description reinforces the role of hex, tone, and audience by emphasizing tunability. While not adding new syntax details, it provides context that enhances understanding of parameter usage.

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 hook sentence, story, tweet, image prompt, and follow-up questions for a hex colour. This specific verb+resource combination, along with the mention of cultural provenance and tunability, distinguishes it from colour-related siblings like colour_story or colour_namer.

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 use cases: 'make archive colours shareable, to generate content, or to power a public-facing colour chat experience.' It does not specify when not to use or contrast with alternatives, but the given context is sufficient for an agent to decide 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.

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
okNo
errorNo
resultNo
Behavior3/5

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

Annotations include readOnlyHint=true, confirming safe read operation. The description adds no extra behavioral context beyond 'find', which is consistent. No additional traits disclosed.

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, 14 words, clear and front-loaded. No superfluous 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?

With output schema present and 3 well-documented parameters, the description provides sufficient context for this simple lookup tool. Could mention return format, but output schema likely covers it.

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 mentions brands in text, but the parameter description already does that. No additional meaning 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?

Clearly states the tool finds the nearest named colour in commercial paint systems, specifically naming Farrow and Ball and Little Greene. This distinguishes it from sibling colour tools like colour_compare or colour_namer.

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 when a hex value needs to be matched to a named colour from specified brands. However, it does not explicitly state when not to use it or mention alternative sibling tools.

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

Return perceptual colour metrics: LRV, chroma, hue angle, warmth classification, and illuminant shifts under D65 (6500K), F11 (4000K), and Illuminant A (3000K).

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
errorNo
resultNo
Behavior3/5

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

Annotations already set readOnlyHint=true, so the description's mention of 'Return' aligns. It adds value by listing specific metrics and illuminant conditions, but does not disclose other behavioral traits like rate limits or output size. With annotations covering safety, a score of 3 is appropriate.

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, no unnecessary words, front-loaded with the action and key details. Every word earns its place.

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?

For a simple, one-parameter tool with output schema, the description covers the essential metrics and illuminants. However, it omits any usage context or prerequisites; a slightly richer context would push it to 5.

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 description for hex_val. The description adds context about the computed metrics but does not add meaning beyond the schema for the parameter itself. Baseline 3 is correct.

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 explicitly states the tool returns perceptual colour metrics (LRV, chroma, hue angle, warmth, illuminant shifts) from a hex value, clearly differentiating it from sibling tools like colour_compare or colour_dna 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 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 vs alternatives like colour_compare or colour_harmonies. The description lacks context such as prerequisites or exclusions, leaving the agent to infer usage purely from the name.

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
okNo
errorNo
resultNo
Behavior4/5

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

Discloses read-only operation (consistent with readOnlyHint=true), explains the perceptual model (CIE Lab subtractive), and specifies outputs (mixed hex, nearest archive match with cultural context). 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?

Concise three sentences: purpose, model, and concrete example. No wasted words; front-loaded with key information. Structure supports 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 output schema exists (not shown but signaled), description adequately explains return values. Covers purpose, parameters, model, and example output. No obvious gaps for an agent to incorrectly 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 coverage is 100% with descriptions for all parameters. Description adds conceptual meaning (subtractive model, ratio range, example) beyond schema definitions, enhancing understanding for the agent.

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 simulates perceptually modelled subtractive mixing of two colours in CIE Lab space, distinguishing it from RGB blending. Verb 'mix' and resource 'two colours' are specific. Differentiates from sibling colour tools by specifying the perceptual model and example output.

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 context for when to use (mixing two specific colours for perceptual accuracy) with an example. Does not explicitly state when not to use or name alternative sibling tools, but the purpose is sufficiently scoped.

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 NamesA
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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations declare readOnlyHint=true, and the description correctly implies a read operation ('generate'). It adds context about archive verification and style selection. However, it does not address error cases (e.g., hex not found in archive) 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?

Four sentences, no fluff. Front-loaded with the core purpose, then details on styles and use case. Every sentence contributes essential 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 (not shown) and complete parameter descriptions, the description provides sufficient context. It identifies the key use case and style constraints, though it could briefly mention what 'archive-verified' entails.

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 value by listing the style options (geographical, poetic, etc.) and mentioning archive grounding, which clarifies the context. Still, most parameter meaning is already 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 clearly states the tool's purpose: generate archive-verified colour names for any hex value, with multiple naming styles. It distinguishes from siblings by specifying unique features (archive grounding, Shopify product naming use case).

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 colour naming (e.g., 'core of Shopify product naming') but does not explicitly state when to use this tool versus siblings like colour_slugs or ecommerce_namer. No when-not-to or alternative guidance is provided.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations already indicate readOnlyHint=true, and the description is consistent with that read-only behavior. It adds context about how names are sourced ('Archive-grounded' with dE2000 distance), which is useful behavioral info beyond the annotation. 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 concise sentences with no redundancy. Each sentence provides distinct information: first lists output formats, second adds source context. Front-loaded with core 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 values need not be described. The description covers what the tool does and the name generation context. It could be more explicit about the output structure (e.g., 'returns an object with keys for each format'), but given the output schema, the current description is 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?

Schema description coverage is 100%, so the baseline is 3. The description adds minimal extra meaning beyond the schema; it only reiterates the hex input and mentions 'archive filter' implicitly. It does not provide format constraints or elaboration on the archive parameter.

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 returns developer token formats for a hex value and lists specific formats (CSS variable, kebab-case, etc.). It mentions 'Archive-grounded name source' but does not explicitly distinguish from siblings like colour_namer or colour_hooks, though the specific token focus provides some differentiation.

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 description does not state use cases, prerequisites, or when not to use it. With many sibling colour tools, this omission leaves 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_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
okNo
errorNo
resultNo
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description does not need to state that. It adds behavioral context by describing the returned narrative's contents (history, meanings, archive names). This is standard for a read-only retrieval 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?

The description is three well-structured sentences, front-loaded with the core functionality, followed by use cases and an illustrative example. No unnecessary words; every sentence serves a 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?

Given the presence of an output schema and annotations, the description covers the tool's purpose, use cases, and provides an example. It could mention expected behavior for invalid inputs, but overall it is sufficiently complete for an agent to select and invoke 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 schema already documents both parameters. The description only mentions the hex parameter implicitly ('Given a hex value') and provides an example. It does not add new meaning beyond the schema, 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 tool's purpose: given a hex value, it returns a rich narrative about the colour's cultural journey, including historical appearances, meanings across civilizations, and archive names. This distinctively places it among many colour siblings by focusing on cultural/historical narrative.

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 it is 'essential for image generation prompts, brand storytelling, and creative briefs,' providing clear context for when to use. However, it does not explicitly exclude alternatives or mention when not to use it, missing the full when-to-use/when-not-to guidance.

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
okNo
errorNo
resultNo
Behavior3/5

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

Annotations declare readOnlyHint=true, so the tool is safe for reads. The description adds that it 'combines archive grounding' etc., but does not elaborate on behavioural impacts like dependencies on other tools or potential performance. Without annotations, this would be insufficient, but with them it meets the minimum.

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?

Every sentence adds value: purpose, inputs, outputs, and examples. The structure front-loads the key information and avoids fluff. Despite length, it is 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?

Given the tool's complexity (5 parameters including nested objects, rich outputs listed, and an output schema present), the description covers all critical aspects: what it does, inputs, outputs, and usage examples. No 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 coverage is 100%, and the description reinforces the parameter structure ('Input: hex + brand_context ...') in a more readable format, adding grouping context. This goes beyond the schema by explaining how parameters relate to the overall strategy.

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 is a 'flagship commercial endpoint' that combines multiple specialised checks (archive, verdict, brand fit, etc.), distinguishing itself from sibling tools that handle specific aspects. The verb 'combines' with explicit outputs and examples makes the 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 Guidelines4/5

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

The description implies this is the comprehensive tool for a full colour strategy, and the sibling list suggests alternatives for isolated checks. However, it does not explicitly state when to avoid this tool or prefer a sibling, which would enhance guidance.

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 Through HistoryA
Read-only
Inspect

Given a hex value, traces that colour's appearances across cultures and centuries in chronological order. Shows how a colour travelled through history — from its earliest documented use to its modern associations. Essential for understanding why a colour carries the weight it does. Example: deep blue traces from Egyptian lapis lazuli through Byzantine imperial authority to Prussian military uniforms to modern corporate trust signals.

ParametersJSON Schema
NameRequiredDescriptionDefault
hexYesHex value to trace through history
toleranceNodE2000 tolerance for matching (default 20)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
errorNo
resultNo
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 specifies that the tool returns appearances in chronological order, from earliest to modern associations. This provides a clear mental model of the tool's 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 very concise: two sentences plus an example. The main action is front-loaded, and every sentence adds value. The example effectively illustrates the tool's function.

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 the tool has an output schema and 100% schema coverage, the description need not explain return values. It sufficiently covers the tool's purpose, usage suggestion, and behavioral details, making it complete for a tool of this complexity.

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 already fully defines the parameters. The description does not add new semantic details about the parameters beyond repeating 'hex value'; tolerance is not mentioned. 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's function: traces a colour's appearances across cultures and centuries in chronological order. It uses specific verbs ('traces', 'shows') and distinguishes itself from sibling tools like colour_story or colour_forensics by focusing on chronological 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 indicates the tool is 'essential for understanding why a colour carries the weight it does,' which implies its use for historical context. While not explicit about when not to use, this guidance is clear enough for an AI agent to infer appropriate contexts.

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
okNo
errorNo
resultNo
Behavior3/5

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

Annotations already mark readOnlyHint=true, so the description's 'return' aligns. No additional behavioral traits (e.g., authentication needs, rate limits) are disclosed. The description adds no new behavioral 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?

Two sentences, no filler. The first sentence lists outputs, the second provides context. Every word is meaningful and 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?

For a simple tool with one parameter, annotations, and an output schema, the description is sufficient. It explains the purpose, outputs, and target user. Missing a brief note on response structure, but output schema 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?

Schema coverage is 100% with a description for the 'name' parameter. The description repeats 'named archive colour' but adds no extra semantics like format, examples (beyond schema's example), or validation rules. Baseline score 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 returns historical variants, lighter/darker versions with archive matches, and cultural siblings. The verb 'return' is specific and the resource is well-defined. The sibling tools (e.g., colour_dna, colour_forensics) are distinct, so this purpose stands out.

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 says 'Essential for designers exploring around a colour' which gives a use case but no explicit when-not-to-use or alternatives. Among many sibling tools, the description could better guide when to use this versus colour_dna or colour_timeline.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations only declare readOnlyHint=true, and the description adds value by stating the tool is 'Backed by CIEDE2000 archive matching and Claude cultural intelligence' and outlines output contents (strengths, risks, etc.). 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 at two sentences plus examples, with no wasted words. It front-loads the core purpose and then elaborates with output details and illustrative use cases.

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, 100% schema coverage, and an output schema), the description covers the purpose, output structure, underlying methods, and example use cases. It is sufficiently complete for an agent to select and invoke this 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?

The input schema has 100% documentation coverage, so each parameter is already described. The description adds context about what the parameters are used for (e.g., 'What the colour will be used for') but does not add meaning beyond the schema. Baseline score 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 evaluates a hex colour for a specific use case, market, and medium, and returns a decisive verdict. It includes the possible verdict values and distinguishes itself from siblings by focusing on verdict rather than other aspects like cultural risk or 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 when to use the tool: when a colour verdict is needed for a given context. It provides examples of use cases but does not explicitly state when not to use or mention alternatives among sibling tools. However, the examples and clear purpose give sufficient guidance.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations declare readOnlyHint: true, so the description does not need to re-state safety. It adds that this is a compound tool aggregating multiple sub-tools, which is useful behavioral context. No side effects are disclosed beyond what annotations imply.

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 clear and front-loaded but could be slightly more concise. It effectively communicates the tool's purpose and usage guidance in a single paragraph.

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 (compound, 7 params, multiple outputs), the description covers the key input concepts and output items. The presence of an output schema reduces the burden on the description to detail return values.

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 7 parameters have schema descriptions (100% coverage), so the description adds limited new information about parameters. It mentions 'concept, medium, audience, and constraints' but 'audience' is not a parameter, which is a minor mismatch. The description does not elaborate on parameter specifics 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's a one-call compound tool that produces a complete design package from a concept, medium, audience, and constraints. It explicitly lists the outputs and distinguishes from siblings by naming the individual tools it replaces, such as query_conceptual and palette_from_concept.

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 states both when to use and when not to use, with clear 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
okNo
errorNo
resultNo
Behavior5/5

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

The description discloses key behavioral traits: copy is grounded in archive provenance (not generic AI), colour names come from nearest archive match, and provides examples. This adds context beyond the readOnlyHint annotation, which is consistent with the tool's read-only 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 concise and well-structured: opens with the tool's main action, details inputs and outputs, explains the unique value proposition, and closes with concrete examples. No redundant 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?

The description is complete given the presence of an output schema. It covers purpose, all inputs, outputs, and unique value. For a tool with 5 parameters and 2 required, this is sufficient contextual information.

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% and each parameter has a description. The description adds value by summarizing the overall input-output relationship and providing examples that clarify expected formats (e.g., 'velvet cushion in Murex Luxury').

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 explicitly states the tool generates complete ecommerce product copy for any colour, listing inputs and outputs. It distinguishes from siblings like ecommerce_namer by focusing on full copy generation rather than just naming.

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 product copy but does not explicitly state when to use versus alternatives like ecommerce_namer or other copy tools. No exclusion criteria or sibling comparisons are provided.

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
okNo
errorNo
resultNo
Behavior5/5

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

Description adds significant context beyond the readOnlyHint: it explains names are archive-sourced with defendable citations, providing transparency about the output's reliability and sourcing.

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 well-organized with main purpose first, then inputs, outputs, and use cases. Slightly verbose but remains focused and 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 tool's complexity (5 params, output schema), the description covers all aspects: use cases, inputs, output structure, and sourcing reliability, making it complete without needing output schema details.

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; description adds value by listing inputs and detailing the output structure (archive name, citation, dE2000 distance, etc.), exceeding mere schema repetition.

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 archive-grounded colour names for up to 40 SKUs, lists inputs and outputs, and differentiates from siblings like colour_namer by emphasizing archival sourcing and citations.

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?

It explicitly lists suitable domains (paint, candles, fashion, etc.) but does not provide when-not-to-use or explicitly compare to alternatives, though the context makes it clear.

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
okNo
errorNo
resultNo
Behavior5/5

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

Adds 'image never stored, processed in memory only' beyond the readOnlyHint annotation. Also details algorithm (K-means++, Bradford chromatic adaptation) for transparency.

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?

Concise paragraph with clear sentences, no wasted words. Front-loaded with verb and purpose.

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?

Covers input format, algorithm, return details, use cases, and privacy. Output schema exists, so no need to detail returns. Complete for 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%, but description adds context on output (archive name, cultural story, RAL, WCAG) and reiterates key constraints. Adds value 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 'extract its dominant colour palette' with matching to archive entries. It distinguishes from sibling tools like palette_generate and palette_compare by focusing on image upload and 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?

Explicitly lists use cases (product photography, interior photos, etc.), but does not mention when to avoid or alternatives. Clear enough for typical usage.

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
okNo
errorNo
resultNo
Behavior5/5

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

The description discloses key behavioral traits beyond the readOnlyHint annotation: it uses Claude Vision and CIEDE2000 for analysis, and explicitly states that the photo is never stored. These details add significant transparency about how the tool operates.

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 well-structured, providing essential information without superfluous text. It could be slightly more compact, but it efficiently conveys the tool's function, process, and example 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 complexity of the tool, the description covers all necessary aspects: what it does, what inputs are needed (a portrait photo), what outputs to expect (seasonal type, depth, undertone, palette), the method (Claude Vision, CIEDE2000), and data handling (photo never stored). The presence of an output schema compensates for not detailing 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%, so all parameters are described. The description adds extra semantic value with practical tips like 'Easier than base64 for MCP use' for image_url and 'Face should be clearly visible in natural light' for image_base64, and clarifies that either image_url or image_base64 is required.

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 a personal colour analysis. It lists specific outputs (seasonal type, depth, undertone, palette) and distinguishes itself from sibling tools by focusing uniquely on personal colour analysis from a photo.

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 clear context on how to use the tool (upload a portrait photo) and includes an example. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions. Despite this, the uniqueness of the tool makes the usage fairly clear.

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
okNo
errorNo
resultNo
Behavior3/5

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

The annotation already declares readOnlyHint=true, so the description does not need to emphasize safety. It adds context about input and output structure (list of colour entries, return fields), but does not disclose any hidden behaviors (e.g., rate limits, authentication). This is acceptable but not exceptional.

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 efficiently structured, opening with the core purpose and metric examples, then listing input/output format and use cases. Every sentence contributes meaningful information without 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?

The description covers the tool's purpose, input/output details, and typical usage scenarios. Since an output schema exists, it does not need to detail return values. The examples (e.g., 'blood as prognosis') add color, but the description is slightly brief on how the scoring basis parameter affects results.

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 already describes all parameters with 100% coverage. The description's mention of input fields ('name, hex, archive, source, notes') mirrors the schema, adding no new semantic value. 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 that the tool is a proprietary semantic metric that 'score[s] how tightly the material origin of a colour aligns with its social consequence,' with specific score examples. It differentiates from siblings by claiming this as the distinguishing metric of Colour Memory.

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 explicit use cases ('investigative reports, forensic briefs, museum content, editorial PDFs') and positions the tool as 'the metric that separates Colour Memory from palette generators.' However, it does not mention when not to use this tool or specify alternatives.

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
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
okNo
errorNo
resultNo
Behavior3/5

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

Annotations already set readOnlyHint=true, indicating no side effects. The description adds that the tool 'generates' output, which is consistent with read-only behavior (no mutations). It does not add further behavioral context (e.g., API dependencies, latency, or data sources), so it meets the baseline but does not exceed it.

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 at ~100 words, with each sentence adding value. It is front-loaded with the main purpose and includes examples, output features, and a pointer to the PDF tool. No fluff or 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 presence of an output schema (not shown) and read-only annotations, the description provides all necessary context: it specifies inputs, outputs, and use cases. It covers the tool's full scope without needing additional explanation.

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 each parameter. The description adds collective context (e.g., examples of concept values) but does not provide individual parameter details beyond the schema. With high coverage, a score of 3 is appropriate per rubric.

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 tool generates a complete interior colour specification from a concept. It specifies inputs (room concept, type, style) and outputs (colour scheme with 60/30/10 assignments, cultural provenance, paint matches, light behaviour, etc.). However, it does not explicitly differentiate from sibling tools like palette_specify or palette_generate, which may cause confusion about which tool to use for different colour tasks.

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 with examples ('bold maximalist living room', 'calm Scandi bedroom') and directs to the PDF tool for a downloadable version. It implies use when a full interior colour consultation is needed, but does not state when not to use it or compare to alternatives like palette_specify for simpler colour schemes.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations indicate readOnlyHint=true, and the description adds that the tool is deterministic, incurs no LLM cost, and returns specific items (tool count, endpoint list, etc.), providing useful behavioral 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?

Three sentences, no wasted words, front-loaded with the core purpose. 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?

For a simple discovery tool with no parameters and an output schema, the description covers what it returns and when to use it, making it 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?

With zero parameters and 100% schema description coverage, the description doesn't need to add parameter info. It mentions the return values, which is beneficial. Baseline 4 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 returns a live inventory of all active endpoints and MCP tools, distinguishing it from sibling tools that perform specific tasks like accessibility checks or brand 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?

Explicitly advises using this tool first to discover API capabilities before making calls, and mentions it's deterministic with no LLM cost, though it doesn't specify when not to use it or list alternatives.

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
okNo
errorNo
resultNo
Behavior5/5

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

Beyond readOnlyHint annotation, description adds 'Deterministic, no LLM cost', specifying key behavioral traits. Also describes return value structure (score 0-100, grade, prioritised fix list). 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?

Three sentences, front-loaded with core purpose, efficient with no redundant language. 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?

Complete description for a comprehensive audit tool with good annotations and output schema. Covers purpose, scope, output, and usage context. 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 parameters are already defined. Description adds no additional parameter-specific guidance but indirectly gives context via audit dimensions. 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?

Clear verb 'audit' with specific scope: 'Full palette quality audit' listing five scored dimensions (accessibility, cultural risk, tonal balance, colour diversity, archive naming strength). Distinguishes from sibling single-dimension tools like cultural_risk 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?

Explicitly states 'use before shipping any palette' and labels it an 'Enterprise quality gate', providing clear when-to-use context. Does not explicitly list alternative tools for narrower checks, but the sibling set implies them.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description reinforces this by describing a read-only comparison. It adds behavioral context by listing specific outputs (timelessness, commercial strength, etc.) and the winner verdict.

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, informative sentence that efficiently conveys the tool's purpose and outputs without any 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 output schema exists and the tool has 4 parameters with full schema coverage, the description provides a sufficient overview of what the tool returns and its scope, making it complete for most 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 coverage is 100% with basic descriptions for each parameter. The tool description does not add new semantics 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 uses specific verbs ('deep perceptual, cultural, and commercial comparison') and resource ('two palettes'), clearly distinguishing it from sibling tools like 'compare_colours' or 'palette_verdict' by emphasizing depth and broader dimensions.

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 use for in-depth comparison but does not explicitly state when to use this tool over alternatives (e.g., 'compare_colours' for simpler comparisons) 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.

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
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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations indicate readOnlyHint=true, and the description adds context that colors are sourced from the archive with documented history, confirming no side effects. No contradiction; additional context on provenance is provided.

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 concise examples; no wasted words. Purpose is front-loaded, and examples efficiently convey scope.

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 three parameters (one required), output schema exists, and description outlines output format. Lacks handling of edge cases (e.g., unknown concept), but overall sufficient for the task.

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 adds some context about output format (4-6 colours, hex, proportions, provenance) but does not significantly enhance parameter 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 generates a historically grounded colour palette from a cultural concept, with specific examples (e.g., 'Victorian mourning'). It distinguishes from sibling tools like palette_generate or image_palette by emphasizing cultural/historical sourcing.

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 of appropriate concepts but lacks explicit guidance on when NOT to use the tool or comparisons to sibling alternatives (e.g., when to use palette_generate instead). Implication is clear but not fully explicit.

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
okNo
errorNo
resultNo
Behavior3/5

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

Annotations already provide readOnlyHint=true, covering the safety profile. The description adds that colours are automatically named from the archive and embeds Colour Memory, but does not detail other behavioral aspects like auth needs or rate limits. This is adequate but not enriched 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?

The description is two sentences, no wasted words. It front-loads the output formats and follows with key behavioral context. 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 presence of an output schema and full schema coverage for parameters, the description adequately explains the tool's function. It covers naming and embedding, which is sufficient for a straightforward export 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%, so the baseline is 3. The description adds value by stating that colours are automatically named from the archive, clarifying the role of the 'names' parameter. This goes beyond the schema's simple description of 'Optional custom names'.

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', specifying multiple output formats (CSS custom properties, Figma design tokens, etc.). This differentiates the tool from siblings like palette_generate or palette_compare, which serve 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 Guidelines4/5

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

The description provides clear context for when to use the tool: when needing to export a palette into design formats and embed Colour Memory into workflows. However, it does not explicitly mention alternatives or when not to use this tool, lacking the exclusion guidance seen in high-scoring examples.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations declare readOnlyHint=true, and description adds behavioral details: empty slots are filled with nearest CIEDE2000 archive match interpolated from locked anchors, and returns full citation (name, archive, primary source, colour notes). No contradiction with annotations. Provides valuable context beyond the readonly hint.

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, front-loaded with core action. Every sentence adds value: purpose, filling mechanism, optional filter, return details, and example. 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?

Given that an output schema exists (not shown but indicated), the description adequately explains what the tool does and what it returns (full citation). The example provides practical context. However, it could mention prerequisites like archive data availability or error handling, but it's near complete for a read-only tool with good 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?

Schema description coverage is 100%, so baseline is 3. Description restates parameter concepts (locking slots, optional archive filter) but does not add significant new meaning beyond what's in the schema. Example adds usage context but not param details.

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 sends a palette with locked slots and fills empty slots from archive. Title 'Lock-and-Fill Palette from Archive' and verb 'Send' with resource 'palette' make purpose distinct. Differentiates from siblings like palette_audit or palette_compare by focusing on generating a new palette from archive with locked anchors.

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 a concrete example (lock a client's wall colour and fill a 5-colour scheme from Oxfordshire) that clarifies when to use. Implicitly suggests use when you have fixed colours and want archive matches. However, it does not explicitly state when not to use or mention alternative tools like palette_concept or palette_strict, though the context is sufficient for most agents.

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
okNo
errorNo
resultNo
Behavior5/5

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

Annotations indicate readOnlyHint=true. Description adds significant behavioral context: interpolation methods (linear vs chroma_preserved), snapping to nearest archive colour via CIEDE2000, anchor stop preservation, and output formats. 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?

Two sentences, front-loaded with core purpose. Every clause adds value: interpolation method, output options, use cases. 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 6 parameters, 2 enums, and output schema existence, description covers all critical aspects: input constraints, behavior, variations, and output formats. Returns stop array, CSS string, or SVG swatch bar. Sufficient for agent to select and 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%, baseline 3. Description adds meaning beyond schema: explains path options (linear vs chroma_preserved), steps default and max, anchors format, archive restriction, output_format choices, and snap_to_archive default. Provides rationale for route selection.

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 title and description clearly state the tool generates a perceptually smooth gradient between 2-5 archive anchor colours using Lab interpolation, with options for path, steps, output format, and snapping. It distinguishes from sibling tools by focusing on gradient generation with snapping to archive 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?

Description explicitly mentions use cases: design briefs, colour journey visualisations, gradient systems. It implies when to use (for creating gradients from archive colours) but does not provide explicit exclusions or alternatives among siblings.

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
okNo
errorNo
resultNo
Behavior5/5

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

The description adds rich behavioral context beyond the readOnlyHint annotation. It explains the step-by-step process (identify, name, score, detect gaps, fill) and discloses outputs (CSS tokens, production notes, named origins). 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 sentences: first sentence states the purpose, second details the process and outputs. Every sentence adds value, no fluff. It is 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?

Given the tool's complexity (5 parameters, existing output schema), the description covers the core process, inputs (legacy palette, market, context, etc.), and outputs (full palette with roles, confidence scores, CSS tokens, production notes). It is complete enough for an agent to understand the tool's value and invocation.

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?

The input schema already has 100% coverage with descriptions for each parameter. The description adds meaning by explaining how parameters like 'palette' (existing hex values) are processed (each color gets an archive anchor, name, confidence score) and how 'n_additions' is used (to fill gaps). This provides context beyond the schema's 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: given a legacy palette, it generates an archive-grounded premium support system. It lists specific actions (identify archive anchor, name, score confidence, detect gaps, fill from archive) and outputs (roles, confidence scores, CSS tokens, production notes). This distinguishes it from sibling tools like palette_audit or palette_generate.

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 when a legacy palette exists and an archive-grounded system is needed. It does not explicitly state when not to use or mention alternatives, but the context is clear for the intended scenario.

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
okNo
errorNo
resultNo
Behavior4/5

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

The description discloses that it returns a refined palette with archive grounding and change rationale, adding behavioral context beyond the readOnlyHint=false 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 sentences with no wasted words, efficiently stating purpose, providing usage examples, and describing output.

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 core functionality and output format; could be slightly more complete about edge cases but sufficient given output schema and annotations.

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?

The description provides concrete examples of feedback values not present in the schema, enriching parameter understanding despite 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 ('refine') and resource ('existing palette'), and provides examples of natural language feedback, clearly distinguishing it from siblings like palette_generate 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 Guidelines4/5

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

The description clearly implies usage for refining an existing palette based on feedback, but does not explicitly exclude generation or contrast with sibling tools.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations indicate readOnlyHint=true, and description confirms read-only operations (analyzes, assigns, checks, flags). Description adds behavioral context like body text contrast safety check and missing neutrals flag, which are 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?

Single sentence listing key actions is concise and front-loaded with purpose. Minor room for improvement in readability but 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 existing output schema and clear input description, the description covers processing steps adequately. Complexity is low with 2 params, and all key behaviors are disclosed.

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 already describes both parameters. Description adds minor context (e.g., use_case examples 'UI, dashboard, report') but does not significantly enhance 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?

Description clearly states the tool generates light/dark role maps from a palette, listing specific analyses (LRV, role assignment, contrast check, missing neutrals). This distinguishes it from siblings like palette_generate, palette_compare, and 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 Guidelines3/5

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

Description implies usage when needing light/dark mode assignments from a palette, but does not explicitly state when not to use it or mention alternatives. Among siblings, accessibility_check and accessibility_matrix have overlap but are not contrasted.

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
okNo
errorNo
resultNo
Behavior4/5

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

The description discloses that the tool returns a downloadable PDF with detailed content, adding context beyond the readOnlyHint annotation. It does not contradict annotations and explains the output behavior well.

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. First sentence states purpose and output, second gives usage guidance. Information is front-loaded and 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 moderate complexity (3 params, output schema exists), the description covers input expectations, output format, and use cases fully. No 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?

With 100% schema coverage, baseline is 3. The description adds value by specifying that entries come from query_hex or palette_from_concept, and clarifies the optional parameters' purpose (title, source label).

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 premium branded PDF specification sheet from palette entries. It uses a specific verb ('Generate') and resource ('PDF'), distinguishing it from sibling tools like palette_export or palette_specify.

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 to pass the entries array from query_hex or palette_from_concept directly, and lists use cases (client deliverables, specification sheets, print assets). It provides clear context but does not explicitly exclude other uses.

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
okNo
errorNo
resultNo
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 detailing what the tool returns: surface assignments, 60-30-10 proportions, lighting behaviour, and archive colour names. It does not contradict annotations (readOnlyHint=true) and provides a clear picture of the tool's output.

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 action and immediately conveys the tool's purpose and outputs. No extraneous information is present.

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 (3 parameters, 1 required, with output schema present), the description covers the essential purpose and outputs. However, it lacks context on when to prefer this over similar sibling tools, slightly reducing completeness.

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 coverage is 100% with each parameter described. The description reiterates the range of hex values (2-8) but adds little new information about the parameters themselves. The output context helps infer parameter usage but does not significantly enhance parameter 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 generates a complete interior specification from hex values, listing specific outputs like surface assignments and proportions. It distinguishes itself from siblings like palette_generate (which likely only creates palettes) and interior_specify (which may not start from colours).

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 a user has hex values and wants a full interior specification, but it provides no explicit guidance on when to use this tool versus alternatives such as interior_specify or palette_generate. No exclusions or when-not-to-use advice is given.

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
okNo
errorNo
resultNo
Behavior4/5

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

The annotation readOnlyHint: true already indicates the tool is read-only. The description adds behavioral context beyond this, explaining that the tool applies filtering and relevance controls to avoid cross-archive drift. This provides useful transparency about how the tool behaves without contradicting 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, both essential. The first sentence sets the context, the second provides actionable usage. No superfluous information; front-loaded with the key differentiator.

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, 1 required) and the presence of an output schema, the description is complete enough. It covers the core functionality, parameter usage, and when to use the tool. Some edge cases or limitations are not mentioned, but overall it provides sufficient context for an agent.

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 value by explaining the purpose of allowed_archives and min_relevance in the context of fixing drift and cultural specificity, including an example for allowed_archives. This goes beyond the schema definitions and enhances 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: 'Like palette_concept but with archive filtering and relevance controls.' It specifies the key features (allowed_archives, min_relevance) and explicitly differentiates from the sibling palette_concept by addressing 'cross-archive drift when cultural specificity matters.'

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 usage guidance: 'Use allowed_archives to restrict results to specific cultural traditions' and 'Use min_relevance to filter weak concept matches.' It also explains when to prefer this tool over alternatives, i.e., when cultural specificity matters and to fix cross-archive drift.

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
okNo
errorNo
resultNo
Behavior4/5

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

Beyond the readOnlyHint annotation, the description reveals algorithmic details (CIEDE2000 nearest-neighbour), relevance bands (exact/close/approximate/loose), and provenance tracking, adding meaningful 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.

Conciseness5/5

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

Three sentences that are front-loaded, clear, and efficient. The first sentence states the core action, the second adds detail, and the third provides examples. No waste.

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 an output schema present, the description covers the key aspects: purpose, method, relevance bands, and provenance. Could mention supported archives or limitations, 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?

The schema has 100% description coverage, so baseline is 3. The description adds context about the process but does not significantly enhance parameter semantics beyond what the 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 maps hex values to a named archive using CIEDE2000 matching, with relevance bands and provenance. It distinguishes itself from siblings like palette_audit or palette_compare by focusing on translation into a specific archive.

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 concrete use cases (e.g., translating paint colors into Shakespeare, Japanese, or Oxfordshire), giving clear context for when to use. It does not explicitly list alternatives or exclusions, but the purpose 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_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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations declare readOnlyHint=true, and description is consistent. Adds behavioral context: each colour matched to archive entry for cultural grounding, which is 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?

Two concise sentences plus representative examples. No wasted words, information front-loaded.

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?

Fully explains return structure (verdict, score, roles, weakness, suggestion) and expected inputs. Output schema exists but description still covers key output fields. Adequate for tool complexity.

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 3. Description reinforces hex format and examples for use_case but adds little beyond schema for market and medium.

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?

Verb 'Evaluate' + resource 'palette of 2-8 hex values' is specific. Distinguishes from siblings like palette_audit by focusing on verdict, score, and concrete suggestion.

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 use case examples ('premium cushion collection UK ecommerce', 'hotel lobby interior') and what outputs to expect. Lacks explicit when-not-to-use vs alternatives, but context is clear.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations declare readOnlyHint: true. Description reinforces read-only nature by stating 'returns' results. Provides additional behavioral context about provenance and cultural context without contradicting 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?

Three sentences, front-loaded with purpose, includes examples, no unnecessary words. Every sentence adds useful 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?

With output schema present, description adequately covers tool behavior. It explains the type of query it handles and the enriched nature of results (provenance, cultural context). Complete for a query tool with 3 parameters.

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. Description adds value by giving example queries that clarify the type of input expected, enhancing parameter 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?

Description clearly states the tool takes cultural/historical/material colour questions and returns archive colours with provenance. Examples like 'grief', 'Ottoman luxury' illustrate abstract queries, distinguishing from sibling tools like query_hex or archive_search.

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 context that it works for abstract queries and gives concrete examples. Does not explicitly exclude other use cases or name alternatives, but the examples imply when 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_hexFind Named Colours by Hex CodeA
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
okNo
errorNo
resultNo
Behavior4/5

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

Beyond the 'readOnlyHint' annotation, the description adds the key behavioral detail of using CIEDE2000 perceptual distance, which helps the agent understand the matching logic.

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, 15 words, front-loaded with verb and resource. 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 simple tool with three parameters and an output schema, the description is largely sufficient, though it could mention the default number of results or that multiple results are typical.

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 does not add extra meaning beyond what the schema already provides for the 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 action ('Find the closest named archive colours'), the input ('a hex value'), and the method ('CIEDE2000 perceptual distance'), making it distinct 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 Guidelines3/5

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

The description implies when to use (given a hex, find named colors) but does not explicitly exclude other scenarios or mention alternatives among the many color siblings.

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
okNo
errorNo
resultNo
Behavior5/5

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

Provides extensive behavioral detail beyond the readOnlyHint annotation, including internal processes (Anthropic Claude generation, auto-rejection of stubs, scoring claim roles) and output structure, confirming it's a read-only composite operation.

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?

Front-loaded with the key value proposition, listing all subcomponents. Slightly verbose with repeated phrases but well-structured and 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?

Thoroughly covers the tool's purpose, internal operations, input requirements, and output format (complete deliverable package). With output schema present, no need to detail return values.

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 schema already documents all 12 parameters. Description only lists a subset (title, audience, themes, etc.) without adding new meaning beyond grouping them as inputs for the deliverable package.

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 'One call returns a complete forensic colour brief' and enumerates specific analyses (coverage gap, anachronisms, scoring, etc.) that distinguish it from individual sibling tools like archive_coverage_gap or anachronism_guard.

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 'This replaces chaining coverage_gap + archive_report_brief + anachronism_guard + resonance_index + evidence_gap separately,' guiding the agent to use this tool when a consolidated brief is needed instead of individual calls.

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
okNo
errorNo
resultNo
Behavior5/5

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

The description expands on the readOnlyHint annotation by detailing the tool's behavior: it returns verdicts on what works/clashes/is missing, suggests a missing colour, and provides cultural historical backing. 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 (5 sentences) and front-loaded with the key question. It includes valuable examples without redundancy. Every sentence adds necessary context.

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 exists), the description is complete: it explains what to submit, what the output includes, and provides examples. No gaps remain.

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 already provides 100% coverage with descriptions for all parameters. The description adds no new parameter semantics beyond the schema, and the examples illustrate usage but don't define parameters further.

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: it provides a verdict on whether outfit items (specified by hex and label) go together. It distinguishes itself from sibling colour tools by focusing on fashion combinations and adding historical/cultural context.

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 fashion-related colour matching, and gives examples. However, it does not explicitly state when to choose this over other colour tools (e.g., colour_harmonies, colour_verdict), nor does it specify 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.

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
okNo
errorNo
resultNo
Behavior4/5

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

Annotations already mark as readOnly. Description adds details about WCAG compliance, contrast ratios, and return structure, going 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?

Front-loaded with main purpose. Each sentence adds specific value. Slightly verbose but efficiently covers purpose, outputs, and usage.

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 3 parameters with full schema coverage and an output schema, the description sufficiently explains inputs, outputs, and use case. Covers states, formats, and supports light/dark mode.

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 all three parameters described. Description adds value with example hex, default explanations, and clarifies that dark_mode and background_hex are optional.

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 WCAG-compliant UI state palette from a brand hex. Lists 11 specific states, distinguishing it from sibling tools like palette_generate 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 Guidelines4/5

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

Explicitly says 'Use before building any UI component system' providing clear context. While it doesn't mention when not to use, the usage guidance is strong for a utility tool.

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