@hanoak/unsplash-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Log level: debug, info, warn, error (default info) | |
| UNSPLASH_APP_NAME | No | Your registered Unsplash app name, used as the attribution utm_source. Defaults to a generic value if unset. | |
| UNSPLASH_ACCESS_KEY | Yes | Your Unsplash API access key |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| unsplash_random_photoA | Fetch a single random photo from Unsplash. Optionally filter by search term, orientation, collections, topics, or user. Returns photo URLs, dimensions, color, and ready-to-use attribution (text + HTML). Content is filtered to "high" safety by default. Read-only. Each photo includes a |
| unsplash_list_photosA | List the latest featured Unsplash photos (paginated). Returns compact photo objects with URLs and ready-to-use attribution. Read-only. Each photo includes a |
| unsplash_get_photoA | Get a single Unsplash photo by its ID or slug, with full detail, URLs, and ready-to-use attribution. Read-only. Each photo includes a |
| unsplash_photo_statisticsA | Get download and view totals for a photo over the last N days (default 30). Read-only. |
| unsplash_track_downloadA | Register a download for a photo when it is actually used/displayed, as required by Unsplash's API guidelines. Pass the |
| unsplash_update_photoA | Update metadata on a photo owned by the authenticated user (description, tags, location, EXIF, profile visibility). Only the fields you pass are changed. Requires OAuth sign-in — run |
| unsplash_search_photosA | Search Unsplash photos by keyword, with optional filters (orientation, color, order, collections, language). Returns paginated compact photos with URLs and ready-to-use attribution. Content is filtered to "high" safety by default. Read-only. Each photo includes a |
| unsplash_search_collectionsA | Search Unsplash collections by keyword. Returns paginated compact collections (title, description, cover photo, curator). Read-only. |
| unsplash_search_usersA | Search Unsplash users by keyword. Returns paginated compact user profiles (name, username, bio, profile link, photo/collection counts). Read-only. |
| unsplash_get_userA | Get an Unsplash user's public profile by username. Read-only. |
| unsplash_user_photosA | List a user's photos (paginated), with URLs and ready-to-use attribution. Read-only. Each photo includes a |
| unsplash_user_collectionsB | List a user's collections (paginated). Read-only. |
| unsplash_user_statisticsA | Get a user's download and view totals over the last N days (default 30). Read-only. |
| unsplash_list_collectionsB | List the latest featured Unsplash collections (paginated). Read-only. |
| unsplash_get_collectionA | Get a single Unsplash collection by its ID. Read-only. |
| unsplash_collection_photosA | List the photos in a collection (paginated), with URLs and ready-to-use attribution. Read-only. Each photo includes a |
| unsplash_related_collectionsA | List collections related to a given collection. Read-only. |
| unsplash_create_collectionA | Create a new collection owned by the authenticated user. Requires OAuth sign-in — run |
| unsplash_update_collectionA | Update a collection owned by the authenticated user. Only the fields you pass are changed. Requires OAuth sign-in — run |
| unsplash_delete_collectionA | Permanently delete a collection owned by the authenticated user. This cannot be undone. Requires OAuth sign-in — run |
| unsplash_add_photo_to_collectionA | Add a photo to a collection owned by the authenticated user. Requires OAuth sign-in — run |
| unsplash_remove_photo_from_collectionA | Remove a photo from a collection owned by the authenticated user. Requires OAuth sign-in — run |
| unsplash_list_topicsB | List Unsplash topics (curated themes), paginated. Read-only. |
| unsplash_get_topicA | Get a single Unsplash topic by its ID or slug. Read-only. |
| unsplash_topic_photosA | List the photos in a topic (paginated), with URLs and ready-to-use attribution. Read-only. Each photo includes a |
| unsplash_total_statsA | Get Unsplash-wide totals: photos, downloads, views, photographers, and more. Read-only. |
| unsplash_month_statsA | Get Unsplash-wide totals for the past 30 days: new photos, downloads, views, and more. Read-only. |
| unsplash_get_my_profileA | Get the authenticated user's own Unsplash profile, including private fields (email, remaining uploads). Requires OAuth sign-in — run |
| unsplash_update_my_profileA | Update the authenticated user's own Unsplash profile. Only the fields you pass are changed. Requires OAuth sign-in — run |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| find_photo | Search Unsplash for a photo matching a description and present it with attribution. |
| photo_gallery | Search Unsplash for a themed set of photos and present them all with attribution. |
| topic_spotlight | Showcase a curated Unsplash topic's best photos with attribution. |
| photographer_spotlight | Look up a user's profile and showcase their best work with attribution. |
| platform_pulse | A quick briefing of Unsplash-wide stats: all-time totals and this month. |
| curate_collection | Search Unsplash for a theme, then build (or extend) a real collection from the best matches. Requires OAuth sign-in. |
| describe_photo | Add a description and/or tags to a photo you own. Requires OAuth sign-in. |
| refresh_profile | Update your own bio, location, or portfolio URL. Requires OAuth sign-in. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| attribution-guide | How to correctly attribute and use Unsplash photos from this server: attribution, download tracking, hotlinking, and content safety. |
| oauth-setup-guide | How to sign in via OAuth to unlock the 8 write/`me` tools (profile, collections, photo metadata). |
| prompts-guide | A reference for the 8 available prompts and when to use each. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hanoak/unsplash-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server