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.
google_search
- Perform web searches via Serper API
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 pages
SERPER_API_KEY
environment variable)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
Create a .env
file in the root directory:
SERPER_API_KEY=your_api_key_here
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.
To install Serper Search and Scrape for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @marcopesani/mcp-server-serper --client claude
Add the server config at:
~/Library/Application Support/Claude/claude_desktop_config.json
%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"
}
}
}
}
{
"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 serverautoApprove
: List of tools that don't require explicit approval for each useenv SERPER_API_KEY=your_api_key_here npx -y serper-search-scrape-mcp-server
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.
Seamless access to top MCP servers powering the future of AI integration.