Colour Memory
Server Details
Colour intelligence API with 23,000+ historically grounded colours across 59 archives. Maps hex values to named archive colours with provenance, cultural risk, WCAG accessibility, and brand palette analysis.
- 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.
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.
Tool Definition Quality
Average 4.2/5 across 65 of 65 tools scored. Lowest: 3.6/5.
Most tools have clearly distinct purposes, but there is some overlap among closely related tools like 'palette_concept' vs 'palette_strict' and 'query_conceptual' vs 'query_hex'. The descriptions help differentiate them, but the sheer number of tools increases the chance of misselection.
All tool names use a consistent lowercase underscore format, typically following a noun_verb or verb_noun pattern (e.g., 'accessibility_check', 'archive_search', 'palette_generate'). Even longer names like 'archive_cultural_anachronism' maintain the pattern, resulting in a highly predictable and uniform naming convention.
With 65 tools, the count is on the high side for most use cases. While the domain of colour intelligence is broad, many tools could be consolidated (e.g., multiple accessibility and archive tools). The number feels slightly excessive for a coherent set, but it is still manageable with good descriptions.
The tool surface covers a wide range of colour-related tasks including accessibility, archive management, branding, ecommerce, interior design, and image processing. There are minor gaps, such as the absence of a tool for basic colour space conversion or colour calibration, but overall the set is impressively comprehensive for its domain.
Available Tools
65 toolsaccessibility_checkCheck WCAG AccessibilityARead-onlyInspect
Return WCAG 2.1 contrast ratios and AA/AAA pass/fail grades for a foreground hex against a background.
| Name | Required | Description | Default |
|---|---|---|---|
| hex_val | Yes | Foreground hex value | |
| background | No | Background hex (default 'FFFFFF') | FFFFFF |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the readOnlyHint annotation by specifying the exact output: contrast ratios and pass/fail grades. It does not disclose any potential side effects, which is appropriate for a read-only operation. However, it could mention any limitations (e.g., only supports hex colors).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and key outputs. No unnecessary words; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two well-documented parameters, an output schema, and a clear purpose, the description is complete enough. It could be improved by noting any constraints (e.g., hex format validation) or behavior when background is omitted, but it is sufficient for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 the parameters. The description adds context by connecting 'foreground hex' and 'background' to the parameters, but does not provide additional semantic meaning beyond what is in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Return', the resource 'WCAG 2.1 contrast ratios and AA/AAA pass/fail grades', and the inputs 'foreground hex against a background'. It distinguishes itself from sibling tools like accessibility_font or accessibility_rules by focusing specifically on contrast calculation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used for checking contrast ratios against WCAG standards, but does not explicitly state when to use it versus alternatives like accessibility_simulate or accessibility_matrix. No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accessibility_fontFont Colour AdvisorARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| palette | Yes | Candidate foreground hex values | |
| background | Yes | Background hex value |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, so no contradiction. The description adds context about ranking and recommendations, but does not disclose additional behavioral traits such as error handling or performance characteristics. With annotations covering safety, the description is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded with core purpose and conveys all necessary information. No excess words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 required params, output schema exists), the description provides sufficient context about input-output behavior. Could be improved by mentioning constraint like 'hex values must be valid' or 'contrast ratio calculated per WCAG 2.1', but currently adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 that the tool ranks the palette by contrast ratio and provides recommendations, which goes beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('return') and resources ('candidate foreground colours ranked by contrast ratio with WCAG grades and recommendations'), clearly distinguishing the tool from siblings like accessibility_check or palette_compare.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only states what the tool does, without any guidance on when to use it versus alternatives, prerequisites, or when not to use it. No exclusions or comparisons are provided.
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 MatrixARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| palette | Yes | Array of hex values e.g. ['#D4A829', '#1A5C6E', '#0F2D6B', '#0A0A0B'] |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set readOnlyHint=true, so no contradiction. The description adds that the tool returns a full matrix of combinations with grades and summary, which is behavioral context beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first explains input and output, second gives usage guidance. No wasted words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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), the description appropriately covers the input and output summary. It explains the tool's purpose and when to use it, making it complete for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the only parameter 'palette', with clear description (array of hex strings, min 2 max 20). The description reiterates 'palette array' but adds no new semantics, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it accepts a palette array and returns every foreground/background combination with contrast ratio and pass/fail grades for AA and AAA standards. It also distinguishes itself from sibling tool 'accessibility_check' by suggesting it as a bulk alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this instead of calling accessibility_check multiple times for a palette,' providing clear guidance on when to use this tool over the sibling. It does not mention when not to use it, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accessibility_rulesAccessibility Usage RulesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| palette | Yes | Array of hex values |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description builds on that by adding 'Deterministic, no LLM cost,' which is valuable behavioral context. It also enumerates the exact outputs, giving an agent a clear picture of what to expect. Slightly less than perfect because it doesn't mention any side effects or limits, but those are not needed given 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that efficiently convey the purpose, outputs, and a behavioral trait. No redundant words, and every clause carries weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 (not shown but indicated as present), the description adequately lists the categories of returned rules without needing to detail structure. The description is complete enough for an agent to decide to invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with 'Array of hex values' for the palette parameter. The description mentions 'palette WCAG matrix' but adds minimal extra semantic meaning beyond the schema. Baseline 3 is appropriate since the schema already documents the parameter well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: 'Convert a palette WCAG matrix into actionable design-system rules.' It lists specific outputs like safe pairs, AA-only pairs, etc., distinguishing it from siblings like accessibility_matrix or accessibility_check which compute the matrix or check individual pairs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to use the tool (converting a WCAG matrix into rules) and highlights a key differentiator: 'Deterministic, no LLM cost.' This implies using it when deterministic, cost-effective results are needed. However, it does not explicitly state when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accessibility_simulateSimulate Colour BlindnessARead-onlyInspect
Return simulated hex values for protanopia, deuteranopia, and tritanopia using the Brettel-Vienot-Mollon model.
| Name | Required | Description | Default |
|---|---|---|---|
| hex_val | Yes | Hex value e.g. '#BE0032' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value by specifying the algorithm used (Brettel-Vienot-Mollon). Annotations already indicate readOnlyHint=true, so there is no contradiction. No side effects or limitations are disclosed, but the tool is simple.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that includes the key verb, output, and algorithm. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 required parameter, existing output schema), the description fully covers the tool's behavior. The output format is delegated to the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear example for the single parameter. The description does not add additional parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: returning simulated hex values for three specific types of color blindness using a named model (Brettel-Vienot-Mollon). This distinguishes it 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the name and description but no explicit when-to-use or when-not-to-use guidance is provided. No alternatives or exclusions are mentioned.
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 AIARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | What the other AI needs to generate e.g. 'luxury hotel bedroom image' | |
| model | No | Target model: midjourney, flux, dalle, stable_diffusion | midjourney |
| archive | No | Optional: restrict palette query to this archive e.g. georgianpleasures, japan, china | |
| concept | Yes | Colour concept to draw from e.g. 'Ottoman winter luxury', 'Victorian mourning' | |
| style_notes | No | Optional: additional style direction e.g. 'matte surfaces only', 'no gold' | |
| palette_size | No | Number of archive colours to include (default 5, max 8) | |
| locked_palette | No | Optional: list of hex values to use exclusively. When provided, no archive query is run — these exact colours are used. Prevents palette drift. | |
| allowed_archives | No | Optional: list of allowed archive names. Query restricted to these archives only. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the full process: fetching a historically grounded archive palette, producing an agent brief, colour tokens, model-specific prompts, negative prompt, and lighting notes. It also discloses the behavior of locked_palette (no archive query). No contradiction with readOnlyHint annotation—the tool does not modify any data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (5 sentences) and well-structured: first sentence states purpose, then lists outputs, supported models, an example, and usage instruction. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, 100% schema coverage, and an output schema, the description adequately covers the workflow, supported models, and special parameter behaviors. It provides sufficient context for an AI agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all 8 parameters (100% coverage), so the baseline is 3. The description adds value by explaining how parameters like locked_palette and allowed_archives affect behavior, and mentions the output products, providing context beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 complete colour direction package for another AI. It lists specific outputs (archive palette, agent brief, colour tokens, prompts, lighting notes) and supported models (midjourney, flux, etc.), distinguishing it from sibling tools like palette_generate or colour_strategy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an example (task='luxury hotel bedroom', concept='Ottoman winter luxury') and states the tool is for making 'Colour Memory the colour layer for other AI systems'. However, it does not explicitly state when not to use it or contrast with sibling tools, leaving some ambiguity.
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 FidelityARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| image_url | No | URL of the generated image | |
| image_base64 | No | Base64 encoded generated image | |
| target_palette | Yes | Hex values from agent_brief colour_tokens e.g. ['#ED9921', '#E29937'] |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds detail on return values (fidelity score, distances, verdict). However, it does not elaborate on error handling or side effects beyond what annotations provide, which is adequate 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four concise sentences with no redundancy. Each sentence serves a purpose: defining the tool, specifying inputs, summarizing outputs, and providing usage order. Perfectly front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 (mentioned in context), the description adequately covers purpose, inputs, outputs, and workflow placement. It leaves no obvious gaps for an agent to misinterpret or misuse the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, and the description adds context by linking target_palette to agent_brief colour_tokens and summarizing return values. This extra meaning helps the agent understand parameter relationships beyond raw schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool verifies colour fidelity in AI-generated images, specifying the action (verify), resources (image, palette), and purpose. It distinguishes itself from siblings like colour_compare or colour_metrics by focusing on verification against an agent_brief palette.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states to use after agent_brief and image generation, providing clear when-to-use guidance. It does not explicitly state when not to use or list alternatives, but the workflow context is sufficient for an agent to apply correctly.
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 AuditARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| archive | Yes | Archive name to audit e.g. 'British', 'Tingry', 'Byzantine' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, indicating no side effects. The description adds further transparency by stating 'No Claude call — pure archive data analysis,' confirming it is a safe, read-only operation. No contradictions or missing behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is comprehensive yet concise, using several sentences to convey purpose, outputs, and usage guidance. All information is front-loaded and each sentence adds value. Minor improvements could include slightly tighter wording, but overall it is well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple metrics and output types), the description fully details what is returned: health score, grade, issue counts, affected names, and a fix list. Combined with the presence of an output schema (as indicated by context signals), the description provides complete contextual information for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with a description for 'archive.' The tool description adds examples ('e.g. ''British'', ''Tingry'', ''Byzantine'') that help clarify the expected input values, going beyond the schema's basic description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool's action ('Run a data quality audit'), the target resource (any named archive), and the outputs (entry count, health score, grades, issue counts, etc.). It distinguishes itself from sibling tools by focusing on data quality auditing rather than searching or status checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly recommends usage contexts: 'Use before building new archive content to establish a baseline, or after a batch import to verify data quality.' It does not explicitly mention when not to use or alternatives, but the provided guidance is clear and sufficient for most decision-making.
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 ClicheARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| concept | Yes | Colour concept to subvert e.g. 'love', 'grief', 'luxury', 'betrayal', 'power' | |
| n_results | No | Number of archive entries to search (default 8) | |
| expected_colour | No | Optional: the cliche colour to contradict e.g. 'red', '#FF0000'. Hex or colour name. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description fully explains the tool's behavior: it finds an archive colour and uses Claude to generate creative text. This goes beyond the readOnlyHint annotation by detailing the generation process and output format. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, starting with the core action, then explaining parameters, providing an example, and stating use cases. It is efficient but could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema and the description explains return values (one-liner, short story, tweet), the description is complete. All necessary context for an agent to decide when and how to use the tool is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Even though schema description coverage is 100%, the description adds significant value by providing concrete examples (e.g., 'love + red returns Shakespeare's dark green...') and explaining how each parameter is used in practice.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 one-liner, short story, and tweet. It uses specific verbs and distinguishes from sibling tools by focusing on subversion of colour clichés.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool ('for public-facing demos, content, and brand storytelling'). However, it does not explicitly mention when not to use it or compare it to alternatives among siblings.
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 ReportARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| themes | Yes | Themes to check e.g. ['opium', 'gin', 'gambling', 'racing'] | |
| archives | No | Optional archives to search e.g. ['EIC', 'Dickens'] |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, which is consistent with the description stating it 'reports' and 'returns' a matrix (read-only). The description adds detail on the output structure (entries found, coverage grade, best match, needed source type), going 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences plus a usage instruction. It front-loads the core purpose and provides actionable guidance, though it could be slightly more compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two parameters (one required) and an output schema implied, the description covers purpose, usage, output structure, and practical context. It is complete for an AI agent to understand when and how to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with descriptions for both parameters. The description adds value by explaining how the 'themes' parameter is used (checked against archive) and what output fields are produced, despite not detailing 'archives' beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: given a list of themes, report which are well-evidenced and which are missing/under-evidenced. It also describes the output (coverage matrix with grades) and distinguishes it from other tools by specifying when to use it (before building reports).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use this tool BEFORE building archive_report_brief or brief_forensic, and explains the benefit of preventing incomplete reports. It does not contrast with sibling tools like archive_evidence_gap, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archive_cultural_anachronismAnachronism GuardARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| entries | Yes | Colour entries to check | |
| period_end | No | End year e.g. 1830 | |
| period_start | No | Start year e.g. 1714 | |
| target_period | No | Period description e.g. 'Georgian England 1714-1830' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description reinforces this by describing checks and scoring (no mutation). It adds behavioral details beyond annotations: detection of date range and specific archives, and the return fields. This provides useful transparency 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, followed by rationale and return details. Every sentence adds value, no redundancy. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema and 4 parameters, the description covers purpose, detection logic, importance, and return fields comprehensively. It provides enough context for an agent to understand when and how to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 context for the parameters (e.g., 'entries' are colour entries, period parameters define the historical period), but does not significantly enhance understanding beyond the schema's descriptions. The example illustrates usage effectively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks colour entries for anachronism risk, detecting date mismatches and known modern archives. It distinguishes itself with a concrete example (preventing 2011 racing silk registration from being presented as Georgian evidence), making the purpose specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says it's 'Essential for historical documents' and gives a scenario (Georgian evidence). It implies when to use but does not explicitly state when not to use or suggest alternatives. Still, the context is clear enough for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archive_evidence_gapEvidence Gap AnalysisARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | Hex colour to analyse e.g. '#4A535C' | |
| archive | No | Optional archive to search e.g. 'DarkHistory' | |
| n_candidates | No | Number of archive candidates to return (default 5) | |
| proposed_claim | Yes | What you want to say about this colour e.g. 'cyanosis in a death chamber' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description adds value by detailing the return structure (nearest archive support, support level, source type needed, safe wording). It does not contradict annotations and provides useful behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is 4 sentences, front-loaded with the core operation, followed by an illustrative example and use-case list. 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description sufficiently covers return values (support level, source type, safe wording) and provides an example. All 4 parameters are covered in schema, and the purpose is fully explained for the target workflows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 an example (hex #4A535C + proposed claim 'cyanosis in a death chamber') that illustrates parameter usage, and reinforces the meaning of 'archive' and 'n_candidates' in context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's action precisely: '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 specific verb+resource combination clearly distinguishes it from siblings like archive_search or archive_coverage_gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context ('anti-hallucination endpoint', 'essential for museum, documentary, editorial, legal, and forensic workflows') but does not explicitly state when not to use it or name alternative tools. The 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.
archive_provenanceExplain a Colour's ProvenanceARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| colour_name | Yes | Name of the archive colour e.g. 'Love Idleness', 'Woad Vat Blue', 'Murex Luxury' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, which aligns with the read-only nature. The description adds behavioral details about the returned fields and the separation of fact, derivation, and interpretation. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long with no wasted words. It efficiently conveys purpose, output, and importance, and is front-loaded with the key action and result.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the presence of an output schema, the description covers all necessary context: what it does, what it returns (list of fields), and when to use it. It is complete for an informed agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'colour_name', which already has a description. The tool description adds examples of colour names and context ('archive colour'), marginally enhancing understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 an archive colour with explicit separation of documented fact, hex derivation, and cultural interpretation. It uses specific verbs and resource, distinguishing it from sibling tools by focusing on provenance and trust.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 answering 'how do you know this?' and states it is essential for intellectual honesty. This provides clear context for when to use, though it doesn't explicitly mention when not to use or list alternatives.
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 BriefARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| avoid | No | Topics to suppress e.g. ['arsenic wallpaper', 'Wedgwood blue'] | |
| title | No | Document title e.g. 'The Colours of Georgian Power' | |
| themes | Yes | Research themes e.g. ['racing silks', 'EIC trade', 'Keats'] | |
| archives | No | Archives to search e.g. ['RacingSilks', 'EIC', 'Keats', 'Dickens'] | |
| audience | No | Target audience e.g. 'serious Georgian collector' | |
| n_colours | No | Number of colours to return (default 8, max 16) | |
| strict_sources | No | Only return entries with named primary sources (default true) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds valuable context: it reveals it makes 'Two Claude calls total' and details the rich output structure, enhancing understanding of behavior beyond the safe read nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and well-structured, front-loading the purpose, listing inputs and outputs, and concluding with usage guidance. Every sentence adds value for a composite tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, an output schema, and no complex nesting, the description covers purpose, inputs, outputs, and usage thoroughly. It provides enough context for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description lists the parameters again but does not add new semantic details beyond what the schema provides. No format constraints or examples are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'One-call complete archive research package' for documents, PDFs, or editorial briefs. It explicitly distinguishes itself from sibling tools by noting it replaces chaining 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this first for any document workflow', providing clear when-to-use guidance. It also explains what it replaces, implying when not to use individual tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archive_searchArchive Keyword SearchARead-onlyInspect
Full-text keyword search across all archive colour names and notes. Find colours by name fragment, material, cultural reference, pigment type, or historical period. Complements conceptual embedding search with exact keyword matching.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Alias for n_results | |
| query | Yes | Search term e.g. cerulean, Prussian, Ottoman, ochre, medieval | |
| archive | No | Optional archive filter e.g. oxfordshire, japan, pigment, keats, eic, racingsilks | |
| n_results | No | Number of results (default 10, max 50) | |
| include_full | No | Return complete notes and source fields. Default false returns 150-char snippets. Set true for report workflows. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's statement that it performs search is consistent. The description adds context about the scope (archive colour names and notes) and types of queries, but does not disclose additional behavioral traits like limits, edge cases, or performance characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the core function, and every sentence adds value. No wasted words; it efficiently communicates purpose and differentiation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 (which handles return value documentation), the description covers all key aspects: purpose, usage guidelines, and behavioral context. With 5 parameters and 100% schema coverage, no gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters well. The description adds some minor value by expanding query examples and explaining the include_full parameter's workflow context, but does not deeply enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it performs full-text keyword search across archive colour names and notes, and lists diverse searchable aspects (name fragment, material, etc.). It also distinguishes itself from the sibling tool 'query_conceptual' by stating it complements conceptual embedding search with exact keyword matching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates when to use this tool (exact keyword matching) and contrasts it with conceptual embedding search. It does not explicitly list when not to use, but the sibling differentiation provides strong contextual guidance.
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 StatusARead-onlyInspect
Return live archive status: total colour count, per-archive breakdown, embedding model, search engine state, and API version.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds behavioral context by listing the exact data returned, enhancing understanding 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the action and outcome, then lists specifics. No superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and presence of output schema, the description fully covers the tool's purpose and return values. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so schema coverage is 100%. The description adds meaning by detailing what the tool returns, which is valuable since there is no input schema to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns live archive status and lists specific fields (total colour count, per-archive breakdown, embedding model, search engine state, API version). It distinguishes itself from siblings which perform actions like audit, search, or generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for querying status, but does not provide explicit when-to-use or when-not-to-use guidance relative to siblings like archive_audit or archive_search. No alternatives are mentioned.
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 ExportARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | Target market | global |
| medium | No | digital | print | both | digital |
| palette | Yes | Hex values | |
| use_case | No | Use case | brand identity |
| brand_category | No | Optional brand name or category |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation declares readOnlyHint=true, so the tool is known to be read-only. The description adds behavioral context beyond the annotation: 'Deterministic. No LLM cost.' This informs the agent about reproducibility and resource consumption, which is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loading the key outputs in the first sentence and adding deterministic/ cost traits in the third. No redundant or unnecessary words; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description does not need to detail return values. It covers the types of outputs, behavioral traits, and scope. However, it does not mention any prerequisites (e.g., palette must contain at least one valid hex) or the structure of the returned JSON, which are partially covered by the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning all 5 parameters (market, medium, palette, use_case, brand_category) are already documented with descriptions in the schema. The tool description adds no additional parameter-level information, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: 'Returns CSS variables, Tailwind config, Figma tokens JSON, citation cards, and a Markdown brand guide.' It uses a specific verb ('Returns') and lists the resources, distinguishing it from siblings like brand_audit or brand_system by emphasizing it is a complete export pack.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for generating a complete brand asset pack with 'Everything a brand team needs to ship,' but does not explicitly state when to use this tool versus alternatives (e.g., brand_system for system design, brand_report for reports). No exclusions or when-not guidance is provided.
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 AuditARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | Target market e.g. 'UK luxury', 'global', 'Japan' | global |
| medium | No | digital | print | both | digital |
| palette | Yes | Array of hex values e.g. ['#D4A829', '#1A5C6E', '#0F2D6B', '#0A0A0B'] | |
| use_case | No | Use case e.g. 'brand identity', 'packaging', 'app UI' | brand identity |
| brand_category | No | Optional brand category e.g. 'developer tool', 'food', 'fashion' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint: true, meaning it is a read-only operation. The description adds valuable behavioral context: 'All computed data -- no LLM cost', revealing that no generative AI consumption occurs. This goes beyond annotations to inform about cost implications and computational nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first front-loads the core purpose and lists inputs/outputs, the second adds value propositions and replacement guidance. Every word earns its place; no extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (5 parameters, output schema present), the description fully covers inputs, outputs, behavior, and alternative usage. The existence of an output schema relieves the description from explaining return values, and it still provides ample context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters are fully described in the input schema (100% coverage). The description merely lists the parameters again without adding new semantic meaning or usage details beyond what the schema provides. Baseline score of 3 is appropriate as the description does not hinder understanding but also does not enhance it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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', listing specific inputs and outputs. It distinguishes from sibling tools by explicitly saying it 'Replaces chaining accessibility_matrix + cultural_risk_assessment + palette_verdict separately', making the unique purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: use this tool for a single comprehensive audit instead of chaining multiple separate tools. It also advises passing results to an LLM for narrative generation, indicating a clear after-use step. This makes when and when-not to use the tool very clear.
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 CheckARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | Market context e.g. 'UK luxury food retail' | |
| region | No | Region code e.g. 'GB', 'UAE', 'JP' | |
| brand_hex | Yes | Brand hero colour hex e.g. '#D4A829' | |
| brand_name | No | Brand name e.g. 'Fortnum and Mason' | |
| competitor_hexes | No | List of competitor hex colours | |
| competitor_names | No | Competitor names matching hex order |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description adds context about outputs (CIEDE2000 distances, distinctiveness score, verdict, recommendation) and use of archive context, increasing transparency 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the purpose and efficiently cover inputs and outputs without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and presence of an output schema, the description covers the main use case and return values adequately, though could mention constraints like competitor count.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good descriptions; the description lists parameters but does not add significant semantic depth beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: checking if a brand can own a color against competitors in a market, using specific verbs and distinguishing it from siblings like colour_compare.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use it ('before committing to a brand colour in a competitive market') and what it replaces, but does not explicitly mention when not to use it or alternatives.
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 ReportARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | Hero hex colour e.g. '#4A2A50' | |
| medium | No | Medium e.g. 'packaging', 'digital', 'interior' | general |
| concept | No | Optional concept to search for cliche contradiction e.g. 'luxury', 'eco', 'wellness' | |
| markets | No | Target markets e.g. ['UK', 'France', 'Japan'] | |
| product_type | No | Product type for copy e.g. 'velvet cushion', 'fragrance', 'cleaning spray' | |
| target_model | No | Image model for agent brief e.g. 'midjourney', 'flux', 'dalle' | midjourney |
| brand_context | No | Brand context: category, positioning, audience, channels |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, indicating a safe read operation. The description adds valuable behavioral context: it runs internally, requires no chained calls, cannot be blocked by safety filters, and completes in two Claude calls. This goes beyond the annotations to inform the agent about execution characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is informative and well-structured: a clear opening sentence, a comprehensive list of outputs, and explicit usage guidance. While it is somewhat lengthy for a tool description, every sentence adds value and the structure is logical. Slight trimming of the output list could improve conciseness, but it remains effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and an output schema), the description covers all necessary aspects: purpose, inputs, outputs, usage conditions, and differentiation from alternatives. The existence of an output schema means return values need not be explained, so the description is complete and self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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's meaning. The description merely lists the input parameters (hex, brand context, markets, etc.) without adding new details or constraints. Thus, it meets the baseline but does not enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it is a 'one-call complete brand colour intelligence report' and lists the specific outputs (e.g., archive anchor, cliche contradiction, colour DNA). It clearly distinguishes itself from chaining multiple sibling tools like colour_strategy and cliche_breaker, making the purpose precise and unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Use this instead of chaining colour_strategy + cliche_breaker + ecommerce_product_copy + memory_hooks + agent_brief separately.' It also notes that it 'runs entirely internally' and 'cannot be blocked by agent safety filters,' giving clear context on 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.
brand_systemComplete Brand Colour SystemARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | Target market e.g. global, UK, Japan | global |
| medium | No | digital | print | both | digital |
| palette | Yes | Hex values | |
| use_case | No | Use case e.g. brand identity, packaging | brand identity |
| brand_category | No | Optional e.g. developer tool, luxury, food |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds 'Deterministic. No LLM cost.' beyond the readOnlyHint annotation, providing valuable behavioral insight. It also details the extensive output, which helps the agent understand the tool's deterministic and cost-free nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that front-load the core function, followed by a list of outputs and two key properties. Every sentence adds value with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (returning many items), the description covers the main outputs. It is complete enough for an agent to understand what it does, though it could mention prerequisites or usage context for very complex scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 5 parameters. The description does not add new meaning beyond what the schema provides, so a baseline of 3 is appropriate. The listing of output items indirectly relates but does not enhance parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Complete brand colour system in one call', specifying the verb (returns) and the comprehensive resource (colour roles, maps, guidance, rules, tokens, cards). It distinguishes from sibling tools that focus on individual aspects like accessibility or audit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when a full brand color system is needed, contrasting with the specialized sibling tools. However, it does not explicitly state when not to use it or mention alternative tools, though the context of siblings provides some guidance.
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 NameARead-onlyInspect
Look up a named colour and return its hex, archive, provenance, and cultural notes.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Colour name e.g. 'Prussian Blue' or 'Ottoman Carbon Ink' | |
| slug | No | Stable colour slug from archive_search e.g. 'keats:keats-s-lung' -- preferred over name for reliable retrieval |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the readOnlyHint annotation by specifying the exact data returned (hex, archive, provenance, cultural notes). No contradictions observed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, compact sentence with no unnecessary words. All key information is conveyed efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 appropriately omits return value details. However, it could briefly mention the recommendation to use slug for reliability, enhancing completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both name and slug. The description does not add additional semantic meaning or clarify the preference for slug over name, so it does not exceed the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'look up', the resource 'named colour', and the return values ('hex, archive, provenance, and cultural notes'). This strongly distinguishes from sibling tools like colour_compare or colour_forensics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving details of a named colour but provides no explicit guidance on when to use this tool over alternatives, nor does it mention the preferred parameter (slug vs name) for reliable retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
colour_combinationColour Combination CheckARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| colours | Yes | 2-5 hex values to assess as a combination | |
| context | No | Usage context: UI | data viz | fashion | interior | print | branding | UI |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true; description confirms no mutation and adds detail on return types (harmony, clash, contrast, rules). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, front-loaded sentence with no wasted words; every detail serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low parameter count, rich schema, and output schema, the description fully covers purpose, inputs, and outputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters; description rephrases 'context' enum and adds meaning by stating the tool returns specific outputs, exceeding baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('assess') and resource ('colours as a combination') with context variety, clearly distinguishing from siblings like 'colour_compare' or 'colour_harmonies'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes the tool's function and outputs clearly, implying use for combination evaluation, but lacks explicit when-to-use or alternatives.
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 CulturalARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex_a | Yes | First colour hex e.g. '#003366' | |
| hex_b | Yes | Second colour hex e.g. '#1877F2' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, and the description confirms a non-destructive comparison. It adds value over annotations by detailing the types of analysis performed (perceptual, semantic, cultural) and the specific metrics returned (CIEDE2000, LRV, chroma, etc.), which helps the agent understand what to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, with front-loaded purpose and clear distinction from siblings. Minor redundancy (e.g., 'deep perceptual and semantic comparison' and then listing metrics) but no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 but noted), the description does not need to explain return values. It covers inputs, use cases, and the nature of the comparison comprehensively. The tool is a focused comparison with clear scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the two parameters (hex_a, hex_b). The description does not add new information beyond the schema; it implicitly confirms hex values. Baseline of 3 is appropriate as the schema already does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('compare') and resource ('two colours'), clearly distinguishing from siblings by explicitly stating 'Not a harmony tool — this is a decision and reasoning tool.' It enumerates the precise outputs (LRV, chroma, hue angle, etc.) and contrasts with harmony tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states when to use the tool: 'Use when choosing between two colours or explaining why one works better than another.' It also contrasts with a harmony tool, providing context. However, it does not specify when not to use it or mention alternatives explicitly, though the sibling list implies alternatives.
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 PaletteARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | No | Single hex value to assess e.g. '#FF9900' | |
| markets | No | Optional market focus e.g. ['China', 'Middle East', 'India'] | |
| palette | No | Optional list of hex values to assess as a palette |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, and the description confirms a read-only analysis by stating it 'returns warnings, positive associations, and context-dependent readings.' It adds value beyond annotations by specifying the basis ('documented cultural colour associations') and the outputs (warnings, market flags).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose. Every word serves a purpose without redundancy. Clear and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 but indicated), the description sufficiently covers the tool's purpose, parameters, and behavioral context. It addresses the complexity of cultural risk assessment without missing critical elements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds meaning by explaining what the assessment covers (symbolic weight, regional taboos, religious associations) and the context of use, which goes beyond the schema's technical parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'assess' and clearly identifies the resource ('cultural risk of a colour or palette'). It distinguishes from sibling tools like 'accessibility_check' and 'brand_audit' by focusing on cultural sensitivity, symbolic weight, and regional taboos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use before deploying a colour in a global brand, product, or campaign context,' providing clear when-to-use guidance. It does not explicitly define when not to use, but the context implies it is for cultural assessment, not general color theory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
colour_dnaColour DNA FingerprintARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | Hex colour to fingerprint e.g. '#4A2A50' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint: true, and the description adds context: 'No Claude call -- pure archive and physics data. Fast and cacheable.' This discloses performance characteristics and data source, which goes beyond the annotation. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (6 sentences), with the first sentence immediately stating purpose. Every sentence adds value: output fields, data source, performance, and usage guidance. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 an output schema, the description covers purpose, outputs, performance, and use cases comprehensively. It could mention error handling or edge cases (e.g., invalid hex), but overall it is complete enough for an agent to decide and use the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one well-described parameter (hex). The description does not add new parameter details but explains how the tool uses the hex to produce outputs, which is sufficient given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool produces a 'Compact semantic fingerprint' for any hex colour, listing specific output fields. It distinguishes itself from siblings like 'colour_story' by positioning this as a quick, cacheable semantic fingerprint for filtering and comparison, avoiding long prose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use it 'when an agent needs to reason about a colour semantically without reading long prose' and for 'filtering, ranking, or comparing colours.' While it doesn't explicitly name alternative tools or when not to use it, the context and sibling list imply other tools for deeper analysis.
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 CheckARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | Hex colour to assess e.g. '#2A5498' | |
| use | No | Specific use context e.g. 'heritage repair', 'new build interior', 'conservation project' | |
| finish | No | Paint finish e.g. 'matt', 'eggshell', 'gloss', 'limewash' | matt |
| substrate | Yes | Physical substrate e.g. 'lime plaster', 'gypsum board', 'brick', 'timber', 'canvas' | |
| orientation | No | Room or surface orientation e.g. 'north-facing', 'south exterior', 'east bedroom' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Disclosed as read-only via annotation; description adds value by explaining return structure (verdict, risks, light behaviour) and backing methods (CIEDE2000, Claude material knowledge). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single paragraph is well-structured: purpose, output, backing, examples. No fluff, but could be slightly more concise. Earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Moderate complexity with output schema present; description lists key outputs and parameter contexts. Examples ground usage adequately. No major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 5 parameters. Description does not add significant semantic beyond schema, but lists examples that contextualize usage. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool assesses safety for physical application, with specific verb and resource. Distinguishes from siblings like colour_cultural_risk or colour_verdict by focusing on physical application safety.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear use case for assessing colour safety in physical contexts. Lacks explicit exclusions or alternatives, but the description implies scope effectively.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
colour_harmoniesGet Colour HarmoniesARead-onlyInspect
Return complementary, triadic, analogous, and split-complementary harmonies matched to named archive colours.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | Hex value e.g. '#3A5C8C' | |
| harmony_types | No | Harmony types to include |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with the readOnlyHint annotation, confirming it is a read operation. However, it does not elaborate on any other behaviors (e.g., data source, authentication). The annotation already handles the safety profile, so the description does not need to repeat it, but it could add context about the 'archive colours' mapping.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, front-loaded sentence that efficiently conveys the tool's purpose and output. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is concise but has a slight inconsistency: it implies all harmony types are always returned, yet the 'harmony_types' parameter allows filtering. Additionally, 'named archive colours' is not explained. With an output schema present, return values are covered, but this issue reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing baseline of 3. The description adds value by listing the specific harmony types (complementary, triadic, analogous, split-complementary), which enhances understanding of the 'harmony_types' parameter beyond the schema's generic 'Harmony types to include'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns complementary, triadic, analogous, and split-complementary harmonies matched to named archive colours. The verb 'Return' with specific resource types distinguishes it from sibling tools like colour_combination 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.
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. With many sibling tools (e.g., colour_combination, colour_compare), the description fails to provide context or exclusions, leaving the agent to guess.
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 MemorableARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | Hex colour e.g. '#154F20' | |
| tone | No | Desired tone e.g. 'dinner party', 'academic', 'social media', 'brand copy' | dinner party |
| audience | No | Target audience e.g. 'general public', 'interior designers', 'children' | general public |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds behavioral context by stating the tool is 'backed by the nearest archive colour's cultural provenance' and lists the outputs. No contradiction; it provides useful insight 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the main action, and every sentence adds value. No redundant or missing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and the description listing the outputs explicitly, the tool is fully described. No gaps remain for an AI agent to understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter having a description. The description summarizes the tunability by audience and tone but does not add new semantic details beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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, three-sentence story, tweet, image prompt, and follow-up questions for any hex colour. It distinguishes from siblings by specifying the range of outputs and the backing by archive colour provenance, which is unique among sibling tools like colour_story.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases: 'make archive colours shareable, to generate content, or to power a public-facing colour chat experience.' It does not explicitly mention when not to use or alternatives, but the context signals and sibling list imply many tools exist for different purposes.
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 SystemARead-onlyInspect
Find the nearest named colour in commercial paint systems including Farrow and Ball and Little Greene.
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | Number of matches (default 3) | |
| brand | No | Optional brand filter: 'farrow' or 'little_greene' | |
| hex_val | Yes | Hex value e.g. '#003153' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation is present and consistent with the described search action. The description adds that it covers specific brands ('Farrow and Ball and Little Greene') but does not detail matching behavior (e.g., distance metric, handling of multiple results) or any limitations. It provides adequate but not exceptional context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 14 words, front-loading the core purpose. Every word contributes meaning; there is no redundancy or fluff. It is optimally concise for its content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (3 parameters, output schema present), the description is brief but covers the essential purpose. However, it omits usage context to differentiate from numerous color-related sibling tools (e.g., colour_compare, palette_compare). The output schema likely handles return value documentation, so the description is complete for simple tasks but lacks strategic guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are described in the input schema (100% coverage). The description mentions the brands in the main text but does not elaborate on parameter semantics beyond what the schema provides. Baseline score of 3 is appropriate as the description adds minimal extra meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 nearest named colour in commercial paint systems including Farrow and Ball and Little Greene.' It uses a specific verb ('find') and identifies the resource ('nearest named colour in commercial paint systems'), effectively distinguishing it from sibling tools like 'colour_namer' 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for matching a hex to commercial paint brands. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., when to use colour_compare or colour_namer). No exclusions or context about prerequisites are provided, leaving the agent to infer usage.
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 PropertiesARead-onlyInspect
Return perceptual colour metrics: LRV, chroma, hue angle, warmth classification, and illuminant shifts under D65 (6500K), F11 (4000K), and Illuminant A (3000K).
| Name | Required | Description | Default |
|---|---|---|---|
| hex_val | Yes | Hex value e.g. '#8B4513' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, indicating a safe read operation. The description adds valuable context about the specific metrics returned and illuminants considered, which goes beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that lists all key outputs efficiently, with no redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and the straightforward functionality, the description covers all relevant aspects: the type of metrics, specific values, and illuminant conditions, making it complete for agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter hex_val is well-described. The description adds no additional semantics beyond what the schema provides, maintaining the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 and lists specific outputs (LRV, chroma, hue angle, warmth classification, illuminant shifts), clearly distinguishing it from sibling tools like colour_compare or colour_harmonies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for obtaining numeric colour properties but offers no explicit guidance on when to use versus alternatives, nor any exclusions or prerequisites.
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)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex_a | Yes | First colour hex e.g. '#003366' | |
| hex_b | Yes | Second colour hex e.g. '#C8A600' | |
| ratio | No | Mix ratio 0.0-1.0 where 0.5 is equal parts (default 0.5) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, consistent with a simulation. The description adds value by explaining the use of CIE Lab subtractive model, perceptual accuracy, and the output components (mixed hex, archive match with cultural context). The example further illustrates behavior. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences followed by an example, all front-loaded: purpose first, then behavior, then example. No extraneous information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 covers purpose, model, output, and an example. It is complete for an agent to understand what the tool does and what it returns. Minor omission: the specific archive used for matching is not named, but this is not critical given the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all three parameters described. The description does not add new parameter details beyond the schema, but it reinforces usage through the example (Prussian Blue #003366 and Yellow Ochre #C8A600) and mentions the ratio default of 0.5. This is adequate but minimal extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool simulates subtractive mixing of two colours in CIE Lab space, distinguishing it from RGB screen blending. It specifies returning a mixed hex value and nearest archive match with cultural context, and provides an example (Prussian Blue and Yellow Ochre). This separates 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for perceptually accurate paint/ink mixing by contrasting with RGB blending. However, it does not explicitly mention when not to use it or name alternatives among siblings. The context is clear enough for an agent to decide when to invoke this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
colour_namerGenerate Archive-Grounded Colour NamesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | Hex colour to name e.g. #8B4A2A | |
| style | No | geographical | poetic | material | literary | botanical | industrial | mixed | |
| market | No | Target market e.g. UK luxury | |
| n_names | No | Number of name options (default 5) | |
| product_type | No | Product type e.g. candle, paint, leather bag |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is clear. The description adds context about archive grounding, but does not disclose potential limitations or error handling. It adds some value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact (4 sentences) and front-loaded with purpose. The last sentence ('The core of...') is slightly vague but not wasteful. Overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 key aspects: input, styles, archive grounding, and use case. It does not detail output structure, but the output schema handles that. Missing some guidance on parameter interactions, but sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for each parameter. The description lists style options which are already in the schema. It does not add new semantic meaning beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Generate') and resource ('archive-verified colour names'), and clearly indicates the input (hex value) and style options. It distinguishes from sibling colour tools by emphasizing archive grounding and naming styles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states it is for generating colour names with various styles, and positions it as central to the Shopify product naming use case. However, it does not explicitly tell when not to use it or name alternatives.
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 TokensARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | Hex value e.g. #D4A829 | |
| archive | No | Optional archive filter |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description adds context about the output (multiple token formats) and the algorithm ('Archive-grounded name source with dE2000 distance'), enhancing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. The first sentence lists all output formats clearly, and the second adds contextual detail about the naming source.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present (not shown), the description need not detail return values. It covers the tool's purpose, inputs, and key behavior (token formats, algorithm). Some minor details like pagination or error handling could be added but are not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no additional meaning to the parameters beyond what the schema provides. The description mentions a hex example and optional archive filter, matching schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Return every developer token format for a hex value' and enumerates specific formats (CSS variable, kebab-case, etc.), making the tool's function clear and distinct from siblings like colour_namer or colour_hooks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for converting hex values to developer tokens but does not explicitly state when not to use or provide alternatives. It is clear enough for the main use case.
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 ColourARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | Hex value e.g. '#DC143C' | |
| n_archives | No | Number of archive sources to draw from (default 5) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, which the description aligns with. The description adds that the output is a narrative, but doesn't disclose additional behavioral traits like rate limits or authentication needs. It neither contradicts nor significantly extends annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences and an example. Information is front-loaded and every sentence contributes value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, output schema exists), the description fully covers what the tool does, what it returns, and when to use it. No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description adds minimal value beyond the existing parameter descriptions. The example '#DC143C' is helpful but also present in the schema. No new semantic depth added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a cultural narrative about a colour given a hex value. It distinguishes from sibling tools like colour_cultural_risk or colour_forensics by focusing on cultural journey, history, and archive names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides clear use cases: image generation prompts, brand storytelling, creative briefs. Though it doesn't explicitly exclude other scenarios or name alternatives, the context is sufficient for selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
colour_strategyComplete Colour StrategyARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | Hex colour to evaluate e.g. '#4A2A50' | |
| medium | No | Primary medium e.g. 'packaging', 'interior', 'digital' | general |
| markets | No | Target markets e.g. ['UK', 'France', 'Japan'] | |
| constraints | No | Constraints object | |
| brand_context | No | Brand context object |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so description adds context on the analyses performed but does not introduce new behavioral traits. It appropriately matches the 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise yet comprehensive, front-loading purpose and listing inputs and outputs efficiently. Every sentence adds value, and examples enhance understanding without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given complexity (5 params, nested objects, output schema exists), the description covers all key aspects: inputs, outputs, and use cases. It is sufficiently complete for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description groups inputs and lists outputs, adding meaning beyond parameter descriptions. It provides a high-level overview of how parameters relate to the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states it's a 'flagship commercial endpoint' that combines multiple analyses (archive grounding, verdict, brand fit, etc.), clearly distinguishing it from sibling tools that likely perform individual analyses. Verb 'combines' and resource 'colour strategy' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for comprehensive colour strategy via 'flagship commercial endpoint' and provides examples of use cases. However, it does not explicitly state when not to use it or list alternatives, leaving some ambiguity.
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 HistoryARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | Hex value to trace through history | |
| tolerance | No | dE2000 tolerance for matching (default 20) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is known. The description adds value by specifying the tool produces a chronological order and gives an illustrative example (e.g., deep blue through history), 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences plus an example, with no fluff. It is front-loaded with the core action and efficiently conveys the tool's value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only 2 parameters and an output schema present, the description adequately covers the tool's behavior. It explains the chronological ordering and provides a concrete example, leaving no major gaps for an AI agent to misunderstand.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains both parameters. The description adds context with an example for hex but does not elaborate on 'tolerance' beyond the schema. Baseline 3 is appropriate since the description does not significantly extend meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 traces the colour's appearances across cultures and centuries in chronological order. It uses a specific verb ('traces') and resource ('colour appearances'), and the example distinguishes it from sibling tools like colour_story or colour_forensics by emphasizing chronological history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates it is 'essential for understanding why a colour carries the weight it does,' implying use when historical context is needed. While it lacks explicit when-not-to-use or alternative suggestions, the sibling context and example provide clear guidance.
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 SiblingsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Named archive colour e.g. Bourton Honey |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, and the description reinforces a read-only operation by stating it returns data. However, it does not disclose specific behavioral traits like whether the data is fetched from a database or any authorization needs, but the annotation already covers the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main action, no wasted words. Very concise and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one parameter and the presence of an output schema, the description adequately explains the return types (variants, lighter/darker, cultural siblings). However, it does not clarify what 'archival matches' or 'cultural siblings' mean, but overall complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the 'name' parameter. The description adds 'For any named archive colour,' which slightly reinforces the parameter meaning but does not add significant new semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool returns historical variants, lighter/darker versions, and cultural siblings for a named archive colour. It identifies the resource and action, and while it subtly distinguishes from siblings like colour_harmonies by mentioning cultural siblings, it does not explicitly differentiate from all 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description says 'Essential for designers exploring around a colour,' implying use case for exploration. However, it lacks explicit guidance on when not to use this tool or mention of alternatives among the many sibling tools, such as colour_harmonies or colour_compare.
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?ARead-onlyInspect
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | Hex colour to evaluate e.g. '#31559B' | |
| medium | No | Application medium e.g. 'digital', 'interior', 'print', 'fashion', 'packaging' | general |
| markets | No | Target markets e.g. ['UK', 'Japan', 'UAE'] | |
| audience | No | Optional: target audience e.g. 'high net worth travellers', 'young professionals' | |
| use_case | Yes | What the colour will be used for e.g. 'luxury hotel brand', 'heritage interior wall' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, which is consistent. Description adds context about CIEDE2000 and Claude cultural intelligence, but does not explain limitations or edge cases. Behavior is partially transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise with two sentences and a list of examples. Front-loaded with purpose, no wasted words. Slightly longer due to examples, but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters (2 required) and an output schema, the description sufficiently explains the function and return values (verdict, strengths, risks). Could mention the structured output, but output schema covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have schema descriptions, so baseline is 3. The tool description adds examples but does not significantly enhance meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool's purpose: evaluate a hex colour for a specific use case, market, and medium. It uses a specific verb 'evaluate' and resource 'hex colour', and distinguishes from sibling colour tools by focusing on a verdict outcome.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description gives examples of when to use, but does not explicitly state when not to use or mention alternatives. The sibling list includes many colour tools, but the description lacks guidance on choosing this tool over others.
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 ColourARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | Hex colour of the product e.g. '#4A2A50' | |
| tone | No | Copy tone e.g. 'premium but not pompous', 'warm and accessible', 'heritage and serious' | premium but not pompous |
| channel | No | Sales channel e.g. 'shopify', 'etsy', 'instagram', 'editorial' | shopify |
| brand_name | No | Optional brand name to include in copy | |
| product_type | Yes | Product type e.g. 'velvet cushion', 'ceramic vase', 'linen throw', 'candle' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains that the copy is grounded in archive provenance, not invented, which adds behavioral context beyond the readOnlyHint annotation. The generation action is consistent with a read-only operation on a database.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at around five sentences, with the main purpose clearly stated at the beginning. Each sentence adds meaningful information, though some minor redundancy could be removed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists all expected outputs and mentions the archive provenance, providing sufficient context for an agent to understand what the tool does and what to expect. Given the presence of an output schema, the description is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all parameters with descriptions, and the description adds value by providing concrete examples of inputs and their combinations, helping an agent understand how to use the parameters effectively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates complete ecommerce product copy for a given colour, listing specific inputs and outputs. It distinguishes itself from sibling tools 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates the tool is directly useful for Shopify, WooCommerce, and editorial product pages, providing clear applicability. However, it does not explicitly mention when not to use it or suggest alternative tools.
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 NamerARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hexes | Yes | List of hex values e.g. ['#D4A829', '#1A5C6E'] | |
| style | No | geographical | poetic | material | literary | mixed (default) | |
| max_dE | No | Max dE2000 distance to accept (default 25) | |
| brand_name | No | Brand name for context | |
| product_category | No | e.g. 'paint', 'candle', 'fashion', 'homeware' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds rich behavioral context beyond the `readOnlyHint=true` annotation, explaining the output structure (archive name, source citation, dE2000 distance) and asserting that names are 'archive-sourced, not invented' and defensible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured, front-loading the action and listing inputs/outputs in compact, scannable sentences with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description fully explains the output fields and use cases, providing all necessary context for an AI agent to understand the tool's behavior and limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 context by listing the style options ('geographical, poetic, material, literary, mixed'), which are not enumerated in the schema, and clarifies the role of each parameter, exceeding the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Generate' and resource 'archive-grounded colour names for up to 40 product SKUs', clearly distinguishing it from siblings like `colour_namer` by emphasizing ecommerce and archival sourcing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states concrete use cases ('paint ranges, candle collections, fashion lines, homeware, cosmetics') but does not explicitly mention when not to use or compare to alternatives among siblings.
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 ImageARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| archive | No | Optional: restrict archive matching to a specific archive | |
| n_colours | No | Number of dominant colours to extract (default 5, max 5) | |
| media_type | No | Image MIME type e.g. 'image/jpeg' | image/jpeg |
| image_base64 | Yes | Base64 encoded image (JPEG, PNG, WebP) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant value beyond the readOnlyHint annotation by explicitly stating the image is never stored and processed only in memory. It also details the algorithms used (K-means++, Bradford adaptation) and the output data (archive name, cultural story, RAL, WCAG), fully disclosing behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single coherent paragraph that front-loads the primary function followed by methods, use cases, and a privacy note. It is relatively concise, though could be slightly more structured (e.g., bullet points) for easier scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, full schema coverage, presence of output schema, and annotations, the description is complete. It covers input constraints, output details, privacy, and appropriate contexts, leaving no major gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 restates that the image is base64 encoded and mentions the default number of colours (5), but does not add new meaning beyond the schema. No contradictions or omissions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool extracts dominant colours and matches to named archive entries. It specifies technical methods and use cases, but does not explicitly distinguish from sibling colour tools, though its unique combination of extraction and cultural provenance implies differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists applicable domains (product photography, interiors, artwork, brand assets, mood boards), providing clear context for when to use. However, it does not mention when not to use or suggest alternative tools, missing explicit guidance.
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 ColoursARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional: person's name for the report e.g. 'Sarah' | |
| image_url | No | URL of a portrait photo hosted online. Easier than base64 for MCP use. Either image_url or image_base64 required. | |
| media_type | No | Image MIME type e.g. 'image/jpeg' | image/jpeg |
| image_base64 | No | Base64 encoded portrait photo (JPEG or PNG). Face should be clearly visible in natural light. Either image_base64 or image_url required. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true (safe, read-only), and the description adds that photos are never stored. It also discloses the analysis process using Claude Vision and CIEDE2000 matching. Adds value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at four sentences, front-loaded with the main purpose, and each sentence adds essential information. No redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully explains what the tool returns: seasonal type, depth, undertone, palette with provenance, and colours to avoid. Given the tool's complexity, this is complete and well-structured.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the description adds useful context: image_url is 'easier than base64 for MCP use' and image_base64 requires 'face clearly visible in natural light'. These details enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 and receive a personal colour analysis, including seasonal type, depth, undertone, and a curated palette. It distinguishes from sibling tools like palette_generate or image_palette by focusing on personal analysis using Claude Vision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the description implies use for personal colour analysis with an example, it does not explicitly state when to use this tool versus alternatives (e.g., image_palette for generic palette extraction). No when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_resonanceResonance IndexARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| entries | Yes | List of colour entries to score for resonance | |
| score_basis | No | Scoring basis (default: material_origin_to_social_consequence) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds behavioral context by detailing the output fields (resonance score, material origin, social function, alignment reason, confidence) and score interpretation, which informs the agent about what to expect 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured: definition, scoring examples, input/output format, use cases, and a closing distinction. Every sentence adds value, and key information is front-loaded. No redundant or vague statements.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and the complexity of the tool, the description covers the main purpose, inputs, outputs, and use cases. It explains the scoring scale and output fields sufficiently. Minor omissions like error handling or edge cases could improve completeness, but overall it is well-rounded.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds input format details (name, hex, archive, source, notes) that align with the 'entries' parameter, but does not elaborate on the 'score_basis' parameter beyond the schema default. Overall, minimal additional value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a proprietary semantic metric that scores alignment between material origin and social consequence of a colour. It provides specific score examples (1.00, 0.80, 0.50) and distinguishes itself from palette generators, making the purpose highly specific and unique among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists use cases: investigative reports, forensic briefs, museum content, editorial PDFs. It also implies when not to use by contrasting with palette generators. However, it does not explicitly exclude other contexts or name alternative tools among siblings.
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 BriefARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | Style direction e.g. 'heritage', 'contemporary', 'maximalist', 'minimal', 'scandi', 'industrial', 'coastal' | heritage |
| concept | Yes | Room concept or brief e.g. 'bold maximalist living room' or 'calm Scandi bedroom' | |
| n_colours | No | Number of colours in scheme (default 5, max 7) | |
| room_type | No | Room type e.g. 'living', 'bedroom', 'kitchen', 'study', 'bathroom', 'hallway', 'dining' | living |
| orientation | No | Room orientation e.g. 'north', 'south', 'east', 'west' — affects light advice |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, so the description aligns by describing generation of outputs. It adds behavioral context by detailing what the output includes (rationale, light behaviour, etc.), which goes beyond the annotation. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that starts with the core purpose, then lists outputs and examples. It is efficient but could be slightly more structured (e.g., bullets). No wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 100% parameter description coverage, the description provides a thorough overview of what the tool produces and its inputs. It covers the room brief use case comprehensively, leaving no critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters are described in the schema (100% coverage). The description adds example values and context but does not significantly enhance understanding 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.
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 interior colour specification from a concept. It lists specific outputs (60/30/10 assignments, paint matches, light behaviour, etc.) and provides example concepts, distinguishing it from siblings by mentioning a PDF version and stating it replaces a colour consultation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives examples of when to use the tool (e.g., 'bold maximalist living room') and points to the PDF variant for downloadable output. However, it does not explicitly state when not to use this tool versus sibling tools like palette_specify or palette_generate, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta_capabilitiesAPI Capabilities InventoryARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true; description adds that it's deterministic with no LLM cost and returns a live inventory, extending 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each purposeful: returns inventory, usage instruction, behavioral note. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and an output schema, description covers key aspects; could elaborate on 'usage notes' but overall adequate for a discovery tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (0 params, 100% schema coverage); description adds value by detailing return items (tool count, endpoint list, usage notes) beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it returns a live inventory of endpoints and MCP tools, distinguishing itself as the discovery tool among many siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this first to discover what the API can do before making calls,' providing clear when-to-use guidance; lacks explicit when-not, but strong directional advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palette_auditPalette Quality AuditARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | Target market | global |
| medium | No | digital | print | both | digital |
| palette | Yes | Hex values to audit | |
| use_case | No | Use case context | brand identity |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral details beyond the `readOnlyHint` annotation, such as being deterministic and having no LLM cost. It also specifies return format (score, grade, fix list), which is helpful for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with four sentences: what it does, what it scores, what it returns, and when to use it. No redundant information, perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description adequately covers the tool's purpose, inputs, and outputs. However, it could mention the output schema structure briefly for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the description does not need to add parameter details. The description provides context about scoring categories, but no additional parameter-level semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool performs a 'Full palette quality audit', listing specific dimensions (accessibility, cultural risk, etc.). It distinguishes itself from siblings like 'palette_verdict' by emphasizing 'Enterprise quality gate' and comprehensive scoring, but does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: 'use before shipping any palette'. However, it lacks guidance on when not to use this tool or how it compares to similar tools like 'palette_compare' or 'palette_verdict'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palette_compareCompare Two PalettesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| markets | No | Target markets | |
| use_case | No | Context for comparison e.g. luxury packaging | |
| palette_a | Yes | First palette hex values | |
| palette_b | Yes | Second palette hex values |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the tool's read-only nature (consistent with annotations) and specifies the return fields (timelessness scores, commercial strength, etc.), providing transparency beyond the annotations. However, it does not mention any limitations or side effects, which is acceptable for a read-only tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of a single sentence that covers purpose and outputs. It is well-structured with front-loaded information, but could be slightly more readable by separating the output items.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, but it does list them, which adds helpful context. The 4 parameters are implied through the description's focus on comparison and use case. It is sufficiently complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the baseline is 3. The description adds minimal meaning beyond the schema, only referencing 'stated use case' which corresponds to the use_case parameter already described in the schema. No new semantics are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it compares two palettes with a deep perceptual, cultural, and commercial focus, listing specific output metrics. However, among sibling tools like 'colour_compare' and 'palette_audit', the distinction is implied but not explicitly stated, slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions a 'stated use case', implying the tool is context-dependent, but it does not provide explicit guidance on when to use this tool versus alternatives or when not to use it. The usage context is only implied.
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 ConceptARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| concept | Yes | Cultural theme or historical period e.g. 'Victorian mourning' or 'Ottoman court' | |
| n_colours | No | Number of colours to return (default 5, max 8) | |
| include_neutrals | No | Include neutral/background colours |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, and the description adds context about the tool being 'historically grounded', 'sourced from the archive with documented history', and returning 'coordinated archive colours'. This provides useful behavioral context beyond the annotation, though it does not detail the generation algorithm or potential limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with minimal waste: first sentence states purpose, second provides illustrative examples, third adds a provenance guarantee. Highly front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 3 parameters (all described in schema), existence of output schema, and sibling tools, the description is sufficient for an agent to understand when to invoke it. It clearly defines the input (cultural concept), output (4-6 colours with details), and provenance guarantee.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with all three parameters (concept, n_colours, include_neutrals) described. The tool description adds no further parameter details but provides examples of valid concepts, which adds slight semantic value. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Generate' and the resource 'historically grounded colour palette from a cultural concept or theme'. It distinguishes itself from siblings like palette_generate and palette_heritage by specifying it uses archival colours with documented history and provides concrete examples (e.g., 'Victorian mourning').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through examples of cultural concepts but does not explicitly state when to use this tool over alternatives (e.g., palette_generate or palette_heritage). No direct guidance on when not to use it or what prerequisites exist.
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 FormatsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| names | No | Optional custom names | |
| format | No | css | figma | ase_hex | tailwind | json | |
| prefix | No | Token prefix e.g. cm, brand (default: cm) | |
| palette | Yes | Hex values to export |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with the readOnlyHint annotation by stating 'export', indicating no side effects. It adds context about automatic naming and embedding Colour Memory, which are useful behavioral details. However, it doesn't fully explain how naming or embedding works.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the key formats and purpose. No unnecessary information. Every sentence is meaningful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 is mostly complete. It covers the main purpose, formats, and mentions automatic naming and workflow embedding. However, it lacks details on the prefix parameter and naming behavior, which could be added for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes all parameters. The description adds minimal value, only mentioning 'automatically named' which relates to the optional names parameter. It doesn't explain the prefix or the naming logic beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports a palette to multiple design formats (CSS, Figma, Tailwind, ASE, JSON). It also mentions automatic naming and embedding Colour Memory, which 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The implied usage is for exporting palettes to design tool formats, but it lacks explicit guidance on when to use this over alternatives (e.g., palette_specify) or when not to use it. The context is clear but no exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palette_generateLock-and-Fill Palette from ArchiveARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Total palette size 2-8 (default 5) | |
| slots | Yes | List of palette slots. Each has index (0-7), optional hex, and locked flag. | |
| archive | No | Optional: restrict fills to one archive e.g. 'Oxfordshire', 'Shakespeare', 'Japan' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds behavioral details: returns full citation (name, archive, source, colour notes) and mentions interpolation and optional archive filter. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus an example, no wasted words. Information is front-loaded with the core action and constraints immediately clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present (not shown), the description adequately covers return format. No mention of pagination or limits, but the small max size (8 slots) makes that acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions. The description adds value by explaining the filling logic (CIEDE2000, interpolation) and providing an example that ties parameters together.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: fill empty palette slots with CIEDE2000 archive matches based on locked anchors. It distinguishes itself from sibling palette tools by specifying the lock-and-fill mechanism and archive interaction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a concrete example (lock a client's wall colour and fill from Oxfordshire), implying use cases. However, it does not explicitly exclude alternatives or compare to siblings like palette_concept or palette_strict.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palette_heritageHeritage Palette EvolutionARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | Target market | |
| context | No | Brand context | |
| palette | Yes | Existing hex values | |
| brand_name | No | Brand name for CSS tokens | |
| n_additions | No | Archive colours to add (default 3) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral detail beyond the readOnlyHint annotation, including identifying archive anchors, scoring confidence, detecting gaps, filling from archive, and returning CSS tokens and production notes. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a well-structured paragraph of 6 sentences, front-loaded with the main purpose. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, output schema exists), the description covers all key aspects: input, processing steps, and output components (roles, confidence scores, CSS tokens, production notes). The presence of output schema reduces the burden on the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 context by explaining that the palette parameter is the legacy palette and that n_additions controls how many archive colors to add, going beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool takes a legacy palette and generates an archive-grounded premium support system, listing specific actions like identifying historical anchors, naming, scoring provenance, detecting gaps, and filling them. This clearly distinguishes it from sibling tools like palette_audit or palette_compare.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear: use this when you have a legacy palette and want to enrich it with archive data. However, it does not explicitly mention when not to use it or provide alternatives, though the sibling list offers context.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| markets | No | Target markets | |
| palette | Yes | Current hex palette to refine | |
| feedback | Yes | Natural language refinement e.g. more melancholic | |
| use_case | No | Use case context e.g. luxury homewares | |
| direction | No | Alias for feedback — natural language direction e.g. more dangerous, more historical, warmer | |
| n_results | No | Number of variants to return (default 1) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, so the description's mention of 'Refine' aligns. It adds output details (archive grounding, change rationale) but does not disclose potential side effects, authorization needs, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences that front-load the core purpose, provide illustrative examples, and state the output. No unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The core functionality and key inputs/outputs are well described. However, optional parameters like 'markets' and 'use_case' are not mentioned in the description, though they are documented in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds value by providing concrete examples of feedback (e.g., 'more melancholic'), which helps the agent understand the natural language format beyond the schema's generic description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool refines an existing palette using natural language feedback, with specific examples of input and output. This distinguishes 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for iterative refinement but does not explicitly state when to use this tool versus alternatives or when not to use it. No exclusions or comparisons with siblings are provided.
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 MapsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| palette | Yes | Array of hex values | |
| use_case | No | Use case context e.g. UI, dashboard, report | UI |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only. The description adds behavioral details such as LRV analysis, contrast safety checks, and missing neutrals flagging, providing useful context beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with a list of actions, which is efficient. However, the list is somewhat dense and could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema assumed present, the description doesn't need to detail return values. It covers the core functionality and process steps adequately 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema fully documents parameters. The description adds minimal new meaning beyond stating the palette array and use_case context, fitting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates light and dark mode role maps from a palette, listing specific operations (LRV analysis, role assignment, contrast check, missing neutrals flag). This distinguishes it from sibling tools like palette_audit or palette_verdict.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for generating role maps but provides no explicit when-to-use or when-not-to-use guidance compared to alternatives like palette_generate or palette_specify. Usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palette_pdfGenerate Palette PDFARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Optional title for the palette e.g. Ottoman imperial luxury | |
| source | No | Optional source label e.g. brand, conceptual | archive |
| entries | Yes | Array of colour entries from query_hex or palette_concept. Each needs name, hex, archive_source, colour_notes, primary_source, zone. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true aligns with generating a PDF (no side effects). Description adds behavioral context: PDF contains full-bleed colour panels, provenance, RAL, etc. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, efficient and front-loaded. Every sentence provides useful information without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists (not shown), description explains PDF contents adequately. Covers parameter usage and output nature. Could mention file format but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. Description adds value for `entries` parameter by listing required fields (name, hex, etc.). Other parameters not enhanced, but overall adds context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it generates a premium branded PDF specification sheet from palette entries. Distinguishes from siblings like palette_export by specifying PDF output and content details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to pass entries array from query_hex or palette_from_concept directly. Indicates use case for client deliverables. Lacks explicit when-not-to-use or alternatives.
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 RoomARead-onlyInspect
Generate a complete interior specification from 2-8 hex values. Returns surface assignments, 60-30-10 proportions, lighting behaviour, and archive colour names.
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | e.g. 'heritage', 'contemporary', 'minimal' | |
| colours | Yes | List of 2-8 hex values | |
| room_type | No | e.g. 'living', 'bedroom', 'kitchen', 'study' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, consistent with description's 'generate' implying computation. Description adds valuable output details (lighting behaviour, archive names) 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence front-loads the action and lists outputs concisely with no superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 return values and parameter constraints for 'colours'. However, optional parameters 'style' and 'room_type' are not mentioned, slightly reducing completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds constraint of 2-8 hex values and explains return structure, providing additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 2-8 hex values, listing specific outputs like surface assignments and proportions, which distinguishes it from sibling tools like palette_generate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over alternatives such as palette_generate or interior_specify. No when-not or alternative tools are mentioned, which is a gap given many sibling tools.
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 ConceptARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| concept | Yes | Cultural concept e.g. Japanese wabi-sabi | |
| n_colours | No | Number of colours (default 5) | |
| min_relevance | No | Minimum relevance score 0-1 (default 0.3) | |
| allowed_archives | No | Archive names to restrict results e.g. ['Japan', 'China'] | |
| include_neutrals | No | Include neutral tones (default true) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description need not repeat read-only behavior. It adds transparency by explaining archive filtering and relevance filtering business logic, which is 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each adding value: first sets purpose with sibling reference, second gives usage examples, third provides broader context. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, description does not need to cover return values. It fully explains the tool's unique value proposition, filtering capabilities, and use case. Complex enough with 5 parameters but all covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 purpose of 'allowed_archives' and 'min_relevance' with examples, clarifying how they relate to the tool's goal, which is above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states it is 'Like palette_concept but with archive filtering and relevance controls', clearly identifying the verb (generates a palette) and resource (concept-based palette with filtering). It distinguishes from the sibling palette_concept by specifying the added features.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
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 states the context where it is beneficial: 'Fixes cross-archive drift when cultural specificity matters', implying when not to use (when no filtering needed, use palette_concept).
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 ArchiveARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| palette | Yes | List of hex values to translate e.g. ['#F5F0E8', '#8B6B3D'] | |
| max_delta_e | No | Max acceptable CIEDE2000 distance — above this is flagged out-of-threshold (default 40) | |
| target_archive | Yes | Archive to translate into e.g. 'Shakespeare', 'Japan', 'Oxfordshire' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the algorithm (CIEDE2000), the output relevance bands, and provenance, adding significant detail beyond the readOnlyHint annotation. It discloses what happens during translation 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action in two sentences, no fluff. Every sentence adds value: the first explains the mechanism, the second gives concrete examples.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and presence of an output schema, the description adequately covers the process and usage. It could mention edge cases or defaults more explicitly, but overall it is sufficient for an agent to understand and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 enriches parameter meaning by explaining the algorithm, relevance bands, and providing archive examples, going beyond the schema's brief descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: mapping hex values to a named archive using CIEDE2000 matching, with detailed output relevance bands and provenance. It provides specific use cases that distinguish it from sibling palette tools like palette_audit or palette_compare.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage scenarios (e.g., translating client paint colors into Shakespeare language), telling the agent when to use it. It lacks explicit 'when not to use' or alternative tools, but the examples effectively guide appropriate usage.
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?ARead-onlyInspect
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | Optional: target market e.g. 'UK', 'Japan', 'global' | |
| medium | No | Application medium e.g. 'interior', 'digital', 'fashion', 'print' | general |
| palette | Yes | List of 2-8 hex values e.g. ['#31559B', '#E8D898', '#4A2A50'] | |
| use_case | Yes | What the palette will be used for e.g. 'luxury cushion collection', 'brand identity' |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true. Description adds behavioral details: returns verdict, score, roles, weakness, suggestion, and cultural grounding. No contradiction, adds value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus examples, front-loaded with purpose, then output details and usage context. No waste, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists, description covers input constraints (2-8 hex), output format (verdict, score, roles, weakness, suggestion), and cultural matching. Examples and clear scope make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. Description adds meaning by contextualizing parameters with use case examples and output details, without repeating schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'evaluate' on resource 'palette' with constraints (2-8 hex values for use case/market/medium). It distinguishes from siblings like palette_audit or colour_verdict by detailing the verdict types and cultural matching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context with examples (e.g., 'premium cushion collection UK ecommerce') but does not explicitly state when not to use or mention alternatives among siblings.
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 CultureARead-onlyInspect
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The colour concept or cultural question to search for | |
| archive | No | Optional: restrict to a named archive e.g. 'Japan', 'Pigment', 'OttomanEmpire' | |
| n_results | No | Number of results (default 5) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds that results include provenance and cultural context. It doesn't cover failure cases or limitations, but is generally transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with concrete examples; no wasted words. Front-loaded with the core action and supported by examples.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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's purpose is clear, the description adequately covers what the tool does and what kind of results to expect. Could mention edge cases like ambiguous queries, but not necessary for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds minimal value beyond the schema. It provides example queries that reinforce the purpose, but doesn't clarify parameter constraints or formats beyond what's in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly describes the tool as a conceptual search for archive colours based on cultural/historical/material questions. Examples like 'grief', 'Ottoman luxury', 'toxic Victorian pigments' differentiate it from sibling tools like query_hex.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States it works for abstract queries and gives examples, but does not explicitly specify when not to use or mention alternatives. The context is clear enough for an agent to distinguish from siblings.
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 CodeARead-onlyInspect
Find the closest named archive colours to a hex value using CIEDE2000 perceptual distance.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | Hex value with or without # e.g. '#8B4513' | |
| archive | No | Optional: restrict to a named archive | |
| n_results | No | Number of results (default 5) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. Description adds the perceptual distance algorithm, but doesn't disclose return format, pagination, or error handling. With readOnlyHint present, the bar is lower, but still limited detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, no unnecessary words. Efficiently conveys purpose and method.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of output schema and readOnlyHint, the description covers essential purpose and algorithm. However, it doesn't explain the ordering of results or the effect of the n_results parameter. Good but could be slightly more informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 no additional meaning beyond the schema's parameter descriptions. No extra clarifying examples or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states specific verb 'find' and resource 'closest named archive colours' using precise method 'CIEDE2000 perceptual distance'. Clearly distinguishes from siblings like query_conceptual 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use or when not to use this tool versus sibling tools. It implies use when you have a hex value, but doesn't mention limitations or alternatives. Adequate but missing contextual prompts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
session_briefForensic BriefARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | forensic | editorial | clinical | narrative | |
| avoid | No | Themes to suppress | |
| title | No | Brief title e.g. 'The Colours of Pleasure' | |
| themes | Yes | Research themes | |
| archives | No | Archives to draw from | |
| audience | No | Target audience e.g. 'serious collector' | |
| n_colours | No | Number of colour cards (default 8) | |
| period_end | No | End year e.g. 1830 | |
| period_start | No | Start year e.g. 1714 | |
| target_period | No | Historical period e.g. 'Georgian England 1714-1830' | |
| strict_sources | No | Only include entries with named primary sources | |
| confidence_threshold | No | Min confidence 0-1 (default 0.6) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, which the description does not contradict. The description adds behavioral context beyond annotations, such as automatically running gap analysis, anachronism checks, and generating various outputs, but does not detail all side effects or permissions needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the key benefit. It uses bullet-like structure in prose, but is slightly dense with technical terms. No wasted sentences, but could be slightly more scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (12 parameters, output schema exists), the description is complete. It explains the tool's role, input summary, output nature ('complete deliverable package ready for PDF or editorial use'), and integrates well with the existing schema and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all parameters have descriptions). The description adds minimal value beyond grouping and clarifying tone options, but the schema already explains each parameter. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'One call returns a complete forensic colour brief.' It lists all integrated analyses and explicitly distinguishes from sibling tools by stating it replaces chaining multiple individual tools like coverage_gap, archive_report_brief, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies when to use ('for a complete forensic colour brief') and lists required inputs (title, audience, themes, etc.). It implies alternatives by naming individual tools it replaces, but does not explicitly state when not to use it or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
session_designFull Design Session — Concept to Complete PaletteARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| medium | No | Application context e.g. 'interior', 'brand identity', 'fashion', 'digital', 'print' | general |
| concept | Yes | Cultural theme, mood, or brief e.g. 'Victorian mourning', 'Ottoman court', 'Scandinavian minimal' | |
| n_colours | No | Palette size (default 5, max 8) | |
| include_prompt | No | Include image generation prompt (default true) | |
| include_accessibility | No | Include WCAG contrast check (default true) | |
| include_paint_matches | No | Include commercial paint matches (default true) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, but the description adds behavioral context by explaining it performs multiple operations and returns a package. It does not contradict annotations and adds useful transparency about its compound nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with 'One-call compound tool,' and efficiently covers outputs, usage, and alternatives in three sentences. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 high parameter coverage, the description adequately covers purpose, outputs, and usage. It mentions key outputs and references replaced tools, providing sufficient context for an agent to decide.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage, so baseline is 3. The description mentions inputs in a high-level way but does not add significant detail beyond the schema. No contradiction or missing info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a compound tool that takes a concept, medium, audience, and constraints to produce a complete design package, listing specific outputs. It distinguishes itself from sibling tools by naming the individual tools it replaces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'Use when an AI agent or user needs a complete, deployable colour direction in a single call.' Also states when not to use: 'Not for iterative refinement — use individual tools for that.'
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?ARead-onlyInspect
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?'
| Name | Required | Description | Default |
|---|---|---|---|
| ask | No | Optional: specific question e.g. 'what bag colour works?' or 'do the shoes work?' | |
| items | Yes | List of outfit items with label and hex colour | |
| occasion | No | Optional: occasion context e.g. 'daytime', 'evening', 'office', 'casual', 'wedding guest' | general |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description aligns by describing a non-destructive verdict. The description adds context about return content (verdict, clashes, missing items, historical backing) but lacks detail on response structure or potential limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (~110 words), front-loaded with the core question, and includes examples. Every sentence serves a purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 the tool's moderate complexity, the description sufficiently covers input format, output components, and usage context. Examples provide clear guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the description adds value by framing parameters in real-world stylist scenarios and providing example inputs for 'ask' and 'items', exceeding the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this tool answers outfit compatibility questions given hex colors and labels, distinguishing it from generic color theory tools like colour_harmonies. Examples illustrate the specific use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for fashion/style questions but does not explicitly state when to use this tool over siblings like colour_combination. No guidelines on when not to use or alternative tools.
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 GeneratorARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_hex | Yes | Brand colour hex e.g. '#D4A829' | |
| dark_mode | No | Generate for dark mode (default false) | |
| background_hex | No | Background hex (default #FFFFFF) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| result | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description details what the tool returns (hex, contrast ratio, WCAG grade, usage note, CSS custom properties), providing transparency beyond the read-only annotation. It implies no destructive actions and adds behavioral context about WCAG compliance and background contrast.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with four sentences, front-loading the main action and listing outputs efficiently. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low parameter count and presence of an output schema, the description is complete. It covers use case, outputs, and mode support, leaving no obvious gaps for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the description adds minimal extra meaning. It reinforces the purpose of the parameters (e.g., background for contrast) but does not provide nuanced details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: generate a WCAG-compliant UI state palette from a brand hex. It lists all output colors and features, distinguishing it from sibling palette tools by focusing specifically on UI states with contrast compliance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly recommends using the tool before building a UI component system and mentions support for light and dark modes. However, it does not explicitly state when not to use it or compare with sibling tools, but the guidance is sufficient for typical use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!