Skip to main content
Glama
aiexp1

Tanod MCP server

utilpeek: WCAG contrast check between a foreground and a background color

check_wcag_contrast
Read-onlyIdempotent

Check WCAG 2.x contrast between a foreground and background CSS color to get the contrast ratio and AA/AAA pass or fail for normal text, large text, and UI components.

Instructions

utilpeek: Check the WCAG contrast between a text color and a background color. To convert colour formats too use convert_color_check_contrast. Returns the WCAG 2.x contrast ratio of a foreground and a background CSS color, with AA / AAA pass or fail for normal text, large text and UI components (unrounded: #777 on white is 4.48:1 and fails AA). An unparseable or out-of-range color is a 422 before any payment (not charged). A translucent color is composited over the background before the contrast is computed. Typically under 0.1 s. Price: USD 0.001. Free: 10 utilpeek calls per IP per UTC day. Docs: https://tanod.dev/learn/color-contrast-checker-api.html

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
backgroundYesThe background color it sits on, in the same CSS color formats.
foregroundYesThe text or UI color, a CSS color: hex (#rgb, #rrggbb, #rrggbbaa), rgb() / rgba(), hsl() / hsla() or a CSS color name.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
errorNoOnly on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object.
ratioNo
backgroundNo
compositedNo
foregroundNo
large_textNo
ratio_textNo
normal_textNo
ui_componentsNo
ratio_unroundedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only/idempotent/non-destructive, and the description goes well beyond them: it documents the return shape (ratio plus AA/AAA pass-fail for normal, large, and UI text), a concrete unrounded example, 422 behavior on invalid colors with the key note that no charge occurs, translucent-color compositing semantics, typical latency, and price/free-tier terms.

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

Conciseness4/5

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

Front-loaded with the core action, then layered details. It is on the longer side (pricing, free tier, docs link, example) but each sentence carries operational value; the 'unrounded: #777 on white is 4.48:1' example notably earns its place.

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

Completeness5/5

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

For a two-param utility with an output schema, the description covers everything an agent needs: purpose, sibling routing, error semantics, billing, compositing behavior, and latency. Nothing material is left unspecified.

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 semantics: it clarifies the foreground is the text/UI color, and that a translucent color is composited over the background before computation, which affects how inputs are interpreted.

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: checking WCAG contrast between a text/foreground color and a background color. It also explicitly names the sibling convert_color_check_contrast as the tool for format conversion, so an agent can distinguish the two without opening a 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?

Provides an explicit routing hint ('To convert colour formats too use convert_color_check_contrast'), which covers the main adjacent use case. It does not state when this tool should not be used or other alternatives, but the context is clear for a single-purpose utility.

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

Deploy Server

Other Tools