Skip to main content
Glama
Pexafy

Pexafy Stock Photos

Official
README.md
<p align="center">
  <a href="https://pexafy.com/mcp/">
    <img src="https://raw.githubusercontent.com/Pexafy/pexafy-mcp/main/docs/assets/readme-hero.png" width="100%" alt="Pexafy Stock Photos MCP server. Real photos, right in the chat: a grid of free-to-use photographs with their credits, and one opened large with buttons to like it, find more like it or download it.">
  </a>
</p>

<p align="center">
  <a href="https://vscode.dev/redirect?url=vscode%3Amcp%2Fby-name%2Fcom.pexafy%2Fpexafy-mcp"><img src="https://raw.githubusercontent.com/Pexafy/pexafy-mcp/main/docs/assets/badge-vscode.png" height="46" alt="Install in VS Code"></a>
  <a href="https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Fby-name%2Fcom.pexafy%2Fpexafy-mcp"><img src="https://raw.githubusercontent.com/Pexafy/pexafy-mcp/main/docs/assets/badge-vscode-insiders.png" height="46" alt="Install in VS Code Insiders"></a>
  <a href="https://github.com/copilot/app/launch?open=ghapp%3A%2F%2Fmcp%2Finstall%3F%257B%2522name%2522%253A%2522pexafy%2522%252C%2522type%2522%253A%2522http%2522%252C%2522url%2522%253A%2522https%253A%252F%252Fmcp.pexafy.com%252Fmcp%2522%257D&entry_point=dotcom_mcp-registry_install"><img src="https://raw.githubusercontent.com/Pexafy/pexafy-mcp/main/docs/assets/badge-copilot-app.png" height="46" alt="Install in GitHub Copilot app"></a>
  <a href="https://chatgpt.com/plugins/plugin_asdk_app_6a837089eb1c8191b29a0d126a54f770?search=pexafy"><img src="https://raw.githubusercontent.com/Pexafy/pexafy-mcp/main/docs/assets/badge-chatgpt.png" height="46" alt="Add to ChatGPT"></a>
  <a href="https://cursor.com/en/install-mcp?name=pexafy&config=eyJ1cmwiOiJodHRwczovL21jcC5wZXhhZnkuY29tL21jcCJ9"><img src="https://raw.githubusercontent.com/Pexafy/pexafy-mcp/main/docs/assets/badge-cursor.png" height="46" alt="Add to Cursor"></a>
  <a href="https://pexafy.com/mcp/#setup"><img src="https://raw.githubusercontent.com/Pexafy/pexafy-mcp/main/docs/assets/badge-claude.png" height="46" alt="Connect Claude"></a>
  <a href="https://github.com/mcp/com.pexafy/pexafy-mcp"><img src="https://raw.githubusercontent.com/Pexafy/pexafy-mcp/main/docs/assets/badge-github-registry.png" height="46" alt="View in GitHub MCP Registry"></a>
</p>

<h3 align="center">Ask for a photo the way you would describe it to a person.<br>Get real, free-to-use photographs back, inside the conversation, credits included.</h3>

<p align="center">
  <a href="https://github.com/Pexafy/pexafy-mcp/actions/workflows/ci.yml"><img src="https://github.com/Pexafy/pexafy-mcp/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
  <a href="https://registry.modelcontextprotocol.io/v0.1/servers?search=com.pexafy/pexafy-mcp"><img src="https://img.shields.io/badge/MCP_Registry-com.pexafy%2Fpexafy--mcp-8b5cf6" alt="Official MCP Registry"></a>
  <a href="https://github.com/mcp/com.pexafy/pexafy-mcp"><img src="https://img.shields.io/badge/GitHub_MCP_Registry-Pexafy-24292f?logo=github&logoColor=white" alt="GitHub MCP Registry"></a>
  <a href="https://smithery.ai/servers/pexafy/pexafy-mcp"><img src="https://img.shields.io/badge/Smithery-pexafy%2Fpexafy--mcp-ea580c" alt="Smithery"></a>
  <a href="https://github.com/Pexafy/pexafy-mcp/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-22c55e" alt="MIT licence"></a>
</p>

<br>

## Ask. Choose together. Put them to work.

<table>
<tr>
<td width="33%" valign="top">

### 🗣️ Ask, in your own words

Tell your assistant what you are working on, the way you would tell a colleague: *“I'm writing a short article about Kyoto in autumn. Find photos of a temple garden with red maple leaves.”* It writes the search; Pexafy matches the scene, not tags.

</td>
<td width="33%" valign="top">

### 🤝 Choose together

Sixteen photographs come back. Open one large, swipe, heart the keepers, press **≈** for more like it: your picks go back to the assistant, **in your order**. Or simply answer in words: *“the third one, but wider”*.

</td>
<td width="33%" valign="top">

### 🚀 Put them to work

The assistant carries on with them: the article with its photos in place, the slide, the landing page, the post. Each photograph keeps its licence and the credit line to display, and comes as an **image file** when the work needs one.

</td>
</tr>
</table>

## With the grid, or without it

