Pexafy
officialSemantic search over 9 free-license stock photo sources. Hosted remote server with OAuth — no API key to paste.
What can you do with Pexafy MCP?
- Search photos by description — Ask for a photo using a full sentence, and
search_photosfinds matches by meaning rather than keywords. - Find visually similar images — Provide a reference image to
search_photos_by_imageand get visually similar photographs, optionally adjusted with words like "at night". - Get more like a specific result — Reference a numbered photo from previous results and
get_similar_photosreturns more shots from the same scene or setting.
Documentation

One request, sixteen photographs, credits included — inside the conversation. Follow up with “more like #3” and the assistant knows what you mean.
Connect it in under a minute
Nothing to install. In Claude and ChatGPT you sign in once in a browser window and the connector gets its own credentials; editors that have no OAuth flow use a Pexafy API key instead.
Connects over OAuth — you sign in with your Pexafy account, there is no key to paste.
- Open Customize → Connectors.
- Click +, then Add custom connector.
- Paste the server URL and click Add: https://mcp.pexafy.com/mcp
- Sign in with Pexafy in the window Claude opens, and approve access.
Available on Free, Pro, Max, Team and Enterprise. Free accounts can hold one connector.
Custom MCP servers live behind developer mode, on the web app.
- Open Settings → Security and login and turn on Developer mode.
- Go to Plugins and click + to create a developer-mode app.
- Name it Pexafy and paste the server URL: https://mcp.pexafy.com/mcp
- Pick OAuth as the authentication method, then sign in with Pexafy.
Developer mode is available to Plus, Pro, Business, Enterprise and Education accounts on the web.
The CLI authenticates with an MCP-type Pexafy key, sent as a Bearer token.
- Run, from any project: claude mcp add --transport http pexafy https://mcp.pexafy.com/mcp \ --header "Authorization: Bearer YOUR_MCP_KEY"
- Check it with
claude mcp list, then ask for a photo in plain language.
Prefer a project file? Add the same entry to.mcp.json — a url without a type field is rejected.
{ "mcpServers": { "pexafy": { "type": "http", "url": "https://mcp.pexafy.com/mcp", "headers": { "Authorization": "Bearer YOUR_MCP_KEY" } } } }
Cursor reads MCP servers from a JSON file, and supports OAuth for servers that require it.
- Create
.cursor/mcp.jsonin your project (or~/.cursor/mcp.jsonfor every project): { "mcpServers": { "pexafy": { "url": "https://mcp.pexafy.com/mcp", "headers": { "Authorization": "Bearer YOUR_MCP_KEY" } } } } - Reopen Cursor and check Pexafy under Customize in the sidebar.
GitHub Copilot in VS Code reads MCP servers from mcp.json.
- Run
MCP: Add Serverfrom the Command Palette, or create.vscode/mcp.jsonyourself: { "servers": { "pexafy": { "type": "http", "url": "https://mcp.pexafy.com/mcp", "headers": { "Authorization": "Bearer YOUR_MCP_KEY" } } } } - Open Chat in Agent mode and pick Pexafy in the tools list.
Three tools, read-only
The connector can search. It cannot write to your account, and it never asks for permission to.
search_photos
Describe a scene in a full sentence. Pexafy searches by meaning, so “two people sharing a bench in comfortable silence” works better than a list of keywords.
search_photos_by_image
Give it a reference image and get visually similar photographs — optionally adjusted in words: “like this, but at night”.
get_similar_photos
More like a photo you already have. Results are numbered, so you refer to one by its rank rather than copying an identifier.

Pexafy — A follow-up in the same conversation — “more like #1” — answered by sixteen photographs shot in the same room.
Every result carries the credit to display, and comes from one of 9 free-licence sources.
Free to use
The Free plan covers 5000 searches a month — enough for regular use, and no card required. When you reach a limit, the assistant tells you in the conversation instead of failing with an unreadable error.
Open source
The server is public and MIT-licensed. Read exactly what it sends, and what it asks of your account.
Hosted and monitored
We run it, so you do not have to. Its health endpoint is public.
Revocable at any time
The connector holds its own credentials, separate from your password. Remove it from your assistant and the access is gone.