Skip to main content
Glama

Find it from a photo

visual_search
Read-onlyIdempotent

Find boutique stock that matches a photo, screenshot, or TikTok/Pinterest post. Returns close matches plus similar-look alternatives, so shoppers can locate or buy what they saw in an image.

Instructions

Items in the boutiques' stock that look like a photo: a screenshot, a street style shot, a product photo, or a TikTok or Pinterest link. It answers in two groups: items close enough to be the same or nearly the same, and items with a similar look. Use this when someone shares a picture of something they want to find, asks where to buy what is in a photo, or wants 'something like this'. Pass image_url for a direct image, image_base64 with media_type for an uploaded file, or post_url for a TikTok or Pinterest link. Photos are matched in memory and never stored. Instagram links cannot be read; a screenshot works instead.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "visual_search"
  }
}

Input Schema

NameRequiredDescriptionDefault
post_urlNoA TikTok or Pinterest post link; the photograph is read from the post.
image_urlNoA direct, publicly reachable JPEG, PNG or WebP URL (under 1.5 MB).
image_fileNoA photograph the shopper uploaded in the chat; the host passes the file here.
media_typeNoRequired with image_base64.
image_base64NoThe image bytes, base64 encoded (under 1.5 MB decoded).

Output Schema

NameRequiredDescriptionDefault
noteYes
closeYes
in_spiritYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered; the description earns credit for adding privacy behavior (photos matched in memory, never stored) and the shape of the response (two similarity groups). It says nothing about rate limits, latency, or what happens when no item matches.

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?

Front-loaded with what the tool does before the input routing and the Instagram caveat, and every sentence carries information. The opening catalogue of photo types is slightly over-enumerated for the value it adds.

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?

For a five-parameter, all-optional, open-world search with an output schema, the description covers input routing, size/format constraints, privacy handling, an unsupported source, and the semantics of the two result groups. Nothing essential to calling it correctly 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?

Schema coverage is 100%, so the baseline is 3, but the description adds routing value the schema cannot: it tells the agent which of the mutually exclusive inputs to supply depending on the situation (direct image URL, base64 plus media type, or a post link). It omits the schema's image_file object for host-passed chat uploads and never says whether combining inputs is an error, which costs a point.

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?

Opens with a specific verb-and-resource statement: items in boutique stock that visually resemble a supplied photo, and explicitly names the accepted input modalities (screenshot, street style, product photo, TikTok/Pinterest link). It also distinguishes itself from text-based siblings like similar_pieces by framing the query as a photo, and defines the two result groups, so an agent knows exactly what this returns.

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 concrete triggering situations: a shopper shares a picture of something they want to find, asks where to buy what is in a photo, or asks for 'something like this'. It also states a boundary (Instagram links cannot be read; use a screenshot), but it never names an alternative tool for the text-only equivalent of 'something like this', leaving that routing decision to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.