Skip to main content
Glama

Server Details

Cloudflare Workers MCP server: color-palette

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
lazymac2x/color-palette-api
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4/5 across 7 of 7 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: contrast checking, palette generation from a base color, random palette generation, color format conversion, and CSS/Tailwind output generation. While color_harmony and random_palette both generate harmonious colors, their inputs differ (base color vs. random), making the distinction unambiguous.

Naming Consistency3/5

Tool names mix conventions: some use a verb_noun pattern (check_contrast, convert_color, generate_css, generate_gradient, generate_tailwind) while others use noun_phrase (color_harmony, random_palette). The 'generate' prefix is applied inconsistently, as color_harmony and random_palette also generate outputs but don't follow the pattern. However, names are still readable and descriptive.

Tool Count5/5

Seven tools is well within the optimal range for a color utility server. Each tool serves a distinct function and together they cover the core color operations without unnecessary bloat.

Completeness5/5

The tool set covers the full workflow: generating palettes (color_harmony, random_palette), converting colors (convert_color), checking accessibility (check_contrast), and generating design-system outputs (generate_css, generate_tailwind, generate_gradient). There are no obvious dead ends; a user can generate a palette, examine its colors, and export it to different formats.

Available Tools

7 tools
check_contrastAInspect

Check WCAG 2.1 contrast ratio between foreground and background colors. Returns ratio and AA/AAA pass/fail for both normal and large text.

ParametersJSON Schema
NameRequiredDescriptionDefault
backgroundYesBackground hex color
foregroundYesForeground hex color
Behavior4/5

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

No annotations are present, so the description carries the full burden. It goes beyond a simple 'check contrast' by disclosing that it returns a ratio and AA/AAA pass/fail for both normal and large text, giving useful insight into output behavior without being verbose.

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?

The description is two sentences with zero filler. The first sentence front-loads the core purpose, and the second sentence succinctly explains the return value. Every word 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 simple two-parameter tool, the description fully covers the purpose, input semantics (via schema), and output behavior. No output schema exists, but the description explains what the return includes. There are no gaps considering the tool's low complexity.

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%, with both parameters described as hex colors. The description merely restates 'foreground' and 'background' without adding extra semantics (e.g., format requirements or defaults). The schema already carries the parameter meaning, so the description adds no additional value.

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 description uses a specific verb 'Check' with a resource 'WCAG 2.1 contrast ratio' and explicitly names the two inputs. This clearly distinguishes it from sibling tools like color_harmony or convert_color, which deal with color generation/conversion rather than accessibility checking.

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?

The description implies when to use the tool: when you need to verify color contrast compliance. It provides clear context on the purpose but does not explicitly exclude alternative uses or name alternatives. Since sibling tools are topically distinct, this is clear enough.

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

color_harmonyAInspect

Generate a set of harmonious colors from a base hex color. Harmony types: complementary, analogous, triadic, split, tetradic, monochromatic.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesHarmony type
colorYesBase hex color, e.g. "#ff5733"
countNoNumber of colors for monochromatic only (2–10, default 5)
Behavior2/5

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

With no annotations, the description carries the full burden for behavioral disclosure, but it only states the basic purpose. It doesn't mention output format, that 'count' applies only to monochromatic, or any side effects. The description adds no behavioral details beyond the 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?

The description is a single concise sentence with a list of harmony types. It is front-loaded and contains no filler or redundant information.

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

Completeness2/5

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

Since there is no output schema, the description should explain the return format, but it doesn't. It also doesn't clarify parameter nuances like the optional 'count' for monochromatic. The tool is simple, but the description is incomplete for a caller.

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 lists harmony types, but these are already in the schema enum. It doesn't add meaning beyond what the schema already provides.

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 description clearly states the tool's function: 'Generate a set of harmonious colors from a base hex color.' It uses a specific verb and resource, and lists the harmony types, which distinguishes it from sibling tools like generate_gradient or random_palette.

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?

The description implies when to use the tool: when a harmonious color scheme based on a hex color is needed. It doesn't explicitly mention alternatives, but the sibling tools serve distinct purposes, so the context is clear enough.

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

convert_colorAInspect

Convert a hex color to HEX, RGB, HSL, and CMYK formats. Input: hex string with or without # (e.g. "ff5733").

ParametersJSON Schema
NameRequiredDescriptionDefault
colorYesHex color string, e.g. "ff5733" or "#ff5733"
Behavior3/5

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

With no annotations provided, the description carries the burden of disclosing behavior. It states the output formats (HEX, RGB, HSL, CMYK) but does not mention error handling, case sensitivity, return structure, or what happens on invalid input. This is basic transparency but lacks depth.

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?

The description is concise and front-loaded, starting with the action ('Convert a hex color...') followed by a brief input clarification. No filler or redundant content; every sentence earns its place.

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?

For a simple one-parameter tool with no annotations or output schema, the description covers the essential aspects: purpose and input format. It does not specify the exact output structure, but the conversion nature and listed formats imply the return includes these values. Slightly more detail would make it fully complete, but it is adequate.

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?

The input schema already provides 100% coverage for the single parameter with an example and format hint. The description repeats this information without adding substantial new meaning, so the baseline score of 3 is appropriate.

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 description clearly states the tool's function: converting a hex color to HEX, RGB, HSL, and CMYK formats. The verb 'convert' is specific and the resource ('color') is unambiguous, distinguishing it from sibling tools like check_contrast or generate_gradient.

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?

