Skip to main content
Glama

Iterate and Refine a Palette

palette_iterate
Read-only

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. 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>",
      "feedback": "<feedback>"
    },
    "name": "palette_iterate"
  }
}

Input Schema

NameRequiredDescriptionDefault
marketsNoTarget markets
paletteYesCurrent hex palette to refine
feedbackYesNatural language refinement e.g. more melancholic
use_caseNoUse case context e.g. luxury homewares
directionNoAlias for feedback: natural language direction e.g. more dangerous, more historical, warmer
n_resultsNoNumber of variants to return (default 1)

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / direction / description
      Previous value: -"Alias for feedback — natural language direction e.g. more dangerous, more historical, warmer"New value: +"Alias for feedback: natural language direction e.g. more dangerous, more historical, warmer"
  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. Changed2 schema fields changed
    • addedInput schema / properties / direction
      Added value: +{
      +  "default": "",
      +  "description": "Alias for feedback — natural language direction e.g. more dangerous, more historical, warmer",
      +  "type": "string"
      +}
    • addedInput schema / properties / feedback / default
      Added value: +""
  5. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true; the description adds substantial context beyond that — archive grounding, change rationale, an explicit warning that archive anchors are evidence and not the recommended colours, and the fact that the response carries rendered palette plus PNG/PDF/ASE/JSON/CSS downloads. It stops short of covering latency, n_results behavior, or failure modes when feedback is ambiguous.

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

Conciseness4/5

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

Front-loads what the tool does and what it returns before the caveats, and every sentence carries information. It is slightly long, and the downloads list could be compressed, but there is no filler.

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

Completeness4/5

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

An output schema exists, yet the description still usefully summarizes the payload and the evidence-vs-recommendation distinction, and it closes the loop with palette_finalize. The remaining gap is the direction/feedback alias ambiguity, which matters for a 6-parameter tool with two near-duplicate inputs.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description reinforces palette and feedback meaning with worked examples, but it never addresses the 'direction' parameter documented as an alias for feedback — the most likely source of confusion for an agent filling the schema.

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

Purpose5/5

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

Starts with a specific verb and resource — 'Refine an existing palette using natural language feedback' — and names the input (current palette + feedback) and the output (refined palette with change rationale). It is clearly distinguishable from generation-style siblings and explicitly links to palette_finalize as the downstream step.

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?

Gives concrete usage cues with example feedback strings ('more melancholic', 'too corporate add warmth') and states the follow-on step ('registered with palette_finalize, called once with those exact colours'). It does not explicitly say when to prefer this over palette_generate or palette_concept, so the alternative-selection guidance is implied rather than stated.

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