Skip to main content
Glama

Translate Any Palette into a Named Archive

palette_translate
Read-only

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. The result already carries the rendered palette and its PNG, PDF, ASE, JSON and CSS downloads, ready to show the customer. The archive anchors a colour was derived from are evidence, not the recommended colours. A final palette chosen from this evidence is registered with palette_finalize, called once with those exact colours, so the customer can see and download what was actually recommended.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "palette": "<palette>",
      "target_archive": "<target_archive>"
    },
    "name": "palette_translate"
  }
}

Input Schema

NameRequiredDescriptionDefault
paletteYesList of hex values to translate e.g. ['#F5F0E8', '#8B6B3D']
max_delta_eNoMax acceptable CIEDE2000 distance — above this is flagged out-of-threshold (default 40)
target_archiveYesArchive to translate into e.g. 'Shakespeare', 'Japan', 'Oxfordshire'

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / palette / maxItems
      Added value: +24
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "Structured JSON response. Shape varies by tool; most return an 'ok' boolean plus a 'result' or 'results' field with the tool's data payload.",
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "error": {
      -      "type": "string"
      -    },
      -    "ok": {
      -      "type": "boolean"
      -    },
      -    "result": {
      -      "type": [
      -        "object",
      -        "array",
      -        "string",
      -        "null"
      -      ]
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "error": {
      +      "type": "string"
      +    },
      +    "ok": {
      +      "type": "boolean"
      +    },
      +    "result": {
      +      "type": [
      +        "object",
      +        "array",
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  5. Added

TDQS

A4.5/5.0
Behavior5/5

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

readOnlyHint is already declared, so the description's job is context, and it delivers: per-hex matching behaviour, a delta-e relevance band with four named tiers, provenance, and the output package (rendered palette plus PNG/PDF/ASE/JSON/CSS). Crucially it discloses an interpretive caveat that is not derivable from annotations or schema — that archive anchors are evidence, not recommended colours — which is the kind of nuance that prevents misuse.

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

Conciseness4/5

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

The mechanism is front-loaded in sentence one and the workflow caveat is placed last where it belongs. A few phrases are marketing-toned filler ('ready to show the customer'), and the sentence about downloads partially overlaps the output schema, but overall nothing is redundant enough to impair selection.

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

Completeness4/5

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

With an output schema present, return values need not be described, and the description still covers mechanism, thresholds, evidence semantics, and the hand-off to palette_finalize — enough for correct invocation of a 3-parameter tool. Minor omissions (how per-hex results are ordered, what happens above max_delta_e beyond being 'flagged') are small given schema and output-schema support.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning the schema lacks: max_delta_e is framed as a relevance band with named tiers (exact/close/approximate/loose) rather than just a numeric threshold. The palette parameter is only illustrated by the description's use-case framing, not given new constraints beyond the schema's maxItems of 24.

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

Purpose5/5

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

The first sentence states a specific verb and transformation ('Map any list of hex values into a target archive') plus the algorithm (CIEDE2000 nearest-neighbour), and later sentences explicitly separate this tool from palette_finalize. An agent can tell exactly what this does and how it differs from the finalization sibling without reading any schema.

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

Usage Guidelines4/5

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

Concrete usage contexts are supplied (client paint colours into Shakespeare, brand palette into Japanese pigments, French scheme into Oxfordshire equivalents), and the downstream relationship is spelled out: choose a final palette from this evidence and register it once with palette_finalize. The only gap is the absence of explicit when-not-to-use routing against analysis siblings like palette_analyse or palette_compare.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources