Fetch and search Unsplash photos with full attribution and download tracking for LLM content generation.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We ran the install command below but it didn't respond within our test window โ this can mean a slow first-time install rather than a real problem.
uvx fastmcpNo response to initialize.
This is an experimental automated check and can have false negatives โ missing environment variables, a slow cold install, etc. It doesnโt necessarily mean somethingโs wrong. Last checked 4d ago.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Unsplash MCP.
search_photosSearch for photos by keyword with optional filters.
get_random_photosGet random photos, optionally filtered by keyword.
track_downloadTrack a photo download (required by Unsplash API guidelines).
An MCP (Model Context Protocol) server for fetching photos from Unsplash with proper attribution. Designed for LLMs building content pages that need properly credited images.
Unsplash requires proper attribution when using their photos. This server makes it easy by including:
attribution_text: Plain text like "Photo by John Doe on Unsplash"attribution_html: Full HTML with proper links for web pagesAdd to your ~/.claude.json (user-level) or project .mcp.json:
Add to your Cursor MCP settings:
Add to your MCP configuration:
search_photosSearch for photos by keyword with optional filters.
Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
query | string | required | Search keyword(s) |
page | int | 1 | Page number |
per_page | int | 10 | Results per page (1-30) |
order_by | string | "relevant" | Sort: "relevant" or "latest" |
color | string | null | Color filter (see below) |
orientation | string | null | "landscape", "portrait", "squarish" |
content_filter | string | "low" | Safety: "low" or "high" |
Color options: black_and_white, black, white, yellow, orange, red, purple, magenta, green, teal, blue
Example:
get_random_photosGet random photos, optionally filtered by keyword.
Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
query | string | null | Optional keyword filter |
count | int | 1 | Number of photos (1-30) |
orientation | string | null | "landscape", "portrait", "squarish" |
content_filter | string | "low" | Safety: "low" or "high" |
Example:
track_downloadTrack a photo download (required by Unsplash API guidelines).
Parameters:
| Parameter | Type | Description |
|---|---|---|
photo_id | string | Photo ID from search results |
Example:
Each photo includes:
When an LLM builds a content page:
Search for relevant images:
Select a photo and use it:
If offering download, track it:
This server helps you comply with Unsplash API guidelines:
attribution_html)track_download() when users download imagesMIT License - See LICENSE file.
Contributions welcome! Please feel free to submit a Pull Request.
If you find this project useful, consider buying me a coffee!
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/cevatkerim-unsplash-mcp)<a href="https://allmcps.com/mcp/cevatkerim-unsplash-mcp"><img src="https://allmcps.com/api/badge/cevatkerim-unsplash-mcp?style=directory" alt="Unsplash MCP on AllMCPs" /></a>