SerpApi MCP Server
Retrieve parsed search engine results using the SerpApi.
SerpApi MCP Server
A Model Context Protocol (MCP) server implementation that integrates with SerpApi for comprehensive search engine results and data extraction.
Features
- Multi-Engine Search: Google, Bing, Yahoo, DuckDuckGo, YouTube, eBay, and more
- Engine Resources: Per-engine parameter schemas available via MCP resources (see Search Tool)
- Real-time Weather Data: Location-based weather with forecasts via search queries
- Stock Market Data: Company financials and market data through search integration
- Dynamic Result Processing: Automatically detects and formats different result types
- Flexible Response Modes: Complete or compact JSON responses
- JSON Responses: Structured JSON output with complete or compact modes
Quick Start
SerpApi MCP Server is available as a hosted service at mcp.serpapi.com. In order to connect to it, you need to provide an API key. You can find your API key on your SerpApi dashboard.
You can configure Claude Desktop to use the hosted server:
{
"mcpServers": {
"serpapi": {
"url": "https://mcp.serpapi.com/YOUR_SERPAPI_API_KEY/mcp"
}
}
}
Self-Hosting
git clone https://github.com/serpapi/serpapi-mcp.git
cd serpapi-mcp
uv sync && uv run src/server.py
Configure Claude Desktop:
{
"mcpServers": {
"serpapi": {
"url": "http://localhost:8000/YOUR_SERPAPI_API_KEY/mcp"
}
}
}
Get your API key: serpapi.com/manage-api-key
Authentication
Two methods are supported:
- Path-based:
/YOUR_API_KEY/mcp(recommended) - Header-based:
Authorization: Bearer YOUR_API_KEY
Examples:
# Path-based
curl "https://mcp.serpapi.com/your_key/mcp" -d '...'
# Header-based
curl "https://mcp.serpapi.com/mcp" -H "Authorization: Bearer your_key" -d '...'
Search Tool
The MCP server has one main Search Tool that supports all SerpApi engines and result types. You can find all available parameters on the SerpApi API reference.
Engine parameter schemas are also exposed as MCP resources: serpapi://engines (index) and serpapi://engines/<engine>.
The parameters you can provide are specific for each API engine. Some sample parameters are provided below:
params.q(required): Search queryparams.engine: Search engine (default: "google_light")params.location: Geographic filtermode: Response mode - "complete" (default) or "compact"- ...see other parameters on the SerpApi API reference
Examples:
{"name": "search", "arguments": {"params": {"q": "coffee shops", "location": "Austin, TX"}}}
{"name": "search", "arguments": {"params": {"q": "weather in London"}}}
{"name": "search", "arguments": {"params": {"q": "AAPL stock"}}}
{"name": "search", "arguments": {"params": {"q": "news"}, "mode": "compact"}}
{"name": "search", "arguments": {"params": {"q": "detailed search"}, "mode": "complete"}}
Supported Engines: Google, Bing, Yahoo, DuckDuckGo, YouTube, eBay, and more (see serpapi://engines).
Result Types: Answer boxes, organic results, news, images, shopping - automatically detected and formatted.
Development
# Local development
uv sync && uv run src/server.py
# Docker
docker build -t serpapi-mcp . && docker run -p 8000:8000 serpapi-mcp
# Regenerate engine resources (Playground scrape)
python build-engines.py
# Testing with MCP Inspector
npx @modelcontextprotocol/inspector
# Configure: URL mcp.serpapi.com/YOUR_KEY/mcp, Transport "Streamable HTTP transport"
Troubleshooting
- "Missing API key": Include key in URL path
/{YOUR_KEY}/mcpor headerBearer YOUR_KEY - "Invalid key": Verify at serpapi.com/dashboard
- "Rate limit exceeded": Wait or upgrade your SerpApi plan
- "No results": Try different query or engine
Contributing
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature - Install dependencies:
uv install - Make your changes
- Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
License
MIT License - see LICENSE file for details.
Related Servers
Wizzy TMDB
A wrapper for TMDB
Splunk
Interact with Splunk Enterprise/Cloud using natural language queries.
Pokemon TCG Card Search MCP
Search and display Pokemon Trading Card Game cards using the Pokemon TCG API.
Deep Research
An agent-based tool for web search and advanced research, including analysis of PDFs, documents, images, and YouTube transcripts.
Perplexity MCP Server
Adds Perplexity AI as a tool provider for Claude Desktop.
microCMS
A search server for the microCMS headless CMS, compatible with the Model Context Protocol (MCP).
Package Registry Search
Search and get up-to-date information about NPM, Cargo, PyPi, and NuGet packages.
Fish MCP Server
Search for fish species using the FishBase database. Supports natural language queries in both Japanese and English.
Academia MCP
Search for scientific publications across ArXiv, ACL Anthology, HuggingFace Datasets, and Semantic Scholar.
MCP NIF.PT
Query and analyze Portuguese companies using the NIF.PT public API. Supports search by NIF, company name, and city.