stock-image-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DOWNLOAD_DIR | No | Directory for downloaded images. Default is './downloads'. | ./downloads |
| UNSPLASH_TIER | No | Unsplash API tier: 'demo' or 'production'. Default is 'demo'. | demo |
| PEXELS_API_KEY | No | Pexels API key. | |
| FREEPIK_API_KEY | No | Freepik API key. | |
| PIXABAY_API_KEY | No | Pixabay API key. | |
| DEFAULT_PROVIDER | No | Default image provider to use when 'provider' is not specified. Default is 'pexels'. | pexels |
| STOCKVAULT_API_KEY | No | StockVault API key. | |
| UNSPLASH_ACCESS_KEY | No | Unsplash API access key. | |
| BURST_REQUESTS_PER_MINUTE | No | Burst requests per minute. Default is '10'. | 10 |
| FREEPIK_REQUESTS_PER_MINUTE | No | Freepik requests per minute. Default is '60'. | 60 |
| STOCKVAULT_REQUESTS_PER_HOUR | No | StockVault requests per hour. Default is '60'. | 60 |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_stock_imagesA | Search a single stock image provider (or the configured default) for a query. |
| search_all_imagesA | Search every configured provider concurrently; unconfigured or rate-limited providers are skipped with a note rather than failing the whole call. |
| get_best_imageB | Return the single top-ranked result for a query from one provider. |
| download_imageA | Download an image URL to a local path so it can be embedded directly in a blog post's asset folder. Returns the saved path and, if the image was previously returned by a search call, its attribution text. |
| get_attributionA | Return formatted credit/attribution text for a previously-returned image. |
| get_rate_limit_statusA | Inspect remaining request quota per provider before deciding where to search. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Tools are mostly distinct, but search_stock_images, search_all_images, and get_best_image all deal with searching and could be confused. However, descriptions clearly differentiate single-provider vs. multi-provider vs. single-result behavior. download_image and get_attribution also overlap slightly since download_image returns attribution text.
All tool names follow a consistent verb_noun snake_case pattern (download_image, get_attribution, search_stock_images, search_all_images, get_best_image, get_rate_limit_status). The pattern is predictable and easy to navigate.
Six tools is well-scoped for a stock image MCP. Each tool serves a distinct function in the search-download-attribution workflow without unnecessary bloat.
The tool set covers the core lifecycle: searching (single and all providers), selecting the best image, downloading locally, retrieving attribution, and checking rate limits. No obvious dead ends; agents can complete the full workflow.