Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

mcp-server-serper

MCP.Pizza Chef: marcopesani

The mcp-server-serper is a TypeScript-based MCP server that enables web search and webpage scraping using the Serper API. It provides rich search results including organic links, knowledge graphs, and related queries, with support for region, language, and advanced search operators. Integrated with Claude Desktop, it empowers applications to perform targeted web content extraction and search-driven workflows efficiently and flexibly.

Use This MCP server To

Perform targeted web searches with region and language filters Extract structured data from web pages via scraping Use advanced search operators for domain or file type filtering Integrate web search results into AI workflows Enable real-time web content retrieval in chatbots Automate data gathering from search results and knowledge graphs Support multi-page search result pagination Filter search results by time or location

README

Serper Search and Scrape MCP Server

smithery badge

A TypeScript-based MCP server that provides web search and webpage scraping capabilities using the Serper API. This server integrates with Claude Desktop to enable powerful web search and content extraction features.

serper-search-scrape-mcp-server MCP server

Features

Tools

  • google_search - Perform web searches via Serper API

    • Rich search results including organic results, knowledge graph, "people also ask", and related searches
    • Supports region and language targeting
    • Optional parameters for location, pagination, time filters, and autocorrection
    • Supports advanced search operators:
      • site: Limit results to specific domain
      • filetype: Limit to specific file types (e.g., 'pdf', 'doc')
      • inurl: Search for pages with word in URL
      • intitle: Search for pages with word in title
      • related: Find similar websites
      • cache: View Google's cached version of a specific URL
      • before: Date before in YYYY-MM-DD format
      • after: Date after in YYYY-MM-DD format
      • exact: Exact phrase match
      • exclude: Terms to exclude from search results
      • or: Alternative terms (OR operator)
  • scrape - Extract content from web pages

    • Get plain text and optional markdown content
    • Includes JSON-LD and head metadata
    • Preserves document structure

Requirements

  • Node.js >= 18
  • Serper API key (set as SERPER_API_KEY environment variable)

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Run tests:

npm test                  # Run all tests
npm run test:watch       # Run tests in watch mode
npm run test:coverage    # Run tests with coverage
npm run test:integration # Run integration tests

Environment Variables

Create a .env file in the root directory:

SERPER_API_KEY=your_api_key_here

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.

Installation

Installing via Smithery

To install Serper Search and Scrape for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @marcopesani/mcp-server-serper --client claude

Claude Desktop

Add the server config at:

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "serper-search": {
      "command": "npx",
      "args": ["-y", "serper-search-scrape-mcp-server"],
      "env": {
        "SERPER_API_KEY": "your_api_key_here"
      }
    }
  }
}

Cline

  1. Open the Cline extension settings
  2. Open "MCP Servers" tab
  3. Click on "Configure MCP Servers"
  4. Add the server config:
{
  "mcpServers": {
    "github.com/marcopesani/mcp-server-serper": {
      "command": "npx",
      "args": ["-y", "serper-search-scrape-mcp-server"],
      "env": {
        "SERPER_API_KEY": "your_api_key_here"
      },
      "disabled": false,
      "autoApprove": ["google_search", "scrape"]
    }
  }
}

Additional Cline configuration options:

  • disabled: Set to false to enable the server
  • autoApprove: List of tools that don't require explicit approval for each use

Cursor

  1. Open the Cursor settings
  2. Open "Features" settings
  3. In the "MCP Servers" section, click on "Add new MCP Server"
  4. Choose a name, and select "command" as "Type"
  5. In the "Command" field, enter the following:
env SERPER_API_KEY=your_api_key_here npx -y serper-search-scrape-mcp-server

Docker

You can also run the server using Docker. First, build the image:

docker build -t mcp-server-serper .

Then run the container with your Serper API key:

docker run -e SERPER_API_KEY=your_api_key_here mcp-server-serper

Alternatively, if you have your environment variables in a .env file:

docker run --env-file .env mcp-server-serper

For development, you might want to mount your source code as a volume:

docker run -v $(pwd):/app --env-file .env mcp-server-serper

Note: Make sure to replace your_api_key_here with your actual Serper API key.

mcp-server-serper FAQ

How do I configure region and language targeting in mcp-server-serper?
You can specify region and language parameters in the search request to tailor results to specific locales and languages, enhancing relevance.
What advanced search operators does mcp-server-serper support?
It supports operators like 'site:' to limit results to a domain, 'filetype:' for file filtering, and others to refine search queries.
Can mcp-server-serper handle pagination of search results?
Yes, it supports pagination parameters allowing retrieval of multiple pages of search results.
How does mcp-server-serper integrate with AI platforms like Claude Desktop?
It exposes web search and scraping capabilities via MCP, enabling Claude Desktop and other LLM hosts to access real-time web data.
Is autocorrection supported in search queries?
Yes, the server supports autocorrection to improve search query accuracy and result relevance.
What types of search results are returned by mcp-server-serper?
It returns rich results including organic links, knowledge graphs, 'people also ask' sections, and related searches.
How secure is the data handling in mcp-server-serper?
The server follows MCP principles for scoped, secure, and observable interactions, ensuring safe data exchange.
Can I filter search results by time?
Yes, time filters are supported to restrict results to specific date ranges or recent content.