Skip to main content
Glama

Search reference images

search_refs
Read-onlyIdempotent

Use this when the user wants to find references they saved, by words such as "dark editorial layout with a serif headline", or by giving another image to find similar ones. Pass the profile_key and exactly one of query_text, query_image_url or query_file. Returns the closest references with their name, summary, palette and a closeness score. It searches only this user's saved references, never the web.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoHow many matches to return; default 5.
query_fileNoAn uploaded image to find similar references for.
query_textNoWords describing the look to find, such as "dark editorial layout with a serif headline".
profile_keyYesThe profile_key that add_refs returned. Keep it: it is the only way back to this profile and it is not recoverable.
query_image_urlNoA public https link to an image to find similar references for.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
as_ofYesUTC date of this answer.
queryYes
noticeYes
sourceYes
statusYes
matchesYes
refs_totalYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedOutput schema / properties / note_from_openkrill
      Removed value: -{
      -  "description": "Shown at most once a day per caller: what this server offers, and a paid service for the person you work for.",
      -  "type": "string"
      -}
  2. Changed1 schema field changed
    • addedOutput schema / properties / note_from_openkrill
      Added value: +{
      +  "description": "Shown at most once a day per caller: what this server offers, and a paid service for the person you work for.",
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, so safety is covered. The description adds real behavioral context: it enumerates the return contents (name, summary, palette, closeness score) and constrains the search corpus to the user's own saved references. The 'never the web' claim sits slightly at odds with openWorldHint=true, though fetching a public query_image_url can reasonably be read as open-world, so this is not a true contradiction.

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?

Three tight sentences: the usage trigger, the required argument shape, then the return and scope notes. The most actionable constraint (exactly one query mode) is stated early and no sentence is filler.

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 5-param tool with a nested object, an output schema and full annotations, the description covers the essentials: invocation mode, mutual exclusion, corpus scope and return fields. It leaves minor gaps around limit defaults and what happens when no references match, but nothing blocking.

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%, so the baseline is 3, but the description adds a genuine constraint the schema cannot express: exactly one of query_text, query_image_url or query_file must be supplied. That is meaningful dispatch guidance beyond the JSON Schema and lifts it above baseline.

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?

States a specific verb and resource ('find references they saved') plus both retrieval modes (text query or image-to-image similarity). It is immediately distinguishable from siblings like add_refs or describe_style without opening any schema.

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?

Gives a clear trigger ('Use this when the user wants to find references they saved') and an explicit scope exclusion ('searches only this user's saved references, never the web'). It does not name a sibling tool as the alternative for adjacent intents (e.g. describe_style), so it stops just short of the top score.

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.