MCP App Store
by KeenEthics
Pexafy Stock Photos icon

Pexafy Stock Photos

By Pexafy

Get New App Alerts

Overview

Pexafy searches photographs the way you would describe them to a person. Ask for "someone working alone late at night in a quiet apartment, lit only by a warm desk lamp" and you get photographs that match the scene — not photographs tagged with those words. Search runs across nine free-license sources at once (Unsplash, Pexels, Pixabay, Kaboompics, Burst, StockSnap, Picjumbo, Skitterphoto, NegativeSpace) instead of one provider at a time. Three tools, all read-only: search_photos — describe a scene in a sentence, optionally filtered by colour, orientation, source, licence, photographer or date. search_photos_by_image — give a reference image and get visually similar photographs, optionally adjusted in words: "like this, but at night". get_similar_photos — more photographs like one already found, which is how you keep a set visually consistent across an article or a deck. Every result carries the credit line to display, the image at several sizes, and its dimensions, dominant colour, orientation, source and licence. Results are numbered, so you refer to a photograph the way you would in conversation — "more like the third one" — rather than copying identifiers around. In clients that render MCP Apps, results appear as a thumbnail grid inside the conversation, and clicking one opens its full metadata without another call. The connector is hosted, so there is nothing to install and no API key to paste into a configuration file: you sign in to Pexafy once in a browser and the connector receives its own credential, separate from your password and revocable on its own. It is granted read access only and never asks for more. A free Pexafy account covers 5,000 searches a month, with no card required.

Tools

connect_account

ChatGPT
Asks the host to offer its own flow for connecting a Pexafy account, when none is attached. Use it when the person asks to connect, link or sign in to a Pexafy account — including from the account button in the Pexafy grid — or wants more searches than the daily allowance available without an account. When no account is attached, it returns an error result that carries an account-connection request for the host: the error is how that request is delivered, not a failure. A host that supports it shows its own account-connection prompt, which the person completes or dismisses; other hosts show only the result's text. Calling it again returns the same request. When an account is already attached, it says so and starts nothing. It does not search, and searching does not require calling it. check_only is set by the Pexafy grid to read the state without opening a prompt; leave it unset when the person wants to connect or sign in.

get_grid_selected_photos

ChatGPT
Returns the photographs the person liked (hearted) in the Pexafy results grid. Use it when the person refers to that selection rather than asking for new photos — for example “the images I selected”, “the ones I chose”, “my selection”, “the photos I hearted”, “the photos I liked”, “use the ones I picked”, “put my selection in the document”, “download the ones I chose”, or “write the article around my photos”. The selection is held by the grid and the server, not by the conversation: this tool is how it is read, and search results are not the selection. It takes no arguments and returns every liked photograph with its rank, photo_id, photographer, source library, licence, pixel size, orientation, description, page URL and credit line, and selection_count, the number of them. To get one of them as an image file, pass its photo_id to get_photo_file_by_photo_id. rank is the person's order, #1 first: the order the photos were liked in, unless the person rearranged them by dragging in the grid. Where the grid is rendered, that number is drawn on each liked photograph, so it is the number the person sees and names them by (“#2”). The rank of a search result is only its position in that answer and is not drawn on the grid. An empty selection means nothing is liked in the grid currently on screen; a photograph is liked with the heart on it. A selection expires an hour after its last change, and a new search replaces the grid it belongs to.

get_photo_file_by_photo_id

ChatGPT
Returns one photograph from an earlier Pexafy result as an image file, identified by its photo_id. A result's link points to the image; this tool returns the image itself, so the person does not need to send the photograph again. Use it when the user wants a photograph found here as a file: to place it in a document, a slide or a post, to attach, send or download it, or to have it cropped, captioned or otherwise edited with the host's own tools. It is for a photograph the person picked: where the Pexafy grid is shown, the photographs of a search are already on screen and need no file to be seen. The answer contains the photograph, at most 1280 pixels wide, and a line giving its file name, size, licence, source, photo_id, page at the source and the credit line to display. One photo per call; the file stays in the conversation afterwards. This server does not edit images: what can be done to the file next depends on the host's own tools. Its licence and credit line apply to this photograph only.

