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/nodewith the complete path to your Node.js executable (you can locate this by running the commandwhich nodein 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.
Recommend MCP Servers 💡
m0xai/trello-mcp-server
An MCP server that enables interaction with Trello boards, lists, and cards via AI hosts.
@picahq/mcp
A Model Context Protocol (MCP) server that integrates with Pica, enabling seamless interaction with various third-party services through a standardized interface. This server provides direct access to platform integrations, actions, execution capabilities, and robust code generation capabilities.
clojars-deps-server
A Model Context Protocol (MCP) server that provides tools for fetching dependency information from Clojars, the Clojure community's artifact repository.
mcp_zoomeye
A Model Context Protocol server that provides network asset information based on query conditions. This server allows LLMs to obtain network asset information and supports querying network asset information by zoomeye dork etc.
pdf-mcp-server
A comprehensive PDF manipulation toolkit that integrates with Claude AI via MCP, enabling users to merge, split, encrypt, optimize, and analyze PDFs using natural language commands.
mendableai/firecrawl-mcp-server
Official Firecrawl MCP Server integrating Firecrawl for web scraping, supporting Cursor, Claude, and other LLM clients.