Unsplash MCP Server

A production-ready Model Context Protocol (MCP) server for the Unsplash API. It gives AI assistants — Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, and any MCP client — tools to search and…

Local serverstdioMIT

What is the Unsplash MCP Server?

unsplash-mcp-server is an MCP project maintained in the hanoak/unsplash-mcp-server repository. The maintainer describes its purpose as “A production-ready Model Context Protocol (MCP) server for the Unsplash API. It gives AI assistants — Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, and…”. Read the project documentation for the complete scope.

Installation

The documented npm package is @hanoak/unsplash-mcp-server. The configuration below comes from the maintainer’s example; adapt its paths and account values to your environment.

Configuration values

The example declares UNSPLASH_ACCESS_KEY, UNSPLASH_APP_NAME. Secret-looking values have been replaced with placeholders. Required and optional labels are shown only when the documentation states them.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
Resourcescompact guides your client can pull in as context:
unsplash//guides/prompts — which of the prompts below to use for a given task.
Promptsready-made tasks your client can surface directly; each expands into a guided, multi-step tool-calling task:
DomainTools
Photosrandom_photo, list_photos, get_photo, photo_statistics, track_download, update_photo 🔒
Searchsearch_photos, search_collections, search_users
Usersget_user, user_photos, user_collections, user_statistics
Collectionslist_collections, get_collection, collection_photos, related_collections, create_collection 🔒, update_collection 🔒, delete_collection 🔒, add_photo_to_collect
Topicslist_topics, get_topic, topic_photos
Statstotal_stats, month_stats
Meget_my_profile 🔒, update_my_profile 🔒
unsplash_random_photoquery?, orientation? (landscape\
unsplash_list_photospage? (default 1), per_page? (default 10, max 30)
unsplash_get_photoid (required)
unsplash_photo_statisticsid (required), quantity? (days, default 30, max 30)
unsplash_track_downloaddownload_location (required) — the download_location URL from a prior photo result (must be an https://api.unsplash.com URL)
unsplash_search_photosquery (required), page?, per_page?, order_by? (latest\
unsplash_search_collectionsquery (required), page?, per_page?
unsplash_search_usersquery (required), page?, per_page?
unsplash_get_userusername (required)
unsplash_user_photosusername (required), page?, per_page?, order_by? (latest\
unsplash_user_collectionsusername (required), page?, per_page?
unsplash_user_statisticsusername (required), quantity? (days, default 30, max 30)
unsplash_list_collectionspage?, per_page?
unsplash_get_collectionid (required)
unsplash_collection_photosid (required), page?, per_page?, orientation?
unsplash_related_collectionsid (required)
unsplash_list_topicspage?, per_page?, order_by? (featured\
unsplash_get_topicid (required) — ID or slug (e.g. nature, wallpapers)
unsplash_topic_photosid (required), page?, per_page?, orientation?, order_by? (latest\
unsplash_total_stats_(none)_
unsplash_month_stats_(none)_

How to install the Unsplash MCP Server

{
  "mcpServers": {
    "unsplash": {
      "command": "npx",
      "args": [
        "-y",
        "@hanoak/unsplash-mcp-server"
      ],
      "env": {
        "UNSPLASH_ACCESS_KEY": "YOUR_UNSPLASH_ACCESS_KEY",
        "UNSPLASH_APP_NAME": "your_registered_app_name"
      }
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

VariableDescriptionRequired
UNSPLASH_ACCESS_KEYDeclared in the maintainer’s client configuration.Check documentation
UNSPLASH_APP_NAMEDeclared in the maintainer’s client configuration.Check documentation