Skip to main content
Glama

Colour Relationships

colour_relationships
Read-only

What is this archive record connected to, and why? One-hop lookup over Colour Memory's stored relationship graph -- today populated for PigmentLineage, whose 348 design_combination nodes are Wada's 1933 Dictionary of Color Combinations plates. Returns edges in separate blocks by relationship_class so a caller can never mistake a computed colour distance for something a historical source actually said: SOURCE_ASSERTED (the source itself states the relationship, e.g. 'this colour was assigned to numbered combination 176') versus DETERMINISTIC_STRUCTURAL (a mechanical fact about the source object, e.g. 'printed on this plate'). Every edge carries its own 'does_not_mean' caveat inline -- e.g. membership in the same Wada combination does not assert that any specific pair within it was individually intended as a pairing. Not every record_id has relationships yet; an empty result is a true negative, not an error. Get record_id values from archive_search or colour_card.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
record_idYesStable record id, e.g. from archive_search or colour_card.
include_computedNoInclude computed (not source-asserted) relationships where available. Default true.
include_unresolvedNoInclude same-name candidates across sources -- the cheapest, easiest-to-misread-as-evidence edge in the system. Default false.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
labelNo
record_idNo
structuralNoMechanical facts about the source object (plate layout etc.), kept separate from source_asserted on purpose.
source_assertedNoEdges the source itself states, grouped by predicate.

TDQS

A4.4/5.0
Behavior5/5

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

Even with readOnlyHint=true, the description goes far beyond the annotation by explaining that results are separated by relationship_class to prevent mistaking computed distance for historical assertion, that every edge carries an inline 'does_not_mean' caveat, and that missing relationships are true negatives. It also discloses the current population state (348 Wada plates). This is rich, honesty-promoting behavioral disclosure.

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 dense but every sentence earns its place: framing question, population context, relationship-class distinction, caveat behavior, true-negative semantics, and input source guidance. It is front-loaded with the core question and strongly structured for agent comprehension.

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?

Given the tool's complexity, the output schema, and the annotations, the description covers everything an agent needs to call it correctly: what the graph contains, how relationship classes are separated, what caveats accompany edges, how to interpret empty results, and where to obtain valid IDs. No critical context is missing.

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?

The schema already covers all three parameters at 100%, so the baseline is 3. The description adds meaningful context for record_id (stating its source) and for include_computed by clarifying what 'computed' relationships mean via DETERMINISTIC_STRUCTURAL. include_unresolved gets no description-level elaboration, but the schema carries its own explanation.

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?

The description clearly states a specific verb and resource: a one-hop lookup over Colour Memory's stored relationship graph, returning edges grouped by relationship_class. It gives concrete examples of SOURCE_ASSERTED and DETERMINISTIC_STRUCTURAL relationships, which sharply defines the tool's job. However, it does not explicitly distinguish itself from sibling tools like why_connected, so it stops short of a perfect 5.

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 clear usage context: this is a one-hop graph lookup, and it explicitly warns that an empty result is a true negative, not an error. It also tells the caller where to get valid record_id values (archive_search or colour_card). It does not name alternatives or state when not to use this tool, so it lacks explicit exclusions.

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