Pexafy Stock Photos
https://pexafy.com/mcpPexafy Stock Photos finds free-to-use photographs for articles, landing pages, slides and posts. Tell your assistant what you need in your own words, in any language: "I'm writing a short article about Kyoto in autumn. Find photos of a temple garden with red maple leaves." It writes the search, and Pexafy matches the scene, not tags, in its own index of millions of free-to-use photographs from stock libraries such as Unsplash, Pexels and Pixabay. Each result names its source and licence. Five tools, all read-only: search_photos — photographs described in one sentence, in any language, optionally only landscape, portrait or square. search_photos_by_image — photographs that look like a picture (a link or an upload) or like a Pexafy photo already found: "like this, but at night". get_photo_file_by_photo_id — one photograph as an image file, up to 1280 px wide, with its credit line. get_grid_selected_photos — the photographs you liked in the grid, in the order you chose. connect_account — links your Pexafy account, right from the conversation. In ChatGPT, Claude, VS Code and Cursor, the photographs appear as a grid in the conversation: open one large, like the ones you want, press ≈ for more like one; your picks go back to the assistant. In an agent or a terminal, each result arrives as a link with its licence and credit line, ready to place in Markdown, HTML, slides or a CMS. Hosted: nothing to install, no API key to paste. In VS Code, Cursor and other editors you can search right away, without an account. ChatGPT and Claude ask you to sign in to Pexafy once; the connector then gets its own read-only credential, separate from your password and revocable on its own. A free Pexafy account includes 5,000 searches a month, with no card required.
MCP readiness
Readiness is how fully this listing follows its protocol and how it behaved in our probes over 30 days. It is shown for reference and does not move it in search. Search order and leaderboards use the separate quality grade (here B, 76.6/100), which weighs availability, conformance, p95 speed and descriptor. How the two differ
| Valid MCP handshake | 10/10 | initialize and tools/list both answered. |
| Live MCP endpoint | 25/25 | Endpoint answers the MCP initialize handshake (1313 ms). |
| Protocol revision | 8/10 | Speaks MCP 2025-11-25, 1 revision(s) behind 2026-07-28. |
| Signed descriptor | n/a | No MCP standard defines a signed server descriptor. |
| Uptime (30 days) | 15/15 | 22/22 probes succeeded over 30 days (100%). |
| Tool declaration | 10/10 | Lists 5 tool(s) with descriptions. |
| Verified identity | 5/10 | Publisher declared (repository, package or homepage); claim this listing to verify domain control. |
| Freshness + modern flags | 4/5 | seen in a source within 7 days. |
| Auth declaration | 0/5 | How to authenticate is not stated. |
Compared with peers
Against 53,039 reachable MCP servers in our daily snapshot (2026-11-12 06:46 UTC). Display only; it does not change search order.
- Readiness
- Higher than 80% of peers
- This listing 86 · peer median 81
- Latency
- Faster than 5% of peers
- This listing 1,211 ms · peer median 326 ms
Where it loses the most points, and how to win them back
- Verified identity −5
— Claim the listing and prove control of its domain.
Now: Publisher declared (repository, package or homepage); claim this listing to verify domain control.
- Auth declaration −5
— State how to authenticate (an auth scheme, or that none is needed).
Now: How to authenticate is not stated.
- Protocol revision −2
— Support the current protocol revision.
Now: Speaks MCP 2025-11-25, 1 revision(s) behind 2026-07-28.
Adoption signals
Public signals from outside this directory, shown for context. They do not change search order or grades.
- Site rank (Tranco)
- #377,680 of the top 1M
- pexafy.com · list of 2026-11-10
Listed in
Directories this entry was found in.
How to connect
https://pexafy.com/mcp
curl -X POST https://pexafy.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'