Serper

by ihiteshsharma

1 stars
303 downloads
Not rated
GitHub

About

An MCP server that integrates with the Serper API to provide web, news, image, and video search results from Google, plus maps and reviews search, web scraping via FireCrawl, and location-based services.

Details

Author
ihiteshsharma
GitHub stars
1
Downloads
303
Categories
Search

- Web search with location context and knowledge graphs
- News, image, and video search
- Maps search for places, businesses, and points of interest
- Reviews search with detailed user ratings and feedback
- Web scraping via FireCrawl for content extraction
- Location services (current GPS coordinates)

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Serper
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Add a serper entry to your MCP server configuration (e.g., claude_desktop_config.json) with the required environment variables SERPER_API_KEY and FIRECRAWL_API_KEY. Run the server using Docker (docker run ... mcp/hs-search) or NPX (npx -y @modelcontextprotocol/server-serper). For local development, install dependencies, build TypeScript, and run with the API keys set.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "serper": {
            "serper": {
                "command": "docker",
                "args": [
                    "run",
                    "-i",
                    "--rm",
                    "-e",
                    "SERPER_API_KEY",
                    "-e",
                    "FIRECRAWL_API_KEY",
                    "mcp/hs-search"
                ],
                "env": {
                    "SERPER_API_KEY": "YOUR_SERPER_API_KEY_HERE",
                    "FIRECRAWL_API_KEY": "YOUR_FIRECRAWL_API_KEY_HERE"
                }
            }
        }
    }
}

McpServers

{
    "serper": {
        "command": "docker",
        "args": [
            "run",
            "-i",
            "--rm",
            "-e",
            "SERPER_API_KEY",
            "-e",
            "FIRECRAWL_API_KEY",
            "mcp/hs-search"
        ],
        "env": {
            "SERPER_API_KEY": "YOUR_SERPER_API_KEY_HERE",
            "FIRECRAWL_API_KEY": "YOUR_FIRECRAWL_API_KEY_HERE"
        }
    }
}

Serper MCP Server

An MCP server implementation that integrates with the Serper API, providing comprehensive web, news, image, and video search capabilities through Google search results. Additionally, it includes web scraping functionality using FireCrawl to extract content from search results, and location-based services.

Features

- Web Search: General queries, knowledge graphs, people also ask, and more
- News Search: Articles, press releases, and timely content with source information
- Image Search: Photos, diagrams, logos, and other visual content
- Video Search: Videos from YouTube and other platforms
- Maps Search: Places, businesses, and points of interest with detailed information
- Reviews Search: Detailed user reviews and ratings for businesses and places
- Web Scraping: Extract and format content from any web page found in search results
- Location Services: Get current GPS coordinates for location-aware searches
- Location-Based Results: Country and location-specific search capability
- Rich Result Formatting: Structured data from knowledge graphs and answer boxes

Tools

- serper_web_search
- Execute web searches with location context
- Inputs:
- query (string): Search terms
- location (string, optional): Location context (e.g., "United States", "India")
- gl (string, optional): Google country code (e.g., "us", "in", "uk")
- num (number, optional): Number of results (max 20)

- serper_news_search
- Search for news articles and press releases
- Inputs:
- query (string): News search terms
- location (string, optional): Location context
- gl (string, optional): Google country code
- num (number, optional): Number of results (max 20)

- serper_image_search
- Search for images, photos, diagrams, and visual content
- Inputs:
- query (string): Image search terms
- gl (string, optional): Google country code (e.g., "us", "in", "uk")
- num (number, optional): Number of results (max 20)

- serper_video_search
- Search for videos from YouTube and other platforms
- Inputs:
- query (string): Video search terms
- gl (string, optional): Google country code (e.g., "us", "in", "uk")
- num (number, optional): Number of results (max 20)

- serper_maps_search
- Search for places, businesses, and points of interest
- Inputs:
- query (string): Place or business search terms
- ll (string, optional): Location coordinates in format '@latitude,longitude,zoom' (e.g. '@40.6973709,-74.1444871,11z')
- useCurrentLocation (boolean, optional): Whether to use current IP-based location if no coordinates provided (default: true)
- num (number, optional): Number of results (max 20)
- Returns:
- Business names and addresses
- Geographic coordinates
- Ratings and reviews
- Business types and categories
- Contact information when available

- serper_reviews_search
- Retrieve detailed reviews for a specific place or business
- Inputs:
- placeId (string): Google Place ID (required, obtain from maps search)
- cid (string, optional): Google Customer ID (from maps search)
- fid (string, optional): Google Featured ID (from maps search)
- sortBy (string, optional): How to sort reviews ("mostRelevant", "newest", "highestRating", "lowestRating")
- num (number, optional): Number of reviews to return (max 20)
- Returns:
- Detailed review text
- Rating and date information
- Reviewer profiles and statistics
- Likes and user engagement data

- gps_coordinates
- Get the current location coordinates
- Inputs:
- fallbackToIP (boolean, optional): Whether to use IP-based geolocation if precise GPS is unavailable (default: true)
- Returns:
- Latitude and longitude
- Accuracy information
- Links to view the location on map services

- firecrawl_scrape
- Scrape and extract content from any web page
- Inputs:
- url (string): The URL of the page to scrape
- formats (array, optional): Output formats (default ["markdown"])

Configuration

Getting API Keys

1. For Serper: Sign up for a Serper.dev account 2. For FireCrawl: Sign up for a FireCrawl account 3. Generate your API keys from your account dashboards

Usage with Claude Desktop

Add this to your claude_desktop_config.json:

Docker

{
  "mcpServers": {
    "serper": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SERPER_API_KEY",
        "-e",
        "FIRECRAWL_API_KEY",
        "mcp/hs-search"
      ],
      "env": {
        "SERPER_API_KEY": "YOUR_SERPER_API_KEY_HERE",
        "FIRECRAWL_API_KEY": "YOUR_FIRECRAWL_API_KEY_HERE"
      }
    }
  }
}

NPX

{
  "mcpServers": {
    "serper": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-serper"
      ],
      "env": {
        "SERPER_API_KEY": "YOUR_SERPER_API_KEY_HERE",
        "FIRECRAWL_API_KEY": "YOUR_FIRECRAWL_API_KEY_HERE"
      }
    }
  }
}

Build and Run

Docker Build:

docker build -t mcp/hs-search:latest .

Docker Run:

docker run -i --rm \
  -e SERPER_API_KEY="your-serper-api-key-here" \
  -e FIRECRAWL_API_KEY="your-firecrawl-api-key-here" \
  mcp/hs-search

Local Development:

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.