MCP server to search and download stock images from Pexels, Unsplash, and Pixabay
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
claude mcp add stock-images-mcp -- docker run -i --rm PWD/downloads{
"mcpServers": {
"stock-images-mcp": {
"command": "docker",
"args": ["run", "-i", "--rm", "PWD/downloads"],
"env": {
"PEXELS_API_KEY": "<pexels_api_key>"
}
}
}
}PEXELS_API_KEYMCP Servers overview
# Stock Images MCP
[](https://github.com/jeanpfs/stock-images-mcp/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/stock-images-mcp)
[](LICENSE)
<a href="https://glama.ai/mcp/servers/@jeanpfs/stock-images-mcp">
<img width="380" height="200" src="https://glama.ai/mcp/servers/@jeanpfs/stock-images-mcp/badge" />
</a>
<p align="center">
<img src="https://raw.githubusercontent.com/jeanpfs/stock-images-mcp/main/assets/demo.gif" alt="Claude Code searching three stock photo providers and downloading the best match with its credit" width="900">
</p>
An MCP (Model Context Protocol) server for searching and downloading stock images from Pexels, Unsplash, and Pixabay.
## Features
- **search_images**: search one or all configured providers; partial failures are reported per provider
- **download_image**: download an image safely into a local folder
## Setup
### Get API keys (at least one required)
| Provider | Env var | Get a key |
| -------- | ------------------ | ------------------------------- |
| Pexels | `PEXELS_API_KEY` | https://www.pexels.com/api/ |
| Unsplash | `UNSPLASH_API_KEY` | https://unsplash.com/developers |
| Pixabay | `PIXABAY_API_KEY` | https://pixabay.com/api/docs/ |
Optional: `STOCK_IMAGES_DOWNLOAD_DIR` — where `download_image` writes files (default `./downloads`).
### Claude Code / Cursor / Claude Desktop
Add to your MCP config (`~/.claude/mcp.json`, `~/.cursor/mcp.json`, or `claude_desktop_config.json`):
```json
{
"mcpServers": {
"stock-images": {
"command": "npx",
"args": ["-y", "stock-images-mcp"],
"env": {
"PEXELS_API_KEY": "your-key-here",
"UNSPLASH_API_KEY": "your-key-here",
"PIXABAY_API_KEY": "your-key-here"
}
}
}
}
```
Requires Node.js 22+.
### Docker
```bash
docker build -t stock-images-mcp .
docker run -i --rm -e PEXELS_API_KEY=xxx -v "$PWD/downloads:/downloads" stock-images-mcp
```
### From source
```bash
git clone https://github.com/jeanpfs/stock-images-mcp.git
cd stock-images-mcp
npm ci && npm run build
PEXELS_API_KEY=xxx node dist/index.js
```
## Tools
### search_images
Search for stock images across configured providers.
**Parameters:**
- `query` (required): search term
- `provider`: `"pexels"`, `"unsplash"`, `"pixabay"`, or `"all"` (default: `"all"`)
- `count`: results per provider (default 5, max 20)
- `orientation`: `"landscape"`, `"portrait"`, or `"square"`
Each result has `id`, `provider`, `url`, `thumbnail`, `description`, `author`, `authorUrl`, `downloadUrl`, `width`, `height`. Pass `downloadUrl` to `download_image`.
### download_image
Download an image into the download directory.
**Parameters:**
- `url` (required): `https` image URL on `pexels.com`, `unsplash.com` or `pixabay.com` (use `downloadUrl` from `search_images`)
- `filename`: output name — letters, digits, `_`, `-`, `.` only; the extension is added from the content-type if missing (auto-generated if omitted)
- `folder`: subfolder inside the download directory
**Behavior and limits:**
- Download directory is `./downloads`, or `STOCK_IMAGES_DOWNLOAD_DIR` if set. Paths that escape it (including via symlinks) are rejected.
- Only `image/*` responses are saved; max 50 MiB; 30 s timeout; redirects are followed only to allowed hosts.
- Existing files are never overwritten.
- Unsplash downloads require `UNSPLASH_API_KEY`: the tool calls Unsplash's download endpoint, as their API guidelines require.
### Errors
Failures return `isError: true`. `search_images` also returns a per-provider `errors` list when some providers fail but others succeed. Provider requests time out after 10 s and are retried on network errors, 429 and 502/503/504.
## Attribution and licensing
Images stay under each provider's license. Credit the photographer where the provider requires it (`author` and `authorUrl` are returned for that purpose) and review the terms: [Pexels](https://www.pexels.com/license/), [Unsplash](https://unsplash.com/license), [Pixabay](https://pixabay.com/service/license-summary/).
## Development
```bash
npm ci
npm run lint && npm run format:check && npm run typecheck && npm test
```
See [CONTRIBUTING.md](CONTRIBUTING.md), [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) and [SECURITY.md](SECURITY.md) (report vulnerabilities privately, not in public issues).
## License
MIT
What people ask about stock-images-mcp
What is jeanpfs/stock-images-mcp?
+
jeanpfs/stock-images-mcp is mcp servers for the Claude AI ecosystem. MCP server to search and download stock images from Pexels, Unsplash, and Pixabay It has 4 GitHub stars and its last recorded update is dated 2026-10-16.
How do I install stock-images-mcp?
+
You can install stock-images-mcp by cloning the repository (https://github.com/jeanpfs/stock-images-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is jeanpfs/stock-images-mcp safe to use?
+
Our security agent has analyzed jeanpfs/stock-images-mcp and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains jeanpfs/stock-images-mcp?
+
jeanpfs/stock-images-mcp is maintained by jeanpfs. The last recorded GitHub activity is dated 2026-10-16, with 2 open issues.
Are there alternatives to stock-images-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy stock-images-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/jeanpfs-stock-images-mcp)<a href="https://claudewave.com/repo/jeanpfs-stock-images-mcp"><img src="https://claudewave.com/api/badge/jeanpfs-stock-images-mcp" alt="Featured on ClaudeWave: jeanpfs/stock-images-mcp" width="320" height="64" /></a>More MCP Servers
Reverse engineer anything with agents, from app behavior down to native binaries.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev