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.
相關伺服器
Perplexica Search
Perform conversational searches with the Perplexica AI-powered answer engine.
WHOIS MCP Server
A WHOIS server for checking domain availability using the Chinaz API.
302AI Web Search
A web search server powered by the 302.AI API.
SearXNG
A privacy-respecting metasearch engine powered by a self-hosted SearXNG instance.
Joblyst MCP
One search to get german projects and jobs from different plattforms
Hugeicons MCP Server
Search for icons from the Hugeicons library and get usage documentation.
Shodan
Query Shodan's database of internet-connected devices and vulnerabilities using the Shodan API.
Wikipedia
Retrieves information from Wikipedia to provide context to Large Language Models (LLMs).
Lancelot-MCP
A containerized MCP server for LanceDB vector search, featuring hybrid processing with Gemini and Ollama.
Marginalia Search
A search engine for non-commercial content and hidden gems of the internet.