An MCP server for searching and downloading stock photography.
https://github.com/joelio/stockyStop juggling multiple stock photo APIs when you need images for your projects. Stocky gives you a single MCP interface to search, preview, and download royalty-free images from Pexels and Unsplash simultaneously.
You're building a content management system, blog generator, or social media tool. You need stock photos, but integrating with each provider means:
Stocky eliminates this friction by providing three simple MCP tools that work across all providers.
Unified Search Across Providers Query multiple stock photo services with a single call. Search for "sunset beach" and get results from both Pexels and Unsplash, with consistent metadata formatting.
Smart Metadata Aggregation Get photographer credits, licensing info, dimensions, and download URLs in a standardized format - no more parsing different response structures.
Efficient Downloads Download images directly or get base64-encoded data for immediate use. Specify size variants (thumbnail, medium, original) without dealing with provider-specific sizing conventions.
Content Management Systems: Auto-populate article headers with relevant stock photos based on article topics or tags.
Social Media Automation: Generate posts with contextually relevant images - search for "productivity tips" and get professional photos that match your content theme.
Rapid Prototyping: Need placeholder images that aren't just gray rectangles? Search for realistic photos that match your app's use case during development.
Blog Generation Tools: Automatically find and insert relevant images into blog posts based on content analysis.
Add to your MCP client configuration:
{
"mcpServers": {
"stocky": {
"command": "python",
"args": ["/path/to/stocky_mcp.py"],
"env": {
"PEXELS_API_KEY": "your_pexels_key",
"UNSPLASH_ACCESS_KEY": "your_unsplash_key"
}
}
}
}
Then use the three core tools:
# Search across all providers
results = search_stock_images("mountain landscape", per_page=20)
# Get detailed metadata
details = get_image_details("unsplash_abc123xyz")
# Download in your preferred size
image_data = download_image("pexels_123456", size="medium")
Concurrent API Calls: Stocky hits multiple providers simultaneously using async requests, so you get results faster than sequential API calls.
Built-in Error Handling: Provider API down? Rate limit exceeded? Stocky handles failures gracefully and returns what it can.
Consistent Response Format: No more writing transformation logic to normalize different API responses - everything comes back in the same structure.
Pagination Made Simple: Browse large result sets without worrying about each provider's pagination quirks.
Both Pexels and Unsplash offer generous free tiers (200 requests/hour and 50-5000 requests/hour respectively). The images are truly royalty-free - use them in commercial projects without attribution requirements.
Clone the repo, add your API keys, and start searching. Your content workflows just got a lot simpler.
Repository: github.com/joelio/stocky