google-search-mcp-server

google-search-mcp-server

0

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

  1. Create a Google Cloud project at Google Cloud Console
  2. Activate the Custom Search JSON API for your project via the API dashboard
  3. Generate an API key either through the Credentials section or following the Custom Search API guide
  4. 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:

  1. Clone the repository

     git clone https://github.com/ayush-rudani/google-search-mcp-server.git
     cd google-search-mcp-server
    
  2. Install dependencies

     pnpm install
     # or
     npm install
    
  3. Build the project

     pnpm run build
     # or
     npm run build
    
  4. 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 command which node in your terminal)
  5. 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.