Provides photo search functionality using the Unsplash API, allowing for image discovery with filters for orientation and content safety, and retrieving detailed photo metadata or base64-encoded image data.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Unsplash MCP Serverfind landscape photos of a foggy mountain range"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Unsplash MCP Server
A Model Context Protocol (MCP) server that provides photo search functionality using the Unsplash API with stdio transport.
Features
π Search photos on Unsplash with various filters
π Support for pagination, orientation filtering, and content filtering
π Returns formatted photo data including URLs, user info, and metadata
πΌοΈ Two response formats: base64-encoded images (default) or JSON with URLs
π Uses stdio transport for seamless MCP integration
β‘ Command-line API key support for easy deployment
π Concurrent image fetching for optimal performance
Installation
From npm (Recommended)
npm install -g @jeffkit/unsplash-mcp-serverFrom source
git clone https://github.com/jeffkit/unsplash-mcp-server.git
cd unsplash-mcp-server
npm install
npm run buildAPI Key Setup
Get your Unsplash API access key:
Visit https://unsplash.com/developers
Create a new application
Copy your Access Key
Usage
Command Line
# Using command line argument (default: image format)
npx -y @jeffkit/unsplash-mcp-server --access-key YOUR_API_KEY
# Using text format (returns JSON with URLs)
npx -y @jeffkit/unsplash-mcp-server --access-key YOUR_API_KEY --response-format text
# Using environment variable
UNSPLASH_ACCESS_KEY=YOUR_API_KEY @jeffkit/unsplash-mcp-server
# Show help
npx @jeffkit/unsplash-mcp-server --helpMCP Client Integration
Add to your MCP client configuration:
{
"mcpServers": {
"unsplash": {
"command": "npx",
"args": ["-y", "@jeffkit/unsplash-mcp-server", "--access-key", "YOUR_API_KEY"]
}
}
}Claude Code
Especially for Claude Code, use the following command to add the MCP server to the MCP server list:
claude mcp add-json unsplash '{"command": "npx", "args": ["-y", "@jeffkit/unsplash-mcp-server", "--access-key", "YOUR_API_KEY"]}'With text format (JSON URLs):
{
"mcpServers": {
"unsplash": {
"command": "npx",
"args": ["-y", "@jeffkit/unsplash-mcp-server", "--access-key", "YOUR_API_KEY", "--response-format", "text"]
}
}
}Or with environment variable:
{
"mcpServers": {
"unsplash": {
"command": "npx",
"args": ["-y", "@jeffkit/unsplash-mcp-server"],
"env": {
"UNSPLASH_ACCESS_KEY": "YOUR_API_KEY"
}
}
}
}Development
npm run dev -- --access-key YOUR_API_KEY
npm run dev -- --access-key YOUR_API_KEY --response-format textTools
search_photos
Search for photos on Unsplash with configurable response format.
Parameters:
query(required): Search term for photospage(optional): Page number (default: 1)per_page(optional): Number of photos per page (default: 10, max: 30)orientation(optional): Filter by orientation ("landscape", "portrait", "squarish")content_filter(optional): Content safety filter ("low", "high")
Response Formats:
Image Format (Default)
Returns base64-encoded images with metadata. Each image is returned as an MCP Image content type.
Text Format
Returns JSON with photo URLs and metadata:
{
"total": 1000,
"total_pages": 100,
"current_page": 1,
"per_page": 10,
"results": [
{
"id": "photo_id",
"description": "Beautiful landscape",
"urls": {
"raw": "https://...",
"full": "https://...",
"regular": "https://...",
"small": "https://...",
"thumb": "https://..."
},
"user": {
"name": "Photographer Name",
"username": "username"
},
"dimensions": {
"width": 3000,
"height": 2000
},
"likes": 100,
"color": "#f0f0f0",
"created_at": "2023-01-01T00:00:00Z"
}
]
}Response Format Configuration
The server can be configured at startup to return either:
Image format (default): Base64-encoded images as MCP Image content with complete JSON metadata
Text format: JSON with photo URLs and metadata as MCP Text content
Choose the format based on your MCP client's capabilities and use case.
Changelog
v1.0.2
β¨ Added complete image URLs in metadata for image mode
π§ Use original Unsplash API response structure for data integrity
π Added Gemini CLI configuration examples
π Added Chinese documentation
v1.0.1
π Various bug fixes and performance improvements
v1.0.0
π Initial release
π Basic Unsplash photo search functionality
π Support for two response formats (image/text)
β‘ stdio transport support
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.