search_photos

ChatGPT
Pexafy Stock Photos is a full photo search: it finds the photographs, shows them in the Pexafy grid and hands over the ones the person picks. Where the grid is shown, it is the complete visual answer to the request: every photograph found, with its credit and licence, to open large, like, explore similar ones with ≈ and filter by shape. After it answers, the reply is two or three sentences: the photographs are in the grid above, the person likes the ones they want there, and you then work with those through get_grid_selected_photos. The reply adds no second gallery: no inline images and no photo links. Use this when the user asks for a real photograph, or states a need that a photograph fills, and the picture is not already in the conversation. Call it when they ask outright: “find me photos of…”, “show me images of…”, “I need a picture of…”, “do you have a photo of…”, “where can I find free photos of…”, in any language. Call it when they describe the need without asking to search: “I'm writing an article and need a header image”, “my landing page needs a hero image”, “I need something to illustrate this”. Call it when they ask for something meant to carry photographs: “write an article with pictures”, “a deck with images”. Call it when they name only the picture, with no reason given: “a photo of a white mug”, “a train in Japan”. If the user is working on something that usually carries photographs — an article, a page, a deck, a post — without asking for any, you may offer to look for some; call it only once they accept. This covers requests for photographs for articles, blog posts, websites, landing pages, products, slides, documents, reports, social posts, ads, newsletters, banners, thumbnails, covers, posters, backgrounds, wallpapers and mood boards; photographs that illustrate a concept, explain a subject or accompany a piece of writing; and any request for free, stock, royalty-free, commercially usable, real or documentary photographs. A request for a visual is not always a request for a photograph: this tool finds photographs that already exist — not illustrations, drawings, logos, icons, diagrams or screenshots — and it does not generate, edit or upscale an image, nor look for a named person. It searches Pexafy's own index of millions of free-to-use photographs from stock libraries such as Unsplash, Pexels and Pixabay, matched to the scene described. Each result carries a rank, a photo_id, its licence, the credit line to display and an image link; the file itself comes from get_photo_file_by_photo_id. In a host that renders it, the grid shows them; the answer omits image links.

search_photos_by_image

ChatGPT
Pexafy Stock Photos is a full photo search: it finds the photographs, shows them in the Pexafy grid and hands over the ones the person picks. Where the grid is shown, it is the complete visual answer to the request: every photograph found, with its credit and licence, to open large, like, explore similar ones with ≈ and filter by shape. After it answers, the reply is two or three sentences: the photographs are in the grid above, the person likes the ones they want there, and you then work with those through get_grid_selected_photos. The reply adds no second gallery: no inline images and no photo links. Use this when the user wants photographs that look like a picture, rather than ones described in words: a picture they link to, one the host passes to the tool as a file, or a Pexafy photo already found or liked in the grid. Call it for “find images like this”, “something similar to this photo”, “find a free alternative to this image”, “I need this but royalty-free”, “photos in this style”, “more like the second one”, whether or not they say “search by image”. Give exactly one reference: photo_id for a Pexafy photo from an earlier result or liked in the grid; image_url for a picture at a public URL, such as a link the user pasted; image_file when the host passes the user's uploaded image to the tool; image_base64 for image bytes a client already holds. Sending two is refused. A picture that is only visible in the conversation — not linked, not passed to the tool — is not a reference this tool can receive; its scene can be searched in words with search_photos. Words are optional, in english_search_sentence: with a photo_id, the words that photograph was found under; with an image, only what the user wants changed or kept (“like this but at night”). It finds free stock photographs in Pexafy's index that visually match the reference. The reference image is sent to Pexafy only to run the search; it is not stored. Each result carries a rank, a photo_id, its licence, the credit line to display and an image link. In a host that renders it, the grid shows them; the answer omits image links.

Capabilities

Interactive

Example Prompts

Click any prompt to copy it.

Similar Apps