Skip to main content
Glama

Extract Colours from Image

extract_image_colours
Read-only

Extract dominant colours from a photograph using Colour Memory's proprietary k-means++ algorithm. Requires either a public image_url, or an image_id. If you only have a raw uploaded file with no public URL (e.g. a local file path or a ChatGPT file attachment without a usable download_url), call ingest_image first to get an image_id, then pass that image_id here. Returns hex values with proportional weights. Optionally matches colours against the archive with style_context for coherent cultural naming. Use this before image_brief when you have an uploaded photograph.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kNoNumber of colours to extract (3-12, default 6)
imageNoImage file attachment from ChatGPT
analyseNoIf true, match colours against archive and return names
image_idNoEphemeral image_id returned by ingest_image. Use this if you only have a local file path or raw file attachment with no public URL.
image_urlNoPublic URL of image
grey_card_hexNoHex from a grey/white card for white balance
style_contextNoe.g. English cottage garden, Victorian, Japanese

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds behavioral context like optional archive matching (analyse, style_context) and the ingest_image dependency flow. However, it doesn't describe the return shape or what happens with conflicting inputs (both image_url and image_id given), and 'ephemeral' image_id isn't elaborated.

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?

Description is compact and front-loaded with the core purpose, then branches into usage guidance. No wasted words. Minor deduction for slight redundancy between the ingest_image explanation in prose and the image_id parameter description.

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 7 params, 0 required, an output schema, and readOnlyHint annotation, the description covers the key decision points: which input to use and when, plus the optional analysis features. Missing behavioral details like behavior on conflicting inputs or error conditions, but the output schema covers return values. Adequate for the tool's 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 description coverage is 100%, so parameters are already documented. The description adds some value by linking image_id to ingest_image and explaining when each input source applies, plus clarifying style_context's purpose (cultural naming coherence). But with full schema coverage, the description correctly leaves heavy lifting to the schema.

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?

Description clearly states verb+resource ('Extract dominant colours from a photograph') and differentiates method (proprietary k-means++). It distinguishes from siblings: mentions ingest_image for raw uploads and positions it 'before image_brief'.

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

Usage Guidelines5/5

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

Provides explicit when-to-use ('Use this before image_brief when you have an uploaded photograph') and when-not-to ('If you only have a raw uploaded file... call ingest_image first'). Also clearly explains alternative path when no public URL exists.

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.

TDQS

A3.8/5.0
Disambiguation2/5

With 88 tools, there is substantial overlap: colour_passport vs colour_dna vs colour_metrics vs colour_cultural_risk are explicit components of the same object; palette_concept vs palette_strict vs palette_generate vs palette_heritage overlap heavily; and four image extraction tools exist (extract_image_colours, image_palette, palette_extact, ingest_image). Although descriptions are detailed and tool_guide exists, an agent will frequently struggle to select the correct tool unambiguously.

Naming Consistency5/5

Nearly all tools follow a consistent snake_case noun_verb or domain-prefixed pattern (colour_*, palette_*, brand_*, archive_*, project_*, accessibility_*). The naming is uniform and predictable, with no mixing of styles or verb conventions across the set.

Tool Count1/5

88 tools is an extreme count for an MCP server. Even honoring the broad domain, the rubric places 50+ at the extreme end, and the high overlap between compound and individual tools suggests many could be consolidated or exposed as sub-resources rather than top-level tools.

Completeness5/5

The tool surface covers the full colour lifecycle: lookup, analysis, palettes, brand systems, accessibility, image extraction, interior design, archival research, reports, PDF generation, and project management. Workflows have clear entry points and few dead ends, and the presence of compound tools further closes integration gaps.

Resources