Skip to main content
Glama

Find similar images

find_similar_images

Find similar images using the saved Voyage joint image-and-caption vector of an asset in the current search index. The seed is excluded; results are ordered by retrieval similarity without a text reranker. An asset outside the current index returns an error, with no legacy fallback. This tool takes an indexed asset ID; use search_images for an uploaded image, public image URL or text query, or get_image for metadata only. Returns query_id and a results array with asset_id, file and thumbnail URLs, source, dimensions, and rights including attribution. Set k for result count; defaults exclude AI-generated images, require commercial-use licenses, and require width >= 1000 pixels. Requires OAuth or an API key, available credits, and account rate-limit capacity. Each successful call charges $0.02 and records usage; repeated calls can charge again. Does not modify images or publish anything.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kNoMaximum number of final results (1–100, default 10). Fewer results may match the filters; this is separate from candidate-pool sizes.
ann_kNoMaximum semantic-search candidates (1–1000, default 100). Increase for a wider pool; this does not set the final result count.
ann_efNoLegacy retrieval tuning parameter (64–4096, default 2048). Accepted for compatibility; leave at the default for the current retrieval service.
explainNoInclude retrieval and ranking diagnostics with each result (default false). Use for debugging search quality.
filtersNoCombine license, source, size, and visual filters. Omitted commercial, ai_generated, min_width and nsfw_max default to true, false, 1000 and 0.2. Set any of these four to null to remove its default.
asset_idYesExact asset_id from a Lightdrift search result or previously saved asset (1–255 characters). Pass the ID unchanged, not a file URL.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / filters / description
      Previous value: -"Combine license, source, size, and visual filters. Omitted commercial, ai_generated, and min_width default to true, false, and 1000; set those fields to null to remove their defaults."New value: +"Combine license, source, size, and visual filters. Omitted commercial, ai_generated, min_width and nsfw_max default to true, false, 1000 and 0.2. Set any of these four to null to remove its default."
    • addedInput schema / properties / filters / properties / nsfw_max / anyOf
      Added value: +[
      +  {
      +    "maximum": 1,
      +    "minimum": 0,
      +    "type": "number"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / filters / properties / nsfw_max / description
      Previous value: -"Maximum recorded NSFW score from 0 to 1; lower is stricter. Defaults to 0.2. Assets without a score can still match."New value: +"Maximum recorded NSFW score from 0 to 1; lower is stricter. Defaults to 0.2; null removes the restriction. Assets without a score can still match."
    • removedInput schema / properties / filters / properties / nsfw_max / maximum
      Removed value: -1
    • removedInput schema / properties / filters / properties / nsfw_max / minimum
      Removed value: -0
    • removedInput schema / properties / filters / properties / nsfw_max / type
      Removed value: -"number"
  2. Changed21 schema fields changed
    • addedInput schema / properties / ann_ef / description
      Added value: +"Legacy retrieval tuning parameter (64–4096, default 2048). Accepted for compatibility; leave at the default for the current retrieval service."
    • addedInput schema / properties / ann_k / description
      Added value: +"Maximum semantic-search candidates (1–1000, default 100). Increase for a wider pool; this does not set the final result count."
    • addedInput schema / properties / asset_id / description
      Added value: +"Exact asset_id from a Lightdrift search result or previously saved asset (1–255 characters). Pass the ID unchanged, not a file URL."
    • addedInput schema / properties / explain / description
      Added value: +"Include retrieval and ranking diagnostics with each result (default false). Use for debugging search quality."
    • addedInput schema / properties / filters / description
      Added value: +"Combine license, source, size, and visual filters. Omitted commercial, ai_generated, and min_width default to true, false, and 1000; set those fields to null to remove their defaults."
    • addedInput schema / properties / filters / properties / ai_generated / description
      Added value: +"Filter by AI-generated status. Defaults to false when omitted; null allows either. False does not exclude non-AI illustrations."
    • addedInput schema / properties / filters / properties / attribution_required / description
      Added value: +"Filter by whether the license requires attribution. Omit to allow either."
    • addedInput schema / properties / filters / properties / colors / description
      Added value: +"Match any listed dominant color name, for example [\"blue\", \"teal\"]. Images without matching color metadata are excluded."
    • addedInput schema / properties / filters / properties / commercial / description
      Added value: +"Require a commercial-use license when true. Defaults to true when omitted; null removes this filter."
    • addedInput schema / properties / filters / properties / derivatives / description
      Added value: +"Filter by whether the license permits modified or derivative works. Omit to allow either."
    • addedInput schema / properties / filters / properties / format / description
      Added value: +"Allowed file formats, for example [\"jpeg\", \"png\"]. Omit to allow any format."
    • addedInput schema / properties / filters / properties / license_id / description
      Added value: +"Allowed license IDs, for example [\"cc0\", \"cc-by\"]. Omit to allow all licenses compatible with the other filters."
    • addedInput schema / properties / filters / properties / min_height / description
      Added value: +"Minimum image height in pixels. Omit for no height floor."
    • addedInput schema / properties / filters / properties / min_width / description
      Added value: +"Minimum image width in pixels. Defaults to 1000 when omitted; null removes the width floor."
    • addedInput schema / properties / filters / properties / monochrome / description
      Added value: +"Filter by monochrome status. Omit to allow both monochrome and color images."
    • addedInput schema / properties / filters / properties / nsfw_max / description
      Added value: +"Maximum recorded NSFW score from 0 to 1; lower is stricter. Defaults to 0.2. Assets without a score can still match."
    • addedInput schema / properties / filters / properties / orientation / description
      Added value: +"Required image orientation. Omit to allow landscape, portrait, and square images."
    • addedInput schema / properties / filters / properties / source / description
      Added value: +"Allowed source IDs from result.source, for example [\"flickr\"]. Omit to search all sources."
    • addedInput schema / properties / filters / properties / year_max / description
      Added value: +"Latest year, inclusive. Use with year_min to bound the date range."
    • addedInput schema / properties / filters / properties / year_min / description
      Added value: +"Earliest year, inclusive. Images without matching year metadata are excluded."
    • addedInput schema / properties / k / description
      Added value: +"Maximum number of final results (1–100, default 10). Fewer results may match the filters; this is separate from candidate-pool sizes."
  3. First observed

TDQS

A4.9/5.0
Behavior5/5

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

The annotations already convey safety hints, and the description adds substantial behavioral context: seed exclusion, no text reranker, error behavior with no fallback, return structure, default filters, authentication requirements, exact cost per call, usage recording, and the fact that it does not modify images or publish. This goes well beyond what structured annotations provide.

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?

Every sentence carries operational value: purpose, behavioral nuances, sibling routing, returns, defaults, costs, and side effects. It is dense but not bloated, and the most decision-relevant information appears early.

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?

The tool has nested filters, no output schema, and real-world side effects like billing. The description compensates by detailing required inputs, return fields, default filters, authentication and rate-limit prerequisites, per-call charges, and confirmed data safety. An agent has enough context to invoke it correctly and to anticipate errors and costs.

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 structural burden is largely met. The description adds useful cross-parameter context by highlighting that k controls final result count and that the asset_id must be an indexed ID, and it explains default filter behavior. It does not add much detail for ann_k/ann_ef, but the schema already fully documents those.

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 ('Find similar images') and resource ('saved Voyage joint image-and-caption vector of an asset'), and explicitly differentiates from sibling tools: search_images for uploaded image/URL/text queries and get_image for metadata only. This is unambiguous and instantly tells an agent what the tool does.

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 guidance by naming alternatives and their appropriate inputs: search_images for an uploaded image, public URL, or text query; get_image for metadata only. It also states when the tool fails (asset outside current index, no legacy fallback), leaving no ambiguity about selection.

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.

Resources