loading…
Search for a command to run...
loading…
Enables users to search for high-quality photos on Unsplash with support for advanced filtering by orientation and content safety. It provides formatted photo m
Enables users to search for high-quality photos on Unsplash with support for advanced filtering by orientation and content safety. It provides formatted photo metadata and images in either base64-encoded format or as JSON with URLs via stdio transport.
A Model Context Protocol (MCP) server that provides photo search functionality using the Unsplash API with stdio transport.
npm install -g @jeffkit/unsplash-mcp-server
git clone https://github.com/jeffkit/unsplash-mcp-server.git
cd unsplash-mcp-server
npm install
npm run build
Get your Unsplash API access key:
# 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 --help
Add to your MCP client configuration:
{
"mcpServers": {
"unsplash": {
"command": "npx",
"args": ["-y", "@jeffkit/unsplash-mcp-server", "--access-key", "YOUR_API_KEY"]
}
}
}
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"
}
}
}
}
npm run dev -- --access-key YOUR_API_KEY
npm run dev -- --access-key YOUR_API_KEY --response-format text
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:
Returns base64-encoded images with metadata. Each image is returned as an MCP Image content type.
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"
}
]
}
The server can be configured at startup to return either:
Choose the format based on your MCP client's capabilities and use case.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"unsplash-mcp-server": {
"command": "npx",
"args": []
}
}
}