MCP Now
Google Custom Search

Google Custom Search

by adenot
GitHub

Provides Google Search results via the Google Custom Search API

search
google
custom
webpage
api

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

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:

    • Go to Google Cloud Console
    • Create a new project or select an existing one
    • Enable billing for your 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:

1npm install

Build the server:

1npm run build

For development with auto-rebuild:

1npm 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:

1npx -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

1{ 2 "mcpServers": { 3 "google-search": { 4 "command": "npx", 5 "args": [ 6 "-y", 7 "@adenot/mcp-google-search" 8 ], 9 "env": { 10 "GOOGLE_API_KEY": "your-api-key-here", 11 "GOOGLE_SEARCH_ENGINE_ID": "your-search-engine-id-here" 12 } 13 } 14 } 15}

Usage

Search Tool

1{ 2 "name": "search", 3 "arguments": { 4 "query": "your search query", 5 "num": 5 // optional, default is 5, max is 10 6 } 7}

Webpage Reader Tool

1{ 2 "name": "read_webpage", 3 "arguments": { 4 "url": "https://example.com" 5 } 6}

Example response from webpage reader:

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

Debugging

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

1npm run inspector

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