MCP server for Google search and image search with AI analysis
Google Search MCP Server
A powerful Model Context Protocol (MCP) server providing Google search and image search capabilities for Claude Code
Features
🌐 Google Text Search
- Search Google with customizable result count
- Extract titles, links, and descriptions
- Support for multiple languages
📄 Web Content Extraction
- Extract main content from any webpage
- Smart content filtering (ads, navigation removed)
- Batch extraction support
🔍 Combined Search & Extract
- Search and auto-extract multiple results
- One-click deep content retrieval
🖼️ Image Search with AI Analysis ⭐
- Dual-platform search: Google Images + Pinterest
- Multi-model AI visual analysis: Supports GLM-4.6V, GPT-4O, Claude 3.5, and more
- Quality scoring system: S/A/B/C grading
- Perfect for finding product reference images
Installation
Prerequisites
- Node.js >= 18.0.0
- Claude Code with MCP support
Setup
- Clone the repository
git clone https://github.com/hinsmoment/google-search-mcp.git
cd google-search-mcp
- Install dependencies
npm install
- Configure Claude Code
Add to your Claude configuration (~/.claude.json or via Settings):
{
"mcpServers": {
"google-search": {
"type": "stdio",
"command": "node",
"args": ["/path/to/google-search-mcp/server.js"]
}
}
}
- Restart Claude Code
Usage
1. Google Search
Search Google for "Claude Code AI assistant"
2. Extract Webpage Content
Extract content from https://example.com
3. Batch Extract URLs
Extract content from these URLs:
- https://github.com/topic1
- https://github.com/topic2
- https://github.com/topic3
4. Image Search (Product Reference)
Find similar products using this image: /path/to/product.jpg
MCP Tools
| Tool | Description | Parameters |
|------|-------------|------------|
| google_search | Google text search | query, maxResults (1-25) |
| fetch_url | Extract webpage content | url |
| batch_fetch_urls | Batch extract multiple URLs | urls (array) |
| search_and_extract | Search + extract results | query, maxResults (1-10) |
| search_by_image | Image-based product search | image_path, max_results, enable_ai_analysis |
Image Search Details
How It Works
┌─────────────────┐
│ Upload Image │
└────────┬────────┘
↓
┌─────────────────┐
│ AI Analysis │
│ (Multi-Model) │
│ - Product type │
│ - Keywords │
└────────┬────────┘
↓
┌────┴────┐
↓ ↓
┌───────┐ ┌───────┐
│Google │ │Pinterest│
│Images │ │Search │
└───┬───┘ └───┬───┘
└────┬────┘
↓
┌─────────────────┐
│ Merge & Score │
│ S/A/B/C Grades │
└─────────────────┘
Quality Scoring
| Grade | Score | Sources | |-------|-------|---------| | S | 85-100 | Tmall HK, Tmall, JD Mall, Brand Sites | | A | 75-84 | JD, Amazon, Taobao, Pinterest | | B | 60-74 | Other e-commerce sites | | C | < 60 | General websites |
Technical Architecture
Browser Automation
- Puppeteer (primary)
- Playwright (automatic fallback)
Key Dependencies
{
"puppeteer": "^22.15.0"
}
Module Structure
google-search-mcp/
├── server.js # MCP server implementation
├── lib/
│ └── image-search.js # Image search module with AI analysis
├── package.json
└── README.md
Configuration
Optional: AI Analysis API Key
For enhanced image analysis, set your GLM API key:
# Linux/macOS
export GLM_API_KEY=your_api_key_here
# Windows (PowerShell)
$env:GLM_API_KEY="your_api_key_here"
# Windows (CMD)
set GLM_API_KEY=your_api_key_here
Note: The fallback keyword-based search works without an API key.
Examples
Example 1: E-commerce Product Research
Find similar products to: ./images/dinosaur-pencil-case.jpg
Return top 15 results with AI analysis enabled
Output includes:
- Product image analysis
- Keywords extracted
- Dual-platform results (Google + Pinterest)
- Quality scores with grades
Example 2: Content Research
Search for "MCP protocol Model Context"
Extract full content from top 5 results
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Development Setup
# Install dependencies
npm install
# Run tests
npm test
# Start MCP server (for debugging)
node server.js
Coding Standards
- Follow existing code style
- Add comments for complex logic
- Test your changes thoroughly
Troubleshooting
Puppeteer Chrome Download Issues
If Puppeteer fails to download Chrome:
# Skip Chrome download and use system Chrome
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm install puppeteer
MCP Server Not Starting
- Check Node.js version:
node --version(requires >= 18.0.0) - Verify file path in Claude configuration
- Check Claude Code logs for errors
Image Search Returns No Results
- Verify image path is correct
- Check internet connection
- Try disabling AI analysis if API key issues
Limitations
- Google search may be affected by anti-scraping measures
- Pinterest direct scraping is limited (uses Google
site:pinterest.comfilter) - API-based AI analysis requires separate GLM API key
Roadmap
- [ ] Add more image search platforms (Behance, Dribbble)
- [ ] Implement local image similarity matching (CLIP/DINOv2)
- [ ] Add result caching
- [ ] Support for more AI vision models
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Model Context Protocol by Anthropic
- Puppeteer for browser automation
- Zhipu AI for GLM-4.6V vision model
- OpenAI for GPT-5.2 / GPT-4O vision model
- Anthropic for Claude 4.5 Sonnet vision model
Author
Created by 成哥
Special thanks: Developed with Claude Code assistance
Support
- 🐛 Report bugs: GitHub Issues
- 💡 Feature requests: GitHub Discussions
⭐ Star this repo if it helps you!
Made with ❤️ by the open-source community