mcp google search

Local 2025-09-01 00:20:51 0

A Model Context Protocol server that provides web search capabilities using Google Custom Search API and webpage content extraction functionality.


A Model Context Protocol server that provides web search capabilities using Google Custom Search API and webpage content extraction functionality.

Tools

Perform web searches using Google Custom Search API: - Search the entire web or specific sites - Control number of results (1-10) - Get structured results with title, link, and snippet

Webpage Reader

Extract content from any webpage: - Fetch and parse webpage content - Extract page title and main text - Clean content by removing scripts and styles - Return structured data with title, text, and URL

Installation

Get Google API Key and Search Engine ID

  1. Create a Google Cloud Project:
  2. Go to Google Cloud Console
  3. Create a new project or select an existing one
  4. Enable billing for your project

  5. Enable Custom Search API:

  6. Go to API Library
  7. Search for "Custom Search API"
  8. Click "Enable"

  9. Get API Key:

  10. Go to Credentials
  11. Click "Create Credentials" > "API Key"
  12. Copy your API key
  13. (Optional) Restrict the API key to only Custom Search API

  14. Create Custom Search Engine:

  15. Go to Programmable Search Engine
  16. Enter the sites you want to search (use www.google.com for general web search)
  17. Click "Create"
  18. On the next page, click "Customize"
  19. In the settings, enable "Search the entire web"
  20. Copy your Search Engine ID (cx)

Client Configuration

To use with Claude Desktop, add the server config with your Google API credentials:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "google-search": {
      "command": "npx",
      "args": ["-y", "@mcp-for-dev/mcp-google-search"],
      "env": {
        "GOOGLE_API_KEY": "your-api-key-here",
        "GOOGLE_SEARCH_ENGINE_ID": "your-search-engine-id-here"
      }
    }
  }
}
[
  {
    "description": "Perform a web search query",
    "inputSchema": {
      "properties": {
        "num": {
          "description": "Number of results (1-10)",
          "maximum": 10,
          "minimum": 1,
          "type": "number"
        },
        "query": {
          "description": "Search query",
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "name": "google_search"
  },
  {
    "description": "Fetch and extract text content from a webpage",
    "inputSchema": {
      "properties": {
        "url": {
          "description": "URL of the webpage to read",
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "type": "object"
    },
    "name": "read_webpage"
  }
]