mcp-server-serper

MCP.Pizza Chef: marcopesani

Two tools do the work: one runs a Google search through the Serper service and brings back the results, the 'people also ask' box, related searches and knowledge panel, and the other pulls the readable text of any page you point it at. Searches can be narrowed to one site, one file type, a date range or an exact phrase. Three ready-made research prompts are included. A Serper key is required, and searches draw on paid credits after the free allowance.

Unmaintained · no code changes since March 2025
Web/Research
Writing

Use This MCP server To

Look up current information instead of guessing from memory Search only inside one website for an answer Find PDFs published on a topic after a certain date Read a long article and get the gist back Check a claim against a few independent sources Gather search results from a specific country or language

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

Do I need a key?
Yes, a Serper account key. Serper hands out a batch of free credits when you sign up, and every search or page fetch afterwards costs credits from a paid balance.
Can I use this to research a topic properly?
Yes. Besides plain searching it ships three guided routines for exploring a topic, comparing sources and fact-checking a claim.
How much can it do?
Exactly two things: search, and read a page. It cannot fill in forms, sign in to sites, or reach anything behind a login.
Is it still being updated?
The code has not changed since March 2025 and the published package since February 2025. It works, but treat it as finished rather than actively maintained.
Which apps does it work with?
Claude Desktop, Cursor and Cline all have written setup steps, and it will work in any other assistant that supports MCP servers.
How hard is setup?
You paste a short block with your key into your assistant's settings, or install it through Smithery. Docker is available but not required.