Skip to main content
Glama

Generate Scheme

generate_scheme
Read-onlyIdempotent

Generate harmonious color palettes from a seed hex color (e.g., "#3498DB"). Returns complementary, analogous, triadic, or monochromatic schemes with hex codes.

Example tool call

This call uses example arguments supplied in the tool’s input schema.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "hex": "3498DB"
    },
    "name": "generate_scheme"
  }
}

Input Schema

NameRequiredDescriptionDefault
hexYesSeed hex color value without the # prefix (e.g. "FF5733").
modeNoColor scheme mode. One of: monochrome, analogic, complement, triad, quad. Defaults to "monochrome".
countNoNumber of colors to return (1-10, default 5).

Output Schema

NameRequiredDescriptionDefault
modeYesColor scheme mode used
countYesNumber of colors in scheme
colorsYesArray of formatted color objects
seed_hexYesSeed hex color with # prefix

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / count / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "string"
      +]
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "colors": {
      +      "description": "Array of formatted color objects",
      +      "items": {
      +        "properties": {
      +          "closest_named_hex": {
      +            "description": "Hex code of closest named color",
      +            "type": "string"
      +          },
      +          "cmyk": {
      +            "description": "CMYK color format string",
      +            "type": "string"
      +          },
      +          "contrast": {
      +            "description": "WCAG contrast ratio value",
      +            "type": "string"
      +          },
      +          "exact_name_match": {
      +            "description": "Whether the name is an exact match",
      +            "type": "boolean"
      +          },
      +          "hex": {
      +            "description": "Hex color value",
      +            "type": "string"
      +          },
      +          "hsl": {
      +            "description": "HSL color format string",
      +            "type": "string"
      +          },
      +          "hsv": {
      +            "description": "HSV color format string",
      +            "type": "string"
      +          },
      +          "name": {
      +            "description": "Common color name",
      +            "type": "string"
      +          },
      +          "rgb": {
      +            "description": "RGB color format string",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "exact_name_match",
      +          "closest_named_hex",
      +          "hex",
      +          "rgb",
      +          "hsl",
      +          "hsv",
      +          "cmyk",
      +          "contrast"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "count": {
      +      "description": "Number of colors in scheme",
      +      "type": "number"
      +    },
      +    "mode": {
      +      "description": "Color scheme mode used",
      +      "type": "string"
      +    },
      +    "seed_hex": {
      +      "description": "Seed hex color with # prefix",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "seed_hex",
      +    "mode",
      +    "count",
      +    "colors"
      +  ],
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "hex": "3498DB"
      +  },
      +  {
      +    "count": 4,
      +    "hex": "E74C3C",
      +    "mode": "triad"
      +  }
      +]
  4. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds useful context about the output shape (scheme variants plus hex codes), but introduces a conflict with the schema by showing the seed with a '#' prefix while the schema requires it without one.

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?

Two sentences, front-loaded with the action and input, then the output variants. No filler or redundant restatement of the title.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the annotations cover the safety profile. However, the description leaves the input format ambiguous by example and omits the 'quad' mode that the schema supports, which is a meaningful gap for a tool an agent must invoke with an exact-format string.

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 description coverage is 100% and all three parameters plus an examples block are documented, so the schema carries the load and baseline would be 3. The description contributes the output vocabulary for modes (complementary, analogous, triadic, monochromatic) and a seed example, which is mildly additive — though that example uses a '#' prefix that contradicts the schema's 'without the # prefix' rule and the mode names differ from the schema enum (monochrome, analogic, complement, triad, quad), so it earns 4 only on schema strength, not on the description's own contribution.

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

Purpose4/5

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

States a specific verb and resource ('Generate harmonious color palettes from a seed hex color') and enumerates the produced scheme types, so the intent is unambiguous. It does not explicitly differentiate itself from the palette-adjacent siblings convert_color or identify_color, which keeps it just short of a 5.

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

Usage Guidelines3/5

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

Usage is implied by the description: supply a seed color, get a palette. There is no explicit statement of when to prefer this over convert_color or identify_color, and no preconditions or exclusions are given.

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.