Unsplash MCP Server
About
a Swift implementation of hellokaton/unsplash-mcp-server, with additional features like get_photo and random_photo
Explore
Advanced Image Search: Search Unsplash's extensive photo library with filters for:
Keyword relevance
Color schemes
Orientation options
Custom sorting and pagination
Detailed Photo Information: Get comprehensive details about specific photos including EXIF data, location, and photographer information
Random Photo Selection: Get random photos with flexible filtering options
Multiple Connection Modes:
Standard I/O mode for direct integration with LLMs
Server-Sent Events (SSE) mode for web-based connections
mkdir -p ~/.local/bin
mv unsplash-mcp-server ~/.local/bin/
rm unsplash-mcp-server.zip
mkdir -p ~/.local/bin
cp unsplash-mcp-server ~/.local/bin/
Make sure ~/.local/bin is in your PATH by adding to your shell configuration file:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc # or ~/.bashrc
source ~/.zshrc # or source ~/.bashrc
The server requires an Unsplash API access key to function. Set it in your environment:
export UNSPLASH_ACCESS_KEY="your-access-key-here"
- Unsplash API Access Key (register at Unsplash Developers Portal)
"mcpServers": {
"unsplash": {
"command": "unsplash-mcp-server",
"env": {
"UNSPLASH_ACCESS_KEY": "your-access-key-here"
}
}
}
Add the following configuration to your Cursor editor's settings.json:
{
"mcpServers": {
"unsplash": {
"command": "unsplash-mcp-server",
"env": {
"UNSPLASH_ACCESS_KEY": "your-access-key-here"
}
}
}
}

> Note: When adding environment variables in Chatwise, do not wrap the value in quotes (fixes #1)
{
"photoId": "Dwu85P9SOIk"
}
{
"count": 3,
"query": "coffee",
"orientation": "portrait"
}
search_photos
Search for photos on Unsplash
query
(string, required): Search keyword
page
(number, optional): Page number (1-based), default: 1
per_page
(number, optional): Results per page (1-30), default: 10
order_by
(string, optional): Sort method (relevant or latest), default: "relevant"
color
(string, optional): Color filter (black_and_white, black, white, yellow, orange, red, purple, magenta, green, teal, blue)
orientation
(string, optional): Orientation filter (landscape, portrait, squarish)
get_photo
Get detailed information about a specific photo
photoId
(string, required): The photo ID to retrieve
random_photo
Get one or more random photos
count
(number, optional): The number of photos to return (Default: 1; Max: 30)
collections
(string, optional): Public collection ID('s) to filter selection. If multiple, comma-separated
topics
(string, optional): Public topic ID('s) to filter selection. If multiple, comma-separated
username
(string, optional): Limit selection to a specific user
content_filter
(string, optional): Limit results by content safety. Valid values: low, high
featured
(boolean, optional): Limit selection to featured photos
search_photos - Search for photos on Unsplash
query (string, required): Search keyword
page (number, optional): Page number (1-based), default: 1
per_page (number, optional): Results per page (1-30), default: 10
order_by (string, optional): Sort method (relevant or latest), default: "relevant"
color (string, optional): Color filter (black_and_white, black, white, yellow, orange, red, purple, magenta, green, teal, blue)
orientation (string, optional): Orientation filter (landscape, portrait, squarish)
get_photo - Get detailed information about a specific photo
photoId (string, required): The photo ID to retrieve
random_photo - Get one or more random photos
count (number, optional): The number of photos to return (Default: 1; Max: 30)
collections (string, optional): Public collection ID('s) to filter selection. If multiple, comma-separated
topics (string, optional): Public topic ID('s) to filter selection. If multiple, comma-separated
username (string, optional): Limit selection to a specific user
query (string, optional): Limit selection to photos matching a search term
orientation (string, optional): Filter by photo orientation. Valid values: landscape, portrait, squarish
content_filter (string, optional): Limit results by content safety. Valid values: low, high
featured (boolean, optional): Limit selection to featured photos
> A Model Context Protocol server that provides Unsplash photo search and retrieval capabilities. This server enables LLMs to search, retrieve, and get random photos from Unsplash's extensive collection. This is a Go implementation that offers tools like search_photos, get_photo, and random_photo.
✨ Features
Advanced Image Search: Search Unsplash's extensive photo library with filters for:
Keyword relevance
Color schemes
Orientation options
Custom sorting and pagination
Detailed Photo Information: Get comprehensive details about specific photos including EXIF data, location, and photographer information
Random Photo Selection: Get random photos with flexible filtering options
Multiple Connection Modes:
Standard I/O mode for direct integration with LLMs
Server-Sent Events (SSE) mode for web-based connections
Available Tools
search_photos - Search for photos on Unsplash
query (string, required): Search keyword
page (number, optional): Page number (1-based), default: 1
per_page (number, optional): Results per page (1-30), default: 10
order_by (string, optional): Sort method (relevant or latest), default: "relevant"
color (string, optional): Color filter (black_and_white, black, white, yellow, orange, red, purple, magenta, green, teal, blue)
orientation (string, optional): Orientation filter (landscape, portrait, squarish)
get_photo - Get detailed information about a specific photo
photoId (string, required): The photo ID to retrieve
random_photo - Get one or more random photos
count (number, optional): The number of photos to return (Default: 1; Max: 30)
collections (string, optional): Public collection ID('s) to filter selection. If multiple, comma-separated
topics (string, optional): Public topic ID('s) to filter selection. If multiple, comma-separated
username (string, optional): Limit selection to a specific user
query (string, optional): Limit selection to photos matching a search term
orientation (string, optional): Filter by photo orientation. Valid values: landscape, portrait, squarish
content_filter (string, optional): Limit results by content safety. Valid values: low, high
featured (boolean, optional): Limit selection to featured photos
Installation
Option 1: Download Pre-built Binary
Download the latest pre-built binary for your platform from the GitHub Releases page and follow the installation instructions below.
<details>
<summary><b>macOS Installation</b></summary>
macOS with Apple Silicon (M1/M2/M3):
```bashSign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



