Google Images Search
Search for Google images, view results, and download them directly within your IDE.
🖼️ Google Images Search MCP
Search. See. Save. – The only MCP that shows Google Images results directly in your chat as actual images, not just links!
Unlike other tools that return text descriptions or links, this MCP displays search results as actual images in your conversation. Works with Cline and Windsurf.
Perfect for getting visual inspiration, finding assets for projects, or quickly browsing images without leaving your IDE.
Demo
Usage & Requirements
Requirements
- Node.js v20+
- Google Cloud Platform account (free tier sufficient)
- Compatible IDE: Cline or Windsurf
Setup Guide
Follow these steps to set up this MCP:
Step 1: create Google Custom search engine
- Go to Google Programmable Search Engine
- Click "Add" to create a new search engine
- In "Sites to search", enter
*
(asterisk) to search the entire web - Give your search engine a name (e.g., "My Image Search")
- In the search engine settings, enable "Image search" option
- Click "Create"
- Copy the Search engine ID - you'll need this for configuration
Step 2: Get Google API Key
- Go to Google Cloud Console API Credentials
- If you don't have a project, create one
- Click "+ CREATE CREDENTIALS" → "API key"
- Copy the generated API key
- (Optional) Restrict the API key to "Custom Search API" for security
Step 3: Configure MCP in Your IDE
Add the following configuration to your MCP settings:
{
"mcpServers": {
"googleImagesSearch": {
"command": "npx",
"args": ["-y", "@srigi/mcp-google-images-search"],
"env": {
"API_KEY": "your-google-api-key-here",
"SEARCH_ENGINE_ID": "your-search-engine-id-here"
},
"autoApprove": ["search_image", "persist_image"]
}
}
}
Replace your-google-api-key-here
and your-search-engine-id-here
with the values from steps 1 and 2.
Usage Example
Here's how to use the MCP once configured:
-
Search for images: Ask your AI assistant to search for images
Find 5 images of F-22
-
Get more results: Request additional search results
Find 5 more images
-
Save an image: Ask to save a specific result to your project
Save the 3rd image to the "assets" folder
The MCP will display the search results as actual images in your chat history, and you can easily save any of them to your local project directory.
🚀 Development
Want to contribute? Great! Quality contributions are welcomed.
Requirements: Node.js v20+, direnv, PNPM v10
Quick start:
- Copy
.envrc (example)
to.envrc
and add your Google API credentials - Run
pnpm install && pnpm dev
- Update your MCP configuration for development:
{
"mcpServers": {
"googleImagesSearch": {
"command": "node",
"args": ["/absolute/path/to/project/src/index.js", "--debug", "--pretty-print"],
"env": {
"API_KEY": "your-google-api-key-here",
"SEARCH_ENGINE_ID": "your-search-engine-id-here"
},
"autoApprove": ["search_image", "persist_image"]
}
}
}
Debug and logging options:
- No
--debug
flag provided - logging is disabled --debug
without argument - enable logging intodebug.log
in current working directory the running MCP--debug /absolute/path/to/debug.log
- enable logging and write logs to the specified absolute path--pretty-print
- Format logs for better readability (formatted JSON output)
note: only absolute path is allowed when providing a path to --debug
. Relative paths will cause the server to exit with an error!
Writing TypeScript code:
The pnpm dev
auto-recompile all changes to .ts
files. But you must reload your MCP server manually for changes to be reflected in your IDE.
Use pnpm dev:inspector
for interactive testing in the browser.
🛠️ Available Tools
🔍 search_image - Find images using Google's vast database
query
(required) - What you're looking forcount
(1-10, default: 2) - How many resultssafe
('off'/'medium'/'high') - Filter levelstartIndex
- For pagination
💾 persist_image - Download and save images to your project
url
(required) - Image URL to downloadtargetPath
(required) - Where to save it (folder or full path)
Security features: Path validation, MIME type checking, 10MB size limit, supports all major image formats (JPEG, PNG, GIF, WebP, SVG, etc.)
Related Servers
Perplexity MCP Zerver
Interact with Perplexity.ai using Puppeteer without an API key. Requires Node.js and stores chat history locally.
MCP Registry Server
A server for discovering and retrieving other MCP servers via MCPulse.
Ollama Deep Researcher
Conducts deep research using local Ollama LLMs, leveraging Tavily and Perplexity for comprehensive search capabilities.
Tavily Search
A comprehensive search agent powered by the Tavily API for in-depth and reliable search results across various topics.
Perplexity Search
Web search and chat completion powered by the Perplexity AI API.
Bus Nearby MCP
Provides access to the Israeli transport API for geocoding and transit directions.
Baidu Map
A Location-Based Service (LBS) providing geospatial APIs for geocoding, POI search, route planning, and more.
Gemini Search
Generates responses using the Gemini API and Google Search for up-to-date information.
MCP Deep Search
A server for performing deep web searches using the @just-every/search library, requiring API keys via an environment file.
Google Search
Perform Google searches and view web content with advanced bot detection avoidance.