The serper-search-scrape-mcp-server
enables web search and webpage scraping via Serper API, integrating with Claude Desktop and other clients.
Web Search Capabilities:
Rich Google search results including organic listings, knowledge graph, and "people also ask" sections
Region (
gl
), language (hl
), and location targetingAdvanced search operators:
site
,filetype
,inurl
,intitle
,related
,cache
,before
,after
Time filtering (
tbs
) and result paginationSupport for exact phrase matching, term exclusion, and OR operators
Scraping Features:
Extract text content from webpages
Optional markdown output format
Retrieve JSON-LD and head metadata
Preserve document structure
Integration & Deployment:
Compatible with Claude Desktop, Smithery, Cline, and Cursor
Docker support for containerized deployment
MCP Inspector for debugging
Provides web search capabilities via Serper API with rich search results, including organic results, knowledge graph, 'people also ask', and related searches from Google.
Serper Search and Scrape MCP Server
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.
Features
Tools
google_search
- Perform web searches via Serper APIRich 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 domainfiletype
: Limit to specific file types (e.g., 'pdf', 'doc')inurl
: Search for pages with word in URLintitle
: Search for pages with word in titlerelated
: Find similar websitescache
: View Google's cached version of a specific URLbefore
: Date before in YYYY-MM-DD formatafter
: Date after in YYYY-MM-DD formatexact
: Exact phrase matchexclude
: Terms to exclude from search resultsor
: Alternative terms (OR operator)
scrape
- Extract content from web pagesGet 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
Open the Cline extension settings
Open "MCP Servers" tab
Click on "Configure MCP Servers"
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 tofalse
to enable the serverautoApprove
: List of tools that don't require explicit approval for each use
Cursor
Open the Cursor settings
Open "Features" settings
In the "MCP Servers" section, click on "Add new MCP Server"
Choose a name, and select "command" as "Type"
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.
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.
This Serper MCP Server supports search and webpage scraping, and all the most recent parameters introduced by the Serper API, like location.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server implementation that integrates the SearxNG API, providing web search capabilities.Last updated 13 days ago21,235218MIT License
- AsecurityAlicenseAqualityThe Search MCP Server enables seamless integration of network and local search capabilities in tools like Claude Desktop and Cursor, utilizing the Brave Search API for high-concurrency and asynchronous requests.Last updated 7 months ago173MIT License
- -securityFlicense-qualityAn MCP server that integrates with SerpApi to retrieve search results from multiple search engines including Google, Bing, Yahoo, and others, enabling fast access to both live and archived search data.Last updated 7 months ago15
- -securityAlicense-qualityStores metadata for MCP servers and provides smart search capabilities, allowing users to find appropriate MCP servers for their queries and route requests to the most suitable server.Last updated 3 months ago10MIT License