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…
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.
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.
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.
Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| Resources | compact guides your client can pull in as context: |
| unsplash | //guides/prompts — which of the prompts below to use for a given task. |
| Prompts | ready-made tasks your client can surface directly; each expands into a guided, multi-step tool-calling task: |
| Domain | Tools |
| Photos | random_photo, list_photos, get_photo, photo_statistics, track_download, update_photo 🔒 |
| Search | search_photos, search_collections, search_users |
| Users | get_user, user_photos, user_collections, user_statistics |
| Collections | list_collections, get_collection, collection_photos, related_collections, create_collection 🔒, update_collection 🔒, delete_collection 🔒, add_photo_to_collect |
| Topics | list_topics, get_topic, topic_photos |
| Stats | total_stats, month_stats |
| Me | get_my_profile 🔒, update_my_profile 🔒 |
| unsplash_random_photo | query?, orientation? (landscape\ |
| unsplash_list_photos | page? (default 1), per_page? (default 10, max 30) |
| unsplash_get_photo | id (required) |
| unsplash_photo_statistics | id (required), quantity? (days, default 30, max 30) |
| unsplash_track_download | download_location (required) — the download_location URL from a prior photo result (must be an https://api.unsplash.com URL) |
| unsplash_search_photos | query (required), page?, per_page?, order_by? (latest\ |
| unsplash_search_collections | query (required), page?, per_page? |
| unsplash_search_users | query (required), page?, per_page? |
| unsplash_get_user | username (required) |
| unsplash_user_photos | username (required), page?, per_page?, order_by? (latest\ |
| unsplash_user_collections | username (required), page?, per_page? |
| unsplash_user_statistics | username (required), quantity? (days, default 30, max 30) |
| unsplash_list_collections | page?, per_page? |
| unsplash_get_collection | id (required) |
| unsplash_collection_photos | id (required), page?, per_page?, orientation? |
| unsplash_related_collections | id (required) |
| unsplash_list_topics | page?, per_page?, order_by? (featured\ |
| unsplash_get_topic | id (required) — ID or slug (e.g. nature, wallpapers) |
| unsplash_topic_photos | id (required), page?, per_page?, orientation?, order_by? (latest\ |
| unsplash_total_stats | _(none)_ |
| unsplash_month_stats | _(none)_ |
{
"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.
| Variable | Description | Required |
|---|---|---|
| UNSPLASH_ACCESS_KEY | Declared in the maintainer’s client configuration. | Check documentation |
| UNSPLASH_APP_NAME | Declared in the maintainer’s client configuration. | Check documentation |
Read, search and edit files inside allowed directories with the Model Context Protocol reference Filesystem server.
Retrieve version-aware library documentation and code examples with Context7 MCP, using resolve-library-id and query-docs.
Use Microsoft’s Playwright MCP server to navigate pages, inspect accessibility snapshots, fill forms and capture browser screenshots.
Connect GitHub MCP to repositories, issues and pull requests with GitHub’s hosted service or a locally run server.
Use the Supabase MCP server to inspect database schemas, query project data and retrieve docs through a project-scoped connection.
Search Linear issues and projects, inspect work context and manage updates through Linear’s hosted MCP server with OAuth.