color-palette
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.
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.
Tool Definition Quality
Average 4/5 across 7 of 7 tools scored.
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.
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.
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.
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 toolscheck_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.
| Name | Required | Description | Default |
|---|---|---|---|
| background | Yes | Background hex color | |
| foreground | Yes | Foreground hex color |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Harmony type | |
| color | Yes | Base hex color, e.g. "#ff5733" | |
| count | No | Number of colors for monochromatic only (2–10, default 5) |
Tool Definition Quality
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.
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.
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.
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.
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.
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").
| Name | Required | Description | Default |
|---|---|---|---|
| color | Yes | Hex color string, e.g. "ff5733" or "#ff5733" |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | CSS variable prefix (default: "palette") | |
| colors | Yes | Array of hex color strings |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| steps | No | Number of gradient stops (2–20, default 5) | |
| color1 | Yes | Start hex color | |
| color2 | Yes | End hex color |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Color group key (default: "brand") | |
| colors | Yes | Array of hex color strings (up to 10) |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of colors (1–10, default 5) |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityBmaintenanceDeployable stateless remote MCP server on Cloudflare Workers without auth, with support for registering custom tools and connecting to MCP clients.23MIT
- Flicense-qualityCmaintenanceA template for deploying MCP servers on Cloudflare Workers without authentication. Provides a foundation for creating custom tools accessible via Server-Sent Events from both web-based and desktop MCP clients.
- Flicense-qualityCmaintenanceA minimal MCP server template that runs on Cloudflare Workers + TypeScript, enabling quick creation of tools like calculations, API wrappers, and static data endpoints.7
- Alicense-qualityDmaintenanceEnables creation and deployment of MCP servers on Cloudflare Workers, with local testing and one-command deployment.85MIT