Skip to main content
Glama

Find images

find_images
Read-onlyIdempotent

Search a curated stock photography library (Pexels) for real imagery to use in a site. Call this BEFORE composing any section that needs imagery — hero, feature-grid with visuals, testimonial cards with portraits, gallery sections, media-and-text sections. Returns large-size URLs, thumbnails, dimensions, average color, and suggested attribution. Chain with upload_image (with url) to persist the chosen image to the site's storage namespace (recommended — external URLs can rot). Be specific with queries; 'brooklyn bakery sourdough on wooden counter' returns much better results than 'bakery'. Rate-limited to 30 searches per minute per user. Read-only: it queries Pexels and returns results. Nothing reaches the site until you call upload_image (with url) with a URL from them.

Input Schema

NameRequiredDescriptionDefault
countNoHow many results to return. Default 6, max 20.
queryYesSearch query — be specific. 'brooklyn bakery sourdough loaves on wooden counter' beats 'bakery'. Good queries describe subject, setting, mood, lighting; bad queries are single generic nouns.
orientationNoShape you need. 'landscape' for full-bleed heroes / media sections, 'portrait' for sidebar + testimonial portraits, 'square' for avatars and team tiles. Omit to get the mix Pexels returns by default. Note 'square' ranks crop-friendly photos first rather than returning only true 1:1 files (there are almost none, and filtering for them throws away every relevant result) — so expect widths and heights that differ, and let the slot centre-crop them.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, open-world, non-destructive, but the description adds genuinely new facts: the 30-searches-per-minute-per-user rate limit, the full return shape (URLs, thumbnails, dimensions, average color, attribution), and the critical side-effect boundary that nothing reaches the site until upload_image is called. That side-effect clarification is exactly the kind of context annotations cannot express.

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 the core action and the pre-composition constraint, then chaining advice, then caveats. It is on the long side and repeats the query-specificity advice that also appears in the schema, which is minor redundancy rather than waste.

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?

No output schema exists, yet the description enumerates the return fields, and it covers rate limits, the upload_image handoff, and per-orientation selection. An agent has everything needed to call this correctly and to know what to do with the result.

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 query-craft guidance ('brooklyn bakery sourdough on wooden counter' beats 'bakery') that goes beyond the schema's phrasing. The count and orientation parameters are left to the schema and are only implicitly referenced, so it does not fully compensate on all three.

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 ('Search a curated stock photography library (Pexels) for real imagery') and distinguishes itself from siblings like list_site_images and replace_images_from_search by being the Pexels search entry point. An agent can tell exactly what will happen without opening the schema.

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?

Explicit timing guidance ('Call this BEFORE composing any section that needs imagery — hero, feature-grid, testimonial cards, gallery, media-and-text'), names the follow-up alternative (upload_image with url) with a stated reason ('external URLs can rot'), and gives negative guidance against generic queries. This is textbook when/when-not/alternatives coverage.

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