Skip to main content
Glama

Check every pair in a palette

check_palette
Read-onlyIdempotent

Contrast ratio for every pair of 2 to 12 colors (up to 66 pairs), highest first, each flagged against the chosen WCAG level. Use it to see which brand colors can be used together for text. Read-only. Same engine as GET /api/palette.

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": {
      "colors": "<colors>"
    },
    "name": "check_palette"
  }
}

Input Schema

NameRequiredDescriptionDefault
levelNoWCAG target: aa 4.5:1 (default), aa-large 3:1, aaa 7:1, aaa-large 4.5:1, ui 3:1 (non-text).aa
colorsYes2 to 12 CSS colors.

Output Schema

NameRequiredDescriptionDefault
countYes
levelNo
notesNo
pairsYes
colorsNo
targetNo
passingYes
versionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/non-destructive, yet the description still adds real behavior: result ordering (highest first), per-pair WCAG flagging, the 66-pair upper bound, and parity with GET /api/palette. 'Read-only' is redundant with the annotations but the rest earns credit; return shape is intentionally left to the output schema.

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

Conciseness5/5

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

Three sentences, all substance: capability and limits first, then the practical use case, then a short technical anchor. Nothing is padded and the most decision-relevant facts lead.

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 a full output schema, rich annotations and complete parameter descriptions, the description only needs to sell the capability and its limits, which it does. The one remaining gap is sibling routing (when to call check_contrast instead), but nothing required to invoke the tool correctly is missing.

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

Parameters3/5

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

Schema coverage is 100% and the level enum documents all five WCAG targets, so the schema does the heavy lifting. The description only restates the 2-to-12 color bound and the notion of a 'chosen WCAG level' without adding format or validation detail beyond the schema — baseline 3.

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

Purpose5/5

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

States a specific verb+resource ('Contrast ratio for every pair') and pins the scope precisely: 2 to 12 colors, up to 66 pairs, ordered highest first, each flagged against the WCAG level. The word 'every pair' implicitly distinguishes it from the single-pair sibling check_contrast, so an agent can tell which to pick.

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 an explicit use case ('see which brand colors can be used together for text'), which is enough to place it in a workflow. However, it never names check_contrast as the alternative for a single pair or states when-not to use this batch variant, so routing depends on inference from the sibling's name.

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