Skip to main content
Glama
Pexafy

pexafy-mcp

Official
by Pexafy

Find similar photos

photo_similar

Fetches visually similar stock photos using a reference photo's ID, letting you expand a search with related images.

Instructions

Use this tool when the user says 'find something similar', 'show me more like this', or 'I need a visually consistent set'. Requires a photo_id obtained from a previous search result. The user normally refers to a photo by its RANK (#1, #2, …) shown on the result grid, not by id — map that rank to the matching result's photo_id yourself and pass it here; never ask the user for the id. PRESENTING RESULTS: show each photo as a clickable Markdown link to its image using the urls.regular value, with the credit from attribution — e.g. #1 — [Photo by Jane Doe on Unsplash](https://…). Inline thumbnail previews are also attached to this tool's result, but some clients (including claude.ai web) only show them inside an expandable tool panel, not in your reply. Do NOT claim you are displaying the images yourself, and if the user says they can't see them, do NOT blame ad-blockers, cache or their browser (that is never the cause) — tell them the thumbnails are in the expandable tool result and give them the links above. RANKS & SIMILAR (important UX): every result carries a rank (1, 2, 3, …) and the inline grid shows it as #1, #2, … on each thumbnail. ALWAYS prefix each photo with its rank when you list results, and AFTER presenting them proactively offer the user more like a specific one — e.g. 'Want more photos like one of these? Just tell me its number (e.g. #3).' When the user replies with a rank/number, find that result's photo_id in this tool's output yourself and call the similar-photos tool with it. Never ask the user for a photo_id or URL — they only know the rank you showed them.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cursorNoToken to fetch the next page. Take `pagination.next_cursor` from a previous response and pass it back here. See the Pagination guide.
photo_idYesThe reference photo's unique Pexafy identifier (a UUID).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
metaNo
errorNo
successNo
paginationNo
Behavior5/5

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

With no annotations, the description carries the full burden and does so admirably. It discloses output formatting (Markdown links, inline thumbnails), behavior in certain clients (thumbnails in expandable panel), and explicitly warns against blaming ad-blockers. This is rich behavioral context that annotations alone would not 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?

Although lengthy, every sentence delivers necessary guidance. The description is well-structured with clear sections (PRESENTING RESULTS, RANKS & SIMILAR) that are front-loaded with the most critical usage trigger. No filler or repetition.

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 is complex (UX-heavy, pagination, output formatting) and the description covers all key aspects: when to use, parameter sourcing, rank mapping, result presentation, user interaction, and pagination. With an output schema present, return-value details are already covered, so the description is complete.

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 has clear descriptions for both params, but the description adds significant context: it explains that photo_id comes from a previous search and shows how to derive it from rank, and cursor comes from pagination.next_cursor. This goes beyond the schema's own wording.

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?

The description is extremely clear: it states the tool finds similar photos and explicitly lists trigger phrases ('find something similar', 'show me more like this'). It distinguishes from sibling tools by requiring a photo_id from a previous search, not an initial search.

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 instructions and even says when not to use (don't ask for id, map rank yourself). It also gives step-by-step guidance for handling user rank requests and never asking for photo_id, which goes beyond simple usage to a complete protocol.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pexafy/pexafy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server