home / mcp / web search mcp server

Web Search MCP Server

Provides web search results and page content extraction using a headless Chrome browser for Google, Bing, and DuckDuckGo.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "pranavms13-web-search-mcp": {
      "command": "uvx",
      "args": [
        "git+https://github.com/pranavms13/web-search-mcp"
      ]
    }
  }
}

Web Search MCP is a server that provides web search capabilities by driving a headless Chrome browser to scrape and return results from major search engines. It also fetches and extracts text from web pages so you can read content without leaving your MCP client. This makes it easy to search, summarize, and pull content from the web in a single autodiscovered MCP workflow.

How to use

Start the MCP server locally and connect with your MCP client. After you connect, you can search the web and fetch page content using the available tools. For searches, ask for a query and request a list of results with titles, URLs, domains, and optional snippets. For article or page content, provide a URL and receive the extracted text along with the page title.

Practical usage patterns you can follow include: - Search the web for a topic and review the top results, then drill into a few pages to extract relevant passages. - Retrieve full content from a specific webpage to feed into summaries, analyses, or research notes. - Combine multiple tool outputs in a single session to build a concise briefing from diverse sources.

How to install

Prerequisites you need before installing: - Python 3.10 or newer - Google Chrome browser - Internet access - Command line access to install dependencies and run the server.

# Install dependencies (recommended flow)
uv sync

# Or using Python packaging in editable mode
pip install -e .

# Install Chrome browser
# macOS: brew install --cask google-chrome
# Ubuntu: sudo apt-get install google-chrome-stable
# Windows: Download and install from Google Chrome website

# ChromeDriver is managed automatically by webdriver-manager when running locally

Example configuration and usage notes

{
  "mcpServers": {
    "web_search_mcp": {
      "command": "uvx",
      "args": ["git+https://github.com/pranavms13/web-search-mcp"]
    }
  }
}

Usage with Claude Desktop

To connect your Claude Desktop client, add the MCP server configuration shown here to your settings. You can run the server from your environment and then connect using the MCP URL/command provided by your setup.

{
  "mcpServers": {
    "web_search_mcp": {
      "command": "uvx",
      "args": ["git+https://github.com/pranavms13/web-search-mcp"]
    }
  }
}

Notes on configuration and behavior

The server runs with a headless Chrome browser by default and uses Selenium WebDriver for browser automation. It includes robust error handling for network timeouts, WebDriver failures, page parsing errors, and invalid URLs. ChromeDriver management is handled automatically, so you do not need to install a separate driver manually.

Troubleshooting

If you encounter issues, check that Chrome is installed and that your environment has internet access. Common problems include network timeouts, WebDriver initialization failures, and pages failing to parse correctly. Examining logs will help identify where the issue occurs so you can retry with adjusted timeouts or a different URL.

Security and notes

The server operates headlessly and respects rate-limiting considerations. Some websites may block automated access; adjust requests and respect terms of service when scraping. Ensure you run the server in a trusted environment and monitor any sensitive data you fetch.

Available tools

search_web

Search the web across Google and return structured results including title, URL, domain, snippet, and rank.

get_webpage_content

Fetch and extract text content from a webpage, returning the URL, title, content, and length.