About Unsplash
Unsplash is an MCP server in the Commerce category: unsplash MCP.
The repository has 12 stars and 0 forks.
Install
claude mcp add unsplash -- npx -y unsplash-mcpnpx -y unsplash-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (11)
get_photoRetrieve a single photo by its id.
Parameters not published.
get_random_photoRetrieve a single (or a batch of) random photo(s) with optional filters.
Parameters not published.
get_topicGet an Unsplash topic by id or slug.
Parameters not published.
get_userGet a user
Parameters not published.
list_photosList the Unsplash editorial photo feed.
Parameters not published.
list_topicsList Unsplash topics.
Parameters not published.
list_user_photosList photos uploaded by a given user.
Parameters not published.
search_collectionsSearch Unsplash collections by keyword.
Parameters not published.
search_photosSearch Unsplash photos by keyword. Returns a paginated list of photos.
Parameters not published.
search_usersSearch Unsplash users by keyword.
Parameters not published.
track_photo_downloadTrigger Unsplash download tracking for a photo (required by API guidelines when a user downloads).
Parameters not published.
Ask AI
Ask AI about Unsplash
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
unsplash-mcp
A Model Context Protocol server that exposes the Unsplash API as tools usable by MCP-compatible clients (Claude Desktop, Windsurf, Cursor, etc.). Built with Bun + TypeScript.
Installation
npm install -g unsplash-mcp
# or
bun add -g unsplash-mcp
Features
Tools provided by the server:
search_photos— search Unsplash photos by keyword with filters (color, orientation, content filter, etc.)search_collections— search collections by keywordsearch_users— search users by keywordget_random_photo— random photo(s) with optional filters (query/topics/collections/orientation/count)get_photo— fetch a single photo by idlist_photos— editorial photo feedtrack_photo_download— hit the required download tracking endpointget_user— public user profilelist_user_photos— photos uploaded by a userlist_topics— list topicsget_topic— topic by id or slug
Prerequisites
- Bun >= 1.1 or Node.js >= 20
- An Unsplash developer account and Access Key — create an app at https://unsplash.com/oauth/applications
Usage
Set your Unsplash access key as an environment variable:
export UNSPLASH_ACCESS_KEY=your_access_key_here
Then run the server:
unsplash-mcp
# or
bun run /path/to/node_modules/.bin/unsplash-mcp
The server speaks MCP over stdio. Logs go to stderr; protocol messages go to stdout.
Configure with an MCP client
Example Claude Desktop / Windsurf config entry:
{
"mcpServers": {
"unsplash": {
"command": "unsplash-mcp",
"env": {
"UNSPLASH_ACCESS_KEY": "your_access_key_here"
}
}
}
}
Development
git clone https://github.com/d0nj/unplash-mcp.git
cd unplash-mcp
bun install
cp .env.example .env
# edit .env and set UNSPLASH_ACCESS_KEY
bun run dev
Authentication
This server uses Unsplash public authentication (Authorization: Client-ID <access key>). That is sufficient for all read-only endpoints exposed here. User-authenticated endpoints (liking photos, managing collections, etc.) are intentionally not included.
Project structure
src/
index.ts # MCP server entrypoint, tool definitions
unsplash.ts # Thin typed wrapper around the Unsplash REST API
License
MIT
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.