Sponsored by Deepsite.site

Stocky

Created By
joelio6 months ago
Find beautiful royalty-free stock images 📸 🔍 Multi-Provider Search - Search across Pexels and Unsplash simultaneously 📊 Rich Metadata - Get comprehensive image details including dimensions, photographer info, and licensing 📄 Pagination Support - Browse through large result sets with ease 🛡️ Graceful Error Handling - Robust error handling for API failures ⚡ Async Performance - Lightning-fast concurrent API calls 🎯 Provider Flexibility - Search specific providers or all at once
Content

Stocky Logo
Stocky
Find beautiful royalty-free stock images 📸

Python 3.8+ MCP Compatible License: MIT

✨ Features

  • 🔍 Multi-Provider Search - Search across Pexels and Unsplash simultaneously
  • 📊 Rich Metadata - Get comprehensive image details including dimensions, photographer info, and licensing
  • 📄 Pagination Support - Browse through large result sets with ease
  • 🛡️ Graceful Error Handling - Robust error handling for API failures
  • Async Performance - Lightning-fast concurrent API calls
  • 🎯 Provider Flexibility - Search specific providers or all at once

🚀 Quick Start

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/stocky-mcp.git
cd stocky-mcp
  1. Install dependencies:
pip install -r requirements.txt

API Key Setup

You'll need free API keys from each provider:

  1. Pexels 📷 - Get your key at pexels.com/api
  2. Unsplash 🌅 - Sign up at unsplash.com/developers

Environment Configuration

  1. Copy the example environment file:
cp .env.example .env
  1. Add your API keys to .env:
PEXELS_API_KEY=your_pexels_key_here
UNSPLASH_ACCESS_KEY=your_unsplash_key_here

Running the Server

python stocky_mcp.py

🔧 MCP Client Configuration

Add Stocky 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",

      }
    }
  }
}

📖 Usage Examples

Searching for Images

Search across all providers:

results = await search_stock_images("sunset beach")

Search specific providers:

results = await search_stock_images(
    query="mountain landscape",
    providers=["pexels", "unsplash"],
    per_page=30,
    page=1
)

Getting Image Details

details = await get_image_details("unsplash_abc123xyz")

🛠️ Tools Documentation

search_stock_images

Search for royalty-free stock images across multiple providers.

Parameters:

  • query (str, required) - Search terms for finding images
  • providers (list, optional) - List of providers to search: ["pexels", "unsplash"]
  • per_page (int, optional) - Results per page, max 50 (default: 20)
  • page (int, optional) - Page number for pagination (default: 1)
  • sort_by (str, optional) - Sort results by "relevance" or "newest"

Returns: List of image results with metadata

get_image_details

Get detailed information about a specific image.

Parameters:

  • image_id (str, required) - Image ID in format provider_id (e.g., pexels_123456)

Returns: Detailed image information including full metadata

📄 License Information

All images returned by Stocky are free to use:

  • Pexels ✅ - Free for commercial and personal use, no attribution required
  • Unsplash ✅ - Free under the Unsplash License

Always check the specific license for each image before use in production.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

🙏 Acknowledgments

🐛 Troubleshooting

Common Issues

"API key not found" error

  • Ensure your .env file exists and contains valid API keys
  • Check that environment variables are properly loaded
  • Verify API key names match exactly (case-sensitive)

No results returned

  • Try different search terms
  • Check your internet connection
  • Verify API keys are active and have not exceeded rate limits

Installation issues

  • Ensure Python 3.8+ is installed
  • Try creating a virtual environment: python -m venv venv
  • Update pip: pip install --upgrade pip

Rate Limiting

Each provider has different rate limits:

  • Pexels: 200 requests per hour
  • Unsplash: 50 requests per hour (demo), 5000 per hour (production)

Made with 💜 by the Stocky Team

Server Config

{
  "mcpServers": {
    "stocky": {
      "command": "python",
      "args": [
        "/path/to/stocky_mcp.py"
      ],
      "env": {
        "PEXELS_API_KEY": "your_pexels_key",
        "UNSPLASH_ACCESS_KEY": "your_unsplash_key"
      }
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Amap Maps高德地图官方 MCP Server
Serper MCP ServerA Serper MCP Server
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Tavily Mcp
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
CursorThe AI Code Editor
Playwright McpPlaywright MCP server
WindsurfThe new purpose-built IDE to harness magic
ChatWiseThe second fastest AI chatbot™
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
DeepChatYour AI Partner on Desktop
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"