| In a chat that draws it | In an agent, a terminal or a script |
|---|---|
| **ChatGPT, Claude, VS Code, Cursor.** The photographs appear as a grid in the conversation. You see them, open them, like them; the assistant works from what you picked. | **Claude Code, Codex, any MCP client.** Each result arrives as a link with its licence and credit line. The assistant chooses, fetches the file and places it in your Markdown, HTML, slides or CMS. |

## Add it in 30 seconds

| Where | How |
|---|---|
| **VS Code** | [Install in VS Code](https://vscode.dev/redirect?url=vscode%3Amcp%2Fby-name%2Fcom.pexafy%2Fpexafy-mcp), or `code --add-mcp '{"name":"pexafy","type":"http","url":"https://mcp.pexafy.com/mcp"}'` |
| **VS Code Insiders** | [Install in VS Code Insiders](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Fby-name%2Fcom.pexafy%2Fpexafy-mcp) |
| **GitHub Copilot app** | [Install in the GitHub Copilot app](https://github.com/copilot/app/launch?open=ghapp%3A%2F%2Fmcp%2Finstall%3F%257B%2522name%2522%253A%2522pexafy%2522%252C%2522type%2522%253A%2522http%2522%252C%2522url%2522%253A%2522https%253A%252F%252Fmcp.pexafy.com%252Fmcp%2522%257D&entry_point=dotcom_mcp-registry_install) |
| **GitHub MCP Registry** | [Pexafy's page in the registry](https://github.com/mcp/com.pexafy/pexafy-mcp), with its install buttons |
| **ChatGPT** | [Add Pexafy](https://chatgpt.com/plugins/plugin_asdk_app_6a837089eb1c8191b29a0d126a54f770?search=pexafy) from ChatGPT's plugin directory |
| **Claude** | *Customize → Connectors → Add custom connector*, then `https://mcp.pexafy.com/mcp` |
| **Claude Code** | `claude mcp add --transport http pexafy https://mcp.pexafy.com/mcp` |
| **Codex** | `codex mcp add pexafy --url https://mcp.pexafy.com/mcp` |
| **GitHub Copilot CLI** | `copilot mcp add --transport http pexafy https://mcp.pexafy.com/mcp` |
| **Cursor** | [Add to Cursor](https://cursor.com/en/install-mcp?name=pexafy&config=eyJ1cmwiOiJodHRwczovL21jcC5wZXhhZnkuY29tL21jcCJ9) |
| **Goose, Kiro, Gemini CLI, OpenCode, Cline, Zed…** | One click or one command each, on [pexafy.com/mcp](https://pexafy.com/mcp/#setup) |
| **Any MCP client** | Streamable HTTP at `https://mcp.pexafy.com/mcp` |

**Zero friction: nothing to install, no API key.** Most clients search right away, without an account. When you want your own account, ask the assistant to *connect my Pexafy account*: it opens Pexafy's sign-in page in your browser (OAuth), and nothing is pasted anywhere. ChatGPT and Claude ask you to sign in once; a free account is enough.

## Five tools, all read-only

| Tool | What it does |
|---|---|
| `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, an upload) or like a Pexafy photo: *“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. |

## Where the photos come from

Pexafy searches **its own index** of millions of free-to-use photographs, collected from stock libraries such as Unsplash, Pexels and Pixabay. Every photograph is indexed by meaning, so a whole scene in one sentence beats a list of keywords. Each result names its source and licence and carries the credit line to display.

<br>

<p align="center">
  <a href="https://pexafy.com/mcp/"><b>pexafy.com/mcp</b></a> &nbsp;·&nbsp;
  <a href="https://github.com/Pexafy/pexafy-mcp/blob/main/DEVELOPMENT.md">Self-host &amp; develop</a> &nbsp;·&nbsp;
  <a href="https://github.com/Pexafy/pexafy-mcp/blob/main/CHANGELOG.md">Changelog</a> &nbsp;·&nbsp;
  <a href="https://pexafy.com/legal/privacy/">Privacy</a> &nbsp;·&nbsp;
  <a href="https://github.com/Pexafy/pexafy-mcp/blob/main/LICENSE">MIT licence</a>
</p>

<p align="center"><sub>ChatGPT, Claude, Codex, Cursor, GitHub Copilot and Visual Studio Code are trademarks of their respective owners.</sub></p>

TDQS

A4.4/5.0

Scored across 3 tools

Disambiguation4/5

The three tools have clearly distinct purposes: text-described photo search, image-reference search, and account connection. The two search tools could superficially be confused, but the descriptions sharply delineate when to use each (words vs. a concrete reference image).

Naming Consistency5/5

All names follow a consistent snake_case verb_noun pattern (search_photos, search_photos_by_image, connect_account). The shared search_photos prefix is predictable and reinforces the relationship between the two search tools.

Tool Count4/5

Three tools is slightly lean but well-scoped for a photo search service, with each tool earning its place. No filler tools are present, though a small set like this has little redundancy to mask gaps.

Completeness4/5

For a stock photo search domain, text search, image-reference search, and account connection cover the core lifecycle. Minor gaps exist (e.g., no dedicated photo-detail or collection retrieval), but results already carry photo_id, licence, and credit info, so core workflows are unblocked.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive