MCP.so
Sign In

Pexafy Stock Photos MCP ServerVerifiedFeatured

@Pexafy

Basic information

Transport

Streamable HTTP

Authentication

OAuth

Category

Media & Design

Author

Pexafy

Submitted by

Marouane TIJANI

About Pexafy Stock Photos MCP Server

Search millions of free-to-use photos from Unsplash, Pexels, Pixabay and more in one query. Describe the scene in any language, get real photos with licence and credit line. Hosted, no API key.

#photos#images#stock-photos#free-photos#image-search#semantic-search#unsplash#pexels#pixabay#search photos#search images

Connection details

https://mcp.pexafy.com/mcp

Setup

claude mcp add pexafy --transport http https://mcp.pexafy.com/mcp

Pexafy Stock Photos MCP Server tools

5

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.

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.

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.

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.

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.

Overview

What is Pexafy Stock Photos MCP Server?

Pexafy Stock Photos MCP Server is a hosted MCP server that lets Claude, ChatGPT, Cursor, VS Code and other assistants search millions of free-to-use photos from Unsplash, Pexels, Pixabay and more, returning real photos with their licence and credit line.

Pexafy searches its own index of photographs collected from free stock libraries (nine free-licence sources, per the website), indexed by meaning rather than tags. You describe a scene in a sentence, in any language, and get matching photos. In ChatGPT, Claude, VS Code and Cursor the results appear as a grid in the conversation; in terminals and agents each result arrives as a link. The server code is MIT licensed on GitHub.

How to use Pexafy Stock Photos MCP Server?

The server URL is the same everywhere: https://mcp.pexafy.com/mcp. Nothing needs installing. In Claude and ChatGPT you sign in to Pexafy once in a browser window (OAuth; a free account is enough). Editors and coding agents can search right away without an account, within a daily allowance; to use your own account and plan limits you can connect your account or send an MCP-type Pexafy API key as a Bearer token.

Claude Code

claude mcp add --transport http pexafy https://mcp.pexafy.com/mcp

To use your Pexafy key (create an MCP-type key in the Pexafy dashboard):

claude mcp add --transport http pexafy https://mcp.pexafy.com/mcp \
  --header "Authorization: Bearer YOUR_MCP_KEY"

Check it with claude mcp list. Optionally add the Pexafy skill, which tells the agent when and how to use the tools:

npx skills add Pexafy/pexafy-mcp --skill find-stock-photos

Claude Desktop / claude.ai

Open Customize → Connectors, click +, then Add custom connector. Paste https://mcp.pexafy.com/mcp, click Add, and sign in with your Pexafy account in the window Claude opens. Pexafy marks Claude support as in preview.

Cursor

Create .cursor/mcp.json in your project (or ~/.cursor/mcp.json):

{
  "mcpServers": {
    "pexafy": {
      "url": "https://mcp.pexafy.com/mcp"
    }
  }
}

Pexafy's docs show the same entry with a "headers": {"Authorization": "Bearer YOUR_MCP_KEY"} field if you want to use your key.

VS Code

Run MCP: Add Server, or use the one-line command from the README:

code --add-mcp '{"name":"pexafy","type":"http","url":"https://mcp.pexafy.com/mcp"}'

Then open Chat in Agent mode and pick Pexafy in the tools list.

Other clients

ChatGPT users can add Pexafy from the plugin directory. Codex uses codex mcp add pexafy --url https://mcp.pexafy.com/mcp.

Key features of Pexafy Stock Photos MCP Server

  • One search across photos from Unsplash, Pexels, Pixabay and other free-licence libraries.
  • Semantic search: a full sentence describing the scene, mood or light works better than keywords, in any language.
  • Search by image: find photos that look like a link, an upload or a previous result, optionally adjusted in words ("like this, but at night").
  • Every result names its source and licence and carries the credit line to display.
  • Inline grid in supporting clients: sixteen photos per request, with like, similar and download actions; your picks go back to the assistant in the order you chose.
  • Photos can be returned as image files (up to 1280 px wide) for documents, slides or posts.
  • All five tools are read-only; the connector cannot write to your account.

Pexafy Stock Photos MCP Server tools

  • Search: search_photos finds photographs from a one-sentence description, optionally limited to landscape, portrait or square. search_photos_by_image finds photographs similar to a reference picture or an earlier Pexafy result.
  • Files and selection: get_photo_file_by_photo_id returns one photograph from an earlier result as an image file with its credit line. get_grid_selected_photos returns the photos you hearted in the results grid, in your order.
  • Account: connect_account asks the host to start its account-connection flow, for when you want more searches than the allowance without an account.

Use cases of Pexafy Stock Photos MCP Server

  • Blog illustration: "I'm writing a short article about Kyoto in autumn. Find photos of a temple garden with red maple leaves."
  • Landing pages: "My landing page needs a hero image of a small team working in a bright office," then place the chosen file in your HTML.
  • Consistent sets: pick one photo and ask for "more like the second one" to build a matching series for a deck.
  • Coding agents: have Claude Code fetch a photo file, save it in your repo and write the Markdown with the credit line.

Troubleshooting Pexafy Stock Photos MCP Server

  • Claude Code project file rejected: in .mcp.json, an entry with a url and no "type": "http" is rejected; add the type.
  • Search limit reached without an account: call connect_account or ask the agent to connect your Pexafy account, or add an MCP-type key as a Bearer header.
  • No grid appears: the grid only renders in clients that draw MCP UI (ChatGPT, Claude, VS Code, Cursor). Other clients receive links instead.
  • Cursor does not show Pexafy: reopen Cursor after editing mcp.json and check under Customize in the sidebar.

Frequently asked questions

1

Is Pexafy Stock Photos MCP free?

Yes, you can search without an account within a daily allowance, and a free Pexafy account is enough to connect in Claude and ChatGPT. Connecting an account or key applies your own plan's limits.

2

Do I need an API key?

No. Claude and ChatGPT use OAuth sign-in, and editors can search without an account. An MCP-type API key is optional for CLI and editor setups that cannot sign in.

3

Where do the photos come from, and can I use them?

From Pexafy's own index of free-to-use photographs collected from libraries such as Unsplash, Pexels and Pixabay. Each result names its source and licence and includes the credit line to display.

4

Does it work with Claude Code and Cursor?

Yes. Claude Code uses `claude mcp add --transport http pexafy https://mcp.pexafy.com/mcp`, and Cursor uses a `url` entry in `mcp.json`.

5

Can the connector change anything in my account?

No. All five tools are read-only.

6

Can I self-host it?

The server code is MIT licensed on GitHub, and the repository has a development guide for self-hosting.

7

What is the Pexafy Stock Photos remote MCP server?

The Pexafy Stock Photos remote MCP server is a hosted Model Context Protocol endpoint at https://mcp.pexafy.com/mcp, so AI assistants can connect to it without installing or running anything locally.

8

How do I connect to the Pexafy Stock Photos MCP server?

Add the endpoint https://mcp.pexafy.com/mcp to any MCP-compatible client such as Claude Code, Cursor, or VS Code. The setup snippets on this page configure each client in one step.

9

Does the Pexafy Stock Photos MCP server require authentication?

Yes. Pexafy Stock Photos uses OAuth: the first time you connect, your MCP client opens a browser window to sign in and authorize access, then reuses the credentials for future sessions.

10

Which transport does the Pexafy Stock Photos MCP server use?

Pexafy Stock Photos exposes a Streamable HTTP endpoint, the transport used by remote MCP servers and supported by all major MCP clients.

Comments