G-Search MCP
A Google search server using Playwright for parallel keyword searches.
G-Search MCP
A powerful MCP server for Google search that enables parallel searching with multiple keywords simultaneously.
This project is modified from google-search.
🌟 Recommended: OllaMan - Powerful Ollama AI Model Manager.
Advantages
- Parallel Searching: Supports searching with multiple keywords on Google simultaneously, improving search efficiency
- Browser Optimization: Opens multiple tabs in a single browser instance for efficient parallel searching
- Automatic Verification Handling: Intelligently detects CAPTCHA and enables visible browser mode for user verification when needed
- User Behavior Simulation: Simulates real user browsing patterns to reduce the possibility of detection by search engines
- Structured Data: Returns structured search results in JSON format for easy processing and analysis
- Configurable Parameters: Supports various parameter configurations such as search result limits, timeout settings, locale settings, etc.
Quick Start
Run directly with npx:
npx -y g-search-mcp
First time setup - install the required browser by running the following command in your terminal:
npx playwright install chromium
Debug Mode
Use the --debug
option to run in debug mode (showing browser window):
npx -y g-search-mcp --debug
Configure MCP
Configure this MCP server in Claude Desktop:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"g-search": {
"command": "npx",
"args": ["-y", "g-search-mcp"]
}
}
}
Features
search
- Execute Google searches with multiple keywords and return results- Uses Playwright browser to perform searches
- Supports the following parameters:
queries
: Array of search queries to execute (required parameter)limit
: Maximum number of results to return per query, default is 10timeout
: Page loading timeout in milliseconds, default is 60000 (60 seconds)noSaveState
: Whether to avoid saving browser state, default is falselocale
: Locale setting for search results, default is en-USdebug
: Whether to enable debug mode (showing browser window), overrides the --debug flag in command line
Example usage:
Use the search tool to search for "machine learning" and "artificial intelligence" on Google
Example response:
{
"searches": [
{
"query": "machine learning",
"results": [
{
"title": "What is Machine Learning? | IBM",
"link": "https://www.ibm.com/topics/machine-learning",
"snippet": "Machine learning is a branch of artificial intelligence (AI) and computer science which focuses on the use of data and algorithms to imitate the way that humans learn, gradually improving its accuracy."
},
...
]
},
{
"query": "artificial intelligence",
"results": [
{
"title": "What is Artificial Intelligence (AI)? | IBM",
"link": "https://www.ibm.com/topics/artificial-intelligence",
"snippet": "Artificial intelligence leverages computers and machines to mimic the problem-solving and decision-making capabilities of the human mind."
},
...
]
}
]
}
Usage Tips
Handling Special Website Scenarios
Adjusting Search Parameters
-
Search Result Quantity: For more search results:
Please return the top 20 search results for each keyword
This will set the
limit: 20
parameter. -
Increase Timeout Duration: For slow loading situations:
Please set the page loading timeout to 120 seconds
This will adjust the
timeout
parameter to 120000 milliseconds.
Locale Settings Adjustment
- Change Search Region: Specify a different locale setting:
This will set thePlease use Chinese locale (zh-CN) for searching
locale: "zh-CN"
parameter.
Debugging and Troubleshooting
Enable Debug Mode
- Dynamic Debug Activation: To display the browser window during a specific search operation:
This setsPlease enable debug mode for this search operation
debug: true
even if the server was started without the--debug
flag.
Installation
Prerequisites
- Node.js 18 or higher
- NPM or Yarn
Install from Source
- Clone the repository:
git clone https://github.com/jae-jae/g-search-mcp.git
cd g-search-mcp
- Install dependencies:
npm install
- Install Playwright browser:
npm run install-browser
- Build the server:
npm run build
Development
Auto Rebuild (Development Mode)
npm run watch
Using MCP Inspector for Debugging
npm run inspector
Related Projects
- fetcher-mcp: A powerful MCP server for fetching web page content using Playwright headless browser. Features intelligent content extraction, parallel processing, resource optimization, and more, making it an ideal tool for web content scraping.
License
Licensed under the MIT License
Related Servers
Needle
Production-ready RAG out of the box to search and retrieve data from your own documents.
Geocoding Tool
Convert city names and locations into latitude and longitude coordinates using the free OpenStreetMap Nominatim API. No API key is required.
LLM Jukebox
Search, download, and extract information from YouTube music videos.
SearXNG MCP Server
A privacy-respecting web search server for AI agents, powered by the SearXNG metasearch engine.
Perplexity
Web search using the Perplexity API with automatic model selection based on query intent.
SearXNG
A Model Context Protocol Server for SearXNG
Google PSE/CSE
A Model Context Protocol (MCP) server providing access to Google Programmable Search Engine (PSE) and Custom Search Engine (CSE).
Minecraft Wiki MCP
A server for browsing and searching the official Minecraft Wiki.
USGS Quakes
Access earthquake data from the USGS Quakes API using natural language queries.
APLCart MCP Server
An MCP server providing semantic search capabilities for APLCart data.