google-search-mcp-server
The Google Search MCP Server is an implementation designed to integrate with Google's Custom Search JSON API. It provides advanced web search features, including filtering and rate limiting, and returns structured search results.
Google Search MCP Server
An MCP server implementation that integrates with Google's Custom Search JSON API, providing web search capabilities.
Features
- Web Search: Search Google with comprehensive query options
- Advanced Filtering: Control results by date, language, country, and safe search level
- Rate Limited: Built-in rate limiting to prevent API quota exhaustion
- Structured Results: Returns formatted search results with titles, URLs, and snippets
Tools
- google_search
- Execute Google searches with advanced filtering options
- Inputs:
query
(string): Search terms (required)num_results
(number, optional): Number of results (1-10, default: 5)date_restrict
(string, optional): Filter by date (e.g., "d1" for last day)language
(string, optional): 2-letter language code (e.g., "en")country
(string, optional): 2-letter country code (e.g., "us")safe_search
(string, optional): Safety level ("off", "medium", "high")
Configuration
Getting API Keys
- Create a Google Cloud project at Google Cloud Console
- Activate the Custom Search JSON API for your project via the API dashboard
- Generate an API key either through the Credentials section or following the Custom Search API guide
- Obtain a Search Engine ID by setting up a custom search engine in Google's Programmable Search
Environment Variables
Set these before running the server:
export GOOGLE_API_KEY="your-api-key"
export GOOGLE_SEARCH_ENGINE_ID="your-search-engine-id"
Running from Local Repository
To run the server directly from source:
-
Clone the repository
git clone https://github.com/ayush-rudani/google-search-mcp-server.git cd google-search-mcp-server
-
Install dependencies
pnpm install # or npm install
-
Build the project
pnpm run build # or npm run build
-
Configure Claude Desktop Update your
claude_desktop_config.json
:{ "mcpServers": { "google-search": { "command": "/path/to/node", // <--- Important to add the following, run in your terminal `echo "$(which node)"` to get the path "args": ["/full/path/to/google-search-mcp/index.js"], "env": { "GOOGLE_API_KEY": "your-api-key", "GOOGLE_SEARCH_ENGINE_ID": "your-search-engine-id" } } } }
- Replace
/path/to/node
with the complete path to your Node.js executable (you can locate this by running the commandwhich node
in your terminal)
- Replace
-
Test the server
export GOOGLE_API_KEY=your_api_key_here export GOOGLE_SEARCH_ENGINE_ID=your_engine_id_here node dist/index.js
Rate Limits
The server enforces a rate limit of 10 requests per minute by default to prevent exceeding Google's API quotas. You can adjust this in the code if needed.
License
This MCP server is licensed under the MIT License. See the LICENSE file for details.