g-search-mcp
A powerful MCP server for Google search that enables parallel searching with multiple keywords simultaneously. TypeScript-based implementation.
Documentation
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-mcpFirst time setup - install the required browser by running the following command in your terminal:
npx playwright install chromiumDebug Mode
Use the `--debug` option to run in debug mode (showing browser window):
npx -y g-search-mcp --debugConfigure 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 10
- `timeout`: Page loading timeout in milliseconds, default is 60000 (60 seconds)
- `noSaveState`: Whether to avoid saving browser state, default is false
- `locale`: Locale setting for search results, default is en-US
- `debug`: 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 GoogleExample 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 keywordThis will set the `limit: 20` parameter.
- Increase Timeout Duration: For slow loading situations:
Please set the page loading timeout to 120 secondsThis will adjust the `timeout` parameter to 120000 milliseconds.
Locale Settings Adjustment
- Change Search Region: Specify a different locale setting:
Please use Chinese locale (zh-CN) for searchingThis will set the `locale: "zh-CN"` parameter.
Debugging and Troubleshooting
Enable Debug Mode
- Dynamic Debug Activation: To display the browser window during a specific search operation:
Please enable debug mode for this search operationThis sets `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
1. Clone the repository:
git clone https://github.com/jae-jae/g-search-mcp.git
cd g-search-mcp2. Install dependencies:
npm install3. Install Playwright browser:
npm run install-browser4. Build the server:
npm run buildDevelopment
Auto Rebuild (Development Mode)
npm run watchUsing MCP Inspector for Debugging
npm run inspectorRelated 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
Frequently asked questions
What is g-search-mcp?
g-search-mcp is A powerful MCP server for Google search that enables parallel searching with multiple keywords simultaneously. TypeScript-based implementation.
How do I install g-search-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is g-search-mcp open source?
Yes โ it is hosted on GitHub at https://github.com/jae-jae/g-search-mcp and has 213 stars.
Related MCP tools
Playwright MCP server TypeScript-based implementation. Trusted by 22000+ developers. Trusted by 22000+ developers. Trusted by 22000+ developers.
Model Context Protocol Server for Mobile Automation and Scraping (iOS, Android, Emulators, Simulators and Real Devices) TypeScript-based implementation.
MCP server for fetch web page content using Playwright headless browser. TypeScript-based implementation. Trusted by 800+ developers.
Add Obsidian integrations like semantic search and custom Templater prompts to Claude or any MCP client. TypeScript-based implementation.
MCP Server for YouTube API, enabling video management, Shorts creation, and advanced analytics TypeScript-based implementation.
A Minecraft MCP Server powered by Mineflayer API. It allows to control a Minecraft character in real-time, allowing AI assistants to build structures, explor...
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP