# serpapi/serpapi-mcp [Health: Active]

**Category:** 🔎 Search & Data Extraction  
**Repository:** https://github.com/serpapi/serpapi-mcp  
**GitHub Stars:** 182  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/serpapi-serpapi-mcp

## Description
SerpApi MCP Server for Google and other search engine results. Provides multi-engine search across Google, Bing, Yahoo, DuckDuckGo, YouTube, eBay, and more with real-time weather data, stock market information, and flexible JSON response modes.

## Tools
Capabilities this server exposes over MCP:

- **search_dashboard** — Interactive dashboard variant of `search`: returns summary metrics, a source breakdown chart, and a results table with a click-to-expand detail panel, all rendered in the conversation. Same params as `search`. Use for a richer visual overview of a query's results. Automatically selects an engine-specific dashboard when available (e.g. google_flights gets price intelligence charting).
- **search_table** — Interactive UI variant of `search`: returns organic results as a sortable, searchable table rendered in the conversation. Same params as `search`. Use when the host supports MCP Apps and the user wants to browse results visually rather than read JSON.
- **search** — Universal search tool supporting all SerpApi engines and result types.

    When to use:
        - Any query needing live, structured SERP data: web results, news, product listings, job postings, local businesses, flight/hotel prices, video results, images, stock/weather cards, knowledge graph entities.
    
    Engine discovery via MCP resources:
        - serpapi://engines lists all engines supported by this tool.
        - serpapi://engines/<engine> provides engine-specific parameters and supported options.
        - Example: serpapi://engines/google_news

    Input schema:
        params: JSON object containing SerpApi engine parameters.
            Common parameters:
                - q: Search query. Required for most engines.
                - engine: SerpApi engine name. Defaults to "google_light".
                - location: Optional geographic location for localized results.
                - output: Optional response format. Omit for JSON (default), or set to "md" for Markdown.
    
            Engine-specific parameters are available via MCP resources:
                - serpapi://engines lists all supported engines.
                - serpapi://engines/<engine> provides parameters and options for one engine.
    
        mode: Response mode. Defaults to "complete".
            - "complete": Return the full SerpApi response.
            - "compact": Remove metadata fields from JSON responses. Markdown is returned unchanged.
    
    Output schema:
        structuredContent.result contains the response string: serialized JSON or unchanged Markdown.
        The same string is included in text content. Tool failures preserve this wrapper and set isError to true.

    Guided search:
        Searches can request missing engine parameters from supporting clients using the engine catalog and engine-specific rules.
        Flights collect airports and dates, hotels collect the destination and stay dates, and directions collect missing endpoints.
        Other clients receive a missing-parameter error. Cancellation does not run a search.

    Examples:
        Weather: {"params": {"q": "weather in London", "engine": "google"}, "mode": "complete"}
        Stock: {"params": {"q": "AAPL stock", "engine": "google"}, "mode": "complete"}
        General: {"params": {"q": "coffee shops", "engine": "google_light", "location": "Austin, TX"}, "mode": "complete"}
        Compact: {"params": {"q": "news"}, "mode": "compact"}
        Markdown: {"params": {"q": "news", "output": "md"}}

    Supported engines include (not limited to):
        - google
        - google_light
        - google_flights
        - google_hotels
        - google_images
        - google_news
        - google_local
        - google_shopping
        - google_jobs
        - bing
        - yahoo
        - duckduckgo
        - youtube_search
        - baidu
        - ebay
    

## Claude Desktop Quick Installation
No confirmed install details yet, so no config is published. Follow the setup steps in the repository above.

## Documentation

## What serpapi/serpapi-mcp MCP server does

The serpapi/serpapi-mcp MCP server exposes SerpApi search and data extraction through the Model Context Protocol. Its central `search` tool supports multiple search engines, including Google, Bing, Yahoo, DuckDuckGo, YouTube, eBay, and other engines listed by SerpApi. Search results may include organic listings, answer boxes, news, images, and shopping data, with result formatting detected automatically.

The server can also retrieve information through ordinary search queries, such as location-based weather forecasts or company stock data. It supports JSON responses by default, with complete and compact modes, and can return Markdown when `params.output` is set to `md`. Optional `search_table` and `search_dashboard` tools provide interactive result displays in MCP hosts that support MCP Apps.

This places the serpapi/serpapi-mcp MCP server in the 🔎 Search & Data Extraction category. It fits agents that need current search results or engine-specific data without implementing separate clients for each supported search provider.

## How it works

Clients call `search` with a `params` object. The required `params.q` field is used for standard queries, while some engines use fields such as `search_query`, `term`, or `_nkw`. The `params.engine` value selects the SerpApi engine and defaults to `google_light` when omitted. Other parameters can specify location, domain, and engine-specific search options.

Engine parameter schemas are available through MCP resources at `serpapi://engines` and `serpapi://engines/<engine>`. Clients with argument-completion support can request engine-name suggestions for the resource URI. The response includes the result in MCP structured content and text; JSON results contain serialized JSON, while Markdown results contain formatted Markdown.

## Setup and configuration

The hosted service is available at `https://mcp.serpapi.com/mcp`. Clients can authenticate with an `Authorization: Bearer YOUR_API_KEY` header, which keeps the key out of the URL, or use the path form `/YOUR_API_KEY/mcp` for clients that cannot set headers. A SerpApi API key is needed for `search` and the App tools, but not for connecting, listing tools, or reading resources.

For local deployment, clone the repository, run `uv sync`, and start it with `uv run src/server.py`. A local HTTP endpoint can then be configured in an MCP client. The repository also provides a `src/stdio.py` entry point for hosts that launch MCP servers as subprocesses. The project requires Python 3.13 or newer. Claude Desktop users can install the released `.mcpb` bundle, which asks for the API key and runs the server locally over stdio.

## Tools and capabilities

The serpapi/serpapi-mcp MCP server provides:

- A general `search` tool covering all SerpApi engines and engine-specific parameters.
- Engine schema resources for discovering supported parameters.
- Complete or compact JSON output modes.
- Markdown output for lower-token result transfer.
- Optional `search_table` and `search_dashboard` interactive UI tools.
- Search-based access to weather, stock, news, image, shopping, and other supported result types.

## Limitations and notes

Results depend on the SerpApi API and the selected engine’s available parameters. The server does not expose one fixed schema for every search: parameters vary by engine, so clients should consult the engine resources or SerpApi’s search API reference. An API key is required for actual searches and App tools. Markdown output is unchanged by the JSON `mode` setting, and compact mode removes JSON metadata rather than changing the underlying search request.

_Full upstream README: https://allmcps.com/mcp/serpapi-serpapi-mcp/readme_