The description provides clear input requirements (hex string with or without #) and context for when the tool is appropriate (color conversion). However, it does not explicitly mention alternatives or when not to use this tool, which would warrant a 5.

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

generate_cssAInspect

Generate CSS :root custom properties from a list of hex colors. Returns a ready-to-paste CSS block.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoCSS variable prefix (default: "palette")
colorsYesArray of hex color strings
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states the tool returns a 'ready-to-paste CSS block', which is the primary behavior. For a stateless generation tool, this is adequate, though it doesn't mention edge cases like invalid color handling, which is acceptable for this scope.

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?

The description is two concise sentences, front-loaded with the core action. Every word adds value: it specifies the input, the output format, and the destination (CSS :root). There is no redundancy or fluff.

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 tool with 2 simple parameters and no output schema, the description fully explains what it does and what it returns ('ready-to-paste CSS block'). It provides enough context for an agent to invoke it correctly without needing additional details.

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?

The schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds no additional parameter-specific meaning beyond what the schema already provides (e.g., 'hex color strings' is already in the schema). It does not explain the 'name' parameter further, but the schema's description is sufficient.

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 description clearly states the tool generates CSS :root custom properties from hex colors, with a specific verb ('Generate') and resource ('CSS :root custom properties'). It also distinguishes itself from siblings like generate_gradient and generate_tailwind by focusing on CSS variable generation, and mentions the output ('ready-to-paste CSS block').

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?

The description provides clear context for when to use the tool: when the user needs CSS custom properties from hex colors. However, it does not explicitly mention alternatives or when not to use it, so it falls short of a 5. It still gives enough context for a simple tool.

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

generate_gradientAInspect

Generate an interpolated gradient between two hex colors. Returns color stops and a ready-to-use CSS linear-gradient string.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepsNoNumber of gradient stops (2–20, default 5)
color1YesStart hex color
color2YesEnd hex color
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does explain that the output includes stops and a CSS gradient string, and implies the interpolation method. However, it does not disclose edge-case behavior (e.g., invalid hex, ordering, whether steps includes endpoints) or mention that the operation is side-effect-free.

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?

The description is a single, front-loaded sentence that directly states the action and deliverables. Every word contributes value, and there is no redundancy or fluff.

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?

While the description covers the core purpose and output, it omits details such as expected color format (e.g., #RRGGBB), whether steps includes the endpoint colors, and any constraints on interpolation. With no output schema or annotations, these omissions make the description only minimally complete for a simple tool.

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% for all three parameters, so the schema already documents the meaning of color1, color2, and steps. The description adds no additional parameter-level detail beyond what is in the schema, which is acceptable given the high coverage. Baseline 3 applies.

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 description clearly states the action 'Generate an interpolated gradient' and identifies the resources (two hex colors). It also specifies the output: color stops and a CSS linear-gradient string. This distinguishes it from sibling tools like generate_css which likely handles broader CSS generation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool relative to alternatives such as generate_css or generate_tailwind. It only states what it does, without context on prerequisites or exclusions, so the agent must infer applicability.

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

generate_tailwindAInspect

Generate a Tailwind CSS color config object. Colors are mapped to standard shades (50, 100, 200 … 900) in order. Paste the result into tailwind.config.js theme.extend.colors.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoColor group key (default: "brand")
colorsYesArray of hex color strings (up to 10)
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the key behavior: 'Colors are mapped to standard shades (50, 100, 200 … 900) in order,' which reveals the transformation logic. It does not mention edge cases, but the schema covers limits like 'up to 10' and the name default.

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?

The description is two sentences with no fluff. The action is stated first, followed by the mapping rule and the usage instruction. Every word contributes value, and it is appropriately sized.

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 simple 2-parameter tool with no output schema, the description adequately explains the return value concept ('config object'), the shade mapping, and the integration point. No significant gaps are present.

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% (both name and colors have descriptions), but the description adds crucial semantics for the `colors` array by explaining the ordered mapping to shades 50–900. This goes beyond the schema's basic type and description, providing meaning about how order affects output.

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 description states a specific verb and resource: 'Generate a Tailwind CSS color config object.' It also clarifies the output's destination ('Paste the result into tailwind.config.js theme.extend.colors'), which differentiates it from sibling tools like generate_css or generate_gradient.

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?

The description gives a clear usage context by instructing to paste the result into tailwind.config.js theme.extend.colors, implying the intended use case. However, it does not explicitly mention alternatives or provide when-not-to-use conditions.

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

random_paletteAInspect

Generate a random harmonious color palette. Colors share a hue family to avoid clashing.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of colors (1–10, default 5)
Behavior3/5

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

The description adds the behavioral detail that 'Colors share a hue family to avoid clashing,' which is useful context beyond basic generation. However, with no annotations, it does not disclose output format, whether the generation is truly random or deterministic, or any other limitations.

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?

The description is a single sentence with no redundant words. It efficiently conveys the primary purpose and a key behavioral trait, earning its place without any fluff.

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

Completeness2/5

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

With no output schema and no annotations, the description should explain what the tool returns (e.g., an array of color codes), but it does not. It also fails to mention the count parameter's role in the output, leaving the agent to infer the return structure from the schema alone.

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?

The input schema provides full coverage for the single 'count' parameter, including its range and default. The description does not add any additional parameter semantics, but since schema coverage is 100%, the baseline of 3 applies.

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 description clearly states the tool's function: 'Generate a random harmonious color palette.' This uses a specific verb ('generate') and resource ('color palette'), and the mention of 'harmonious' and 'random' distinguishes it from siblings like generate_gradient or color_harmony.

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?

The description implies when the tool is useful (when you need a random but harmonious palette), but it does not explicitly contrast with alternatives such as color_harmony or generate_gradient. No exclusions or alternative recommendations are provided.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.