Skip to Content
MCP ServersCommunitymcp-google-server A MCP Server for Google Custom Search and Webpage Reading

mcp-google-server A MCP Server for Google Custom Search and Webpage Reading

View original on GitHub 

smithery badge

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

Setup

Getting Google API Key and Search Engine ID

  1. Create a Google Cloud Project:

  2. Enable Custom Search API:

    • Go to API Library 
    • Search for β€œCustom Search API”
    • Click β€œEnable”
  3. Get API Key:

    • Go to Credentials 
    • Click β€œCreate Credentials” > β€œAPI Key”
    • Copy your API key
    • (Optional) Restrict the API key to only Custom Search API
  4. Create Custom Search Engine:

    • Go to Programmable Search Engine 
    • Enter the sites you want to search (use www.google.com  for general web search)
    • Click β€œCreate”
    • On the next page, click β€œCustomize”
    • In the settings, enable β€œSearch the entire web”
    • Copy your Search Engine ID (cx)

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Features

Search Tool

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 Tool

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

Installing via Smithery

To install Google Custom Search Server for Claude Desktop automatically via Smithery :

npx -y @smithery/cli install @adenot/mcp-google-search --client claude

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", "@adenot/mcp-google-search" ], "env": { "GOOGLE_API_KEY": "your-api-key-here", "GOOGLE_SEARCH_ENGINE_ID": "your-search-engine-id-here" } } } }

Usage

Search Tool

{ "name": "search", "arguments": { "query": "your search query", "num": 5 // optional, default is 5, max is 10 } }

Webpage Reader Tool

{ "name": "read_webpage", "arguments": { "url": "https://example.com" } }

Example response from webpage reader:

{ "title": "Example Domain", "text": "Extracted and cleaned webpage content...", "url": "https://example.com" }

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector , which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

Last updated on