Skip to main content
Glama

MCP Google Custom Search Server

by limklister

MCP Google Custom Search Server

A Model Context Protocol (MCP) server that provides web search capabilities through Google's Custom Search API. This server enables Language Learning Models (LLMs) to perform web searches using a standardized interface.

🌟 Features

  • Seamless integration with Google Custom Search API

  • Model Context Protocol (MCP) compliant server implementation

  • Type-safe implementation using TypeScript

  • Environment variable configuration

  • Input validation using Zod

  • Configurable search results (up to 10 per query)

  • Formatted search results including titles, URLs, and descriptions

  • Error handling and validation

  • Compatible with Claude Desktop and other MCP clients

📋 Prerequisites

Before you begin, ensure you have:

  1. A Google Cloud Project with Custom Search API enabled

  2. A Custom Search Engine ID

  3. Local development requirements:

    • Node.js (v18 or higher)

    • npm (comes with Node.js)

🚀 Quick Start

  1. Clone the repository:

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

    npm install
  3. Create a .env file:

    GOOGLE_API_KEY=your-api-key GOOGLE_SEARCH_ENGINE_ID=your-search-engine-id
  4. Build the server:

    npm run build
  5. Start the server:

    npm start

🔧 Configuration

Environment Variables

Variable

Description

Required

GOOGLE_API_KEY

Your Google Custom Search API key

Yes

GOOGLE_SEARCH_ENGINE_ID

Your Custom Search Engine ID

Yes

Claude Desktop Integration

Add this configuration to your Claude Desktop config file (typically located at ~/Library/Application Support/Claude/claude_desktop_config.json):

{ "mcpServers": { "google-search": { "command": "node", "args": [ "/absolute/path/to/mcp-google-custom-search-server/build/index.js" ], "env": { "GOOGLE_API_KEY": "your-api-key", "GOOGLE_SEARCH_ENGINE_ID": "your-search-engine-id" } } } }

📖 API Reference

Available Tools

search

Performs a web search using Google Custom Search API.

Parameters:

  • query (string, required): The search query to execute

  • numResults (number, optional): Number of results to return

    • Default: 5

    • Maximum: 10

Example Response:

Result 1: Title: Example Search Result URL: https://example.com Description: This is an example search result description --- Result 2: ...

🛠️ Development

Project Structure

mcp-google-custom-search-server/ ├── src/ │ └── index.ts # Main server implementation ├── build/ # Compiled JavaScript output ├── .env # Environment variables ├── package.json # Project dependencies and scripts ├── tsconfig.json # TypeScript configuration └── README.md # Project documentation

Available Scripts

  • npm run build: Compile TypeScript to JavaScript

  • npm start: Start the MCP server

  • npm run dev: Watch mode for development

Testing

  1. Using MCP Inspector:

    npx @modelcontextprotocol/inspector node build/index.js
  2. Manual testing with example queries:

    # After starting the server {"jsonrpc":"2.0","id":1,"method":"callTool","params":{"name":"search","arguments":{"query":"example search"}}}

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Built with Model Context Protocol (MCP)

  • Uses Google's Custom Search API

  • Inspired by the need for better search capabilities in LLM applications

Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A Model Context Protocol server that enables LLMs to perform web searches using Google's Custom Search API through a standardized interface.

  1. 🌟 Features
    1. 📋 Prerequisites
      1. 🚀 Quick Start
        1. 🔧 Configuration
          1. Environment Variables
          2. Claude Desktop Integration
        2. 📖 API Reference
          1. Available Tools
        3. 🛠️ Development
          1. Project Structure
          2. Available Scripts
          3. Testing
        4. 📝 License
          1. 🙏 Acknowledgments

            Related MCP Servers

            • A
              security
              F
              license
              A
              quality
              A Model Context Protocol server that enables LLMs to perform Google searches via the Serper API, allowing models to retrieve current information from the web.
              Last updated -
              13
              15
              • Linux
              • Apple
            • A
              security
              F
              license
              A
              quality
              A Model Context Protocol server that provides web search capabilities using Google Custom Search API and webpage content extraction functionality.
              Last updated -
              2
              4
              1
              • Apple
            • A
              security
              A
              license
              A
              quality
              A Model Context Protocol server that enables LLM clients like VSCode, Copilot, and Claude Desktop to search the web using Google Programmable Search Engine API.
              Last updated -
              1
              39
              7
              Apache 2.0
              • Apple
            • -
              security
              A
              license
              -
              quality
              A Model Context Protocol server that enables LLMs to perform web searches using Google's Gemini API and return synthesized responses with citations.
              Last updated -
              47
              MIT License

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/limklister/mcp-google-custom-search-server'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server