Shutterstock

io.github.FredobummaPublished by GitHub account Fredobummav0.1.1Updated Nov 6, 2026

Search Shutterstock photos, footage, music and news images; preview, collect and license them.

VerifiedSTDIODesktop onlyWeb Search & ScrapingMedia & Design

Overview

AI-generated overview

Searches Shutterstock photos, footage, music and editorial news images, shows previews, saves picks to collections and can license assets with your…

What you can do
  • Search images, videos, music and editorial news photos with filters such as orientation, colour, resolution, tempo or date
  • Inspect a single asset, find similar images or videos, and run reverse image search from a file or URL
  • View watermarked previews as images the assistant can look at
  • List subscriptions and past licenses, and list or read collections
  • Create collections and add assets to them
  • License an image, clip, track or editorial photo when licensing is explicitly enabled
When to use it
Useful when an assistant is helping with a design, deck, video edit or article and needs to find, compare and shortlist stock assets, or hand a set of picks to a team for review.
Requirements
Runs locally as a Python package via uvx. Needs a free Shutterstock developer app: SHUTTERSTOCK_API_KEY and SHUTTERSTOCK_API_SECRET for searching, or SHUTTERSTOCK_API_TOKEN (OAuth, with scopes such as collections.view, collections.edit, licenses.view, licenses.create) for collections, license history and licensing. Network access to Shutterstock. Free apps see a smaller library, only the first results, and about 100 requests an hour.
Before you install
Licensing spends your subscription's downloads or credits and cannot be undone; the license_asset tool only exists when SHUTTERSTOCK_ENABLE_LICENSING is set to true, and editorial photos should only be licensed for news or commentary. Collections can be created and modified. The API key, secret and OAuth token are secrets stored in environment variables, and search queries and uploaded images are sent to Shutterstock.

Installation

In SourceWeft

  1. Open Shutterstock in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

shutterstock-mcp

An MCP server for Shutterstock. It lets Claude and other assistants search Shutterstock's photos, illustrations, vectors, video footage, music and editorial news photos, look at previews, find similar images, keep picks in collections, and, if you turn it on, license what you've chosen with your own subscription.

Why

Finding the right stock asset is slow, manual work: search, scroll, preview, compare, search again. An assistant helping with a design, a deck, a video edit or an article can't reach Shutterstock at all. Shutterstock has no official MCP server, and what exists is a demo that returns page links.

What you can ask for

  • "Find warm, candid photos of a small team in an office, no faces, landscape, that would work on a dark website header." The assistant searches, looks at the previews, and shows you the ones that fit.
  • "Find a 15 to 30 second drone shot of a coastline in 4K, and an uplifting instrumental track around 100 BPM to go under it."
  • "Find editorial photos of last night's final for the match report."
  • "Here's a sketch of the layout we want. Find stock photos that look like it." This is reverse image search, from a file or a URL.
  • "Find more like this one." That works for images and video.
  • "Put these five in the Spring campaign collection" for the team to review.
  • "License the second one at full size." This needs licensing turned on; see below.

Setup

  1. Create a free app at shutterstock.com/account/developers/apps. Its key and secret are enough to search.
  2. For collections, license history and licensing, the server also needs an OAuth access token for your account. You can generate one from the same app page, with the scopes you want: user.view, collections.view, collections.edit, licenses.view and licenses.create.

Claude Code

sh
claude mcp add shutterstock -e SHUTTERSTOCK_API_KEY=… -e SHUTTERSTOCK_API_SECRET=… -- uvx shutterstock-mcp

Claude Desktop, Cursor and others

json
{  "mcpServers": {    "shutterstock": {      "command": "uvx",      "args": ["shutterstock-mcp"],      "env": {        "SHUTTERSTOCK_API_KEY": "…",        "SHUTTERSTOCK_API_SECRET": "…"      }    }  }}

With an OAuth token, set SHUTTERSTOCK_API_TOKEN instead of the key and secret.

Licensing

Licensing spends your subscription's downloads or credits and can't be undone, so the license_asset tool doesn't exist unless you set SHUTTERSTOCK_ENABLE_LICENSING=true. When it's on, it's marked as destructive, so clients that respect tool hints ask you before each use. Editorial photos are licensed only once you've confirmed they're for news or commentary.

Tools

ToolNeeds
search_imageskeyPhotos, illustrations and vectors, by orientation, colour, people, licence and more
search_videoskeyFootage, by resolution, length, aspect ratio and orientation
search_musickeyTracks, by genre, mood, instruments, tempo, length and vocals
search_editorialkeyNews, sport and entertainment photos, by date, cleared for a country
get_assetkeyFull details of one asset
find_similarkeyMore images or videos like one from Shutterstock
reverse_image_searchkeyShutterstock images like one of your own
view_previewkeyThe watermarked preview, as an image the assistant can look at
list_subscriptionstokenYour subscriptions and what's left on them
list_licensestokenWhat you've licensed before
list_collections, get_collectiontokenYour collections and what's in them
create_collection, add_to_collectiontokenMake and fill collections
license_assettoken, opt-inLicense an image, clip, track or editorial photo

Free Shutterstock apps search a smaller part of the library, see only the first results of a search, and are limited to about 100 requests an hour.

Status

Built from Shutterstock's API reference and its official SDK's models, checked against the live API, and tested against a fake of the API that checks what the server sends, through a real MCP client. If something doesn't match, please open an issue.

Development

sh
uv venv && uv pip install -e . pytest anyio ruff mypypytest && ruff check . && mypy

License

MIT. Not affiliated with Shutterstock. Shutterstock is a trademark of Shutterstock, Inc.

Source: README.md at commit 86f7724

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the server did not start.

Version history

1
  1. v0.1.1LatestNov 6, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts