Unsplash MCP Server
@okooo5km
a Swift implementation of hellokaton/unsplash-mcp-server, with additional features like get_photo and random_photo
Overview
What is Unsplash MCP Server?
Unsplash MCP Server is a Go implementation of the Model Context Protocol that enables LLMs to search, retrieve, and get random photos from Unsplash’s extensive photo library. It provides tools like search_photos, get_photo, and random_photo and is built for developers integrating Unsplash imagery into AI assistants.
How to use Unsplash MCP Server?
Install a pre-built binary from GitHub Releases or build from source with Go 1.20+. Set the UNSPLASH_ACCESS_KEY environment variable with your Unsplash API access key. Run the server by executing unsplash-mcp-server (default stdio mode) or use --transport sse for web-based connections. Configure the server for Claude, Cursor, or Chatwise by adding it to their MCP settings.
Key features of Unsplash MCP Server
- Advanced image search with keyword, color, orientation, and ordering filters
- Detailed photo information including EXIF data and photographer details
- Random photo selection with optional count, collection, topic, and query filters
- Support for stdio and Server-Sent Events (SSE) transport modes
- Paginated search results and configurable items per page (1–30)
Use cases of Unsplash MCP Server
- Search for high-quality photos by keyword, color, or orientation during conversations
- Retrieve full metadata (EXIF, location, photographer) for a specific Unsplash photo
- Generate random images based on topics, collections, or search terms for inspiration
- Integrate visual search capabilities into LLM-based content creation workflows
FAQ from Unsplash MCP Server
What is the Unsplash MCP Server?
It is a Go MCP server that exposes Unsplash photo search, retrieval, and random photo tools for use by LLMs and other MCP clients.
How do I obtain an Unsplash API access key?
Register a new application at the Unsplash Developers Portal to receive your Access Key (Client ID). Set it as the UNSPLASH_ACCESS_KEY environment variable.
What transport modes are supported?
The server supports standard I/O mode (default) for direct LLM integration and Server-Sent Events (SSE) mode for web-based connections. Use --transport sse to enable SSE.
What are the system requirements?
Go 1.20 or later, the MCP Go SDK 0.19.0 or later, and a valid Unsplash API access key.
How can I configure the server for Claude.app?
Add it to your Claude settings under mcpServers with the command unsplash-mcp-server and the UNSPLASH_ACCESS_KEY environment variable set.