Skip to main content
Glama

Unsplash MCP Server and API by Cotlet

Search photos in Unsplash

unsplash_search_photos
Read-onlyIdempotent

Search photos in the user's own Unsplash account from ChatGPT, Claude or any AI agent. Returns how to do it in Unsplash step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Unsplash Cloud Browser. Unsplash's official API: Yes, Unsplash has a public REST API (v1) for photos, collections, users and topics, and an official hosted MCP server at mcp.unsplash.com listed in the Claude directory (checked 6 Nov 2026).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "unsplash_search_photos"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so safety is covered; the description usefully reinforces this with "opens nothing by itself". It adds some context (the tool returns steps with screens, buttons and fields, and hands off to the browser tools), but never describes the actual return shape or length, and the trailing paragraph about Unsplash's REST API and the mcp.unsplash.com hosted server is unrelated trivia that points at an alternative product without explaining when to use it instead.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first sentence is a run-on that asserts a capability and then immediately negates it, and the final sentence is an off-topic API-availability footnote with a parenthetical date ("checked 6 Nov 2026") that does nothing for tool selection. The genuinely useful facts — it returns step-by-step instructions and delegates execution to cotlet_browser_* — are buried mid-paragraph rather than front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter helper, the essentials are present: what comes back (step-by-step screens/buttons/fields), that nothing is executed, and that cotlet_browser_* performs the action. What is missing is the relationship to cotlet_app_guide and the other unsplash_* siblings, plus any description of the response the agent should expect to read and act on.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero parameters, which normally earns a baseline 4, but for a tool named "search photos" the absence of any query argument is material and the description never explains how the target of the search is conveyed. It implies the search happens later, in the browser, but does not state that no query is needed here, leaving the agent to infer it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening clause claims a concrete verb+resource ("Search photos in the user's own Unsplash account"), but the very next clause reverses it: the tool "opens nothing by itself" and merely "Returns how to do it in Unsplash step by step". An agent cannot tell from this whether the call performs a search or returns an instruction sheet, so the purpose lands between two incompatible actions rather than distinguishing clearly from siblings like unsplash_search_collections.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It does give one piece of real routing guidance: "then do it with the cotlet_browser_* tools in the user's Unsplash Cloud Browser", which tells the agent the follow-up step after this call. Beyond that there is no when-to-use or when-not-to-use guidance relative to unsplash_search_collections, unsplash_search_photographers, or cotlet_app_guide, and no statement of what input the search is based on.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources