Get the FREE Ultimate OpenClaw Setup Guide →

web-search

A simple, locally hosted Web Search MCP server for use with Local LLMs

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio mrkrsl-web-search-mcp node /path/to/web-search-mcp/dist/index.js \
  --env MAX_BROWSERS="3" \
  --env BROWSER_HEADLESS="true" \
  --env MAX_CONTENT_LENGTH="10000" \
  --env BROWSER_FALLBACK_THRESHOLD="3"

How to use

This MCP server provides three web search related tools that help you retrieve and process information from the web with Local LLMs. The main tool, full-web-search, performs a multi-engine web search using browser-based Bing and Brave, plus an Axios-based DuckDuckGo fallback, with dedicated browser instances and concurrent content extraction. The lightweight tool, get-web-search-summaries, runs the same multi-engine search but only returns search result snippets and descriptions without following links for full content extraction. The utility tool, get-single-web-page-content, fetches and extracts the main content from a single provided URL. Together these tools support robust search workflows that balance depth, speed, and content relevance.

How to install

Prerequisites:

  • Node.js 18.0.0 or higher
  • npm 8.0.0 or higher

Install and build (example workflow):

  1. Clone or download the MCP server repository
  2. Open a terminal in the project root
  3. Install dependencies
    npm install
    
  4. Install Playwright browsers
    npx playwright install
    
  5. Build the project
    npm run build
    
  6. Point your MCP config to the built entry point (dist/index.js) as shown in the example below
  7. Run the server via your preferred MCP orchestrator (e.g., LibreChat integration) using the provided mcp.json example

Example mcp.json snippet:

{
  "mcpServers": {
    "web-search": {
      "command": "node",
      "args": ["/path/to/web-search-mcp/dist/index.js"]
    }
  }
}

Additional notes

Tips and common considerations:

  • Before first run, ensure all Playwright browsers are installed via npx playwright install.
  • If you encounter content length or timeout issues, adjust MAX_CONTENT_LENGTH and DEFAULT_TIMEOUT via environment variables in mcp.json.
  • If you see slow responses or memory pressure, reduce MAX_BROWSERS or run with BROWSER_HEADLESS in headless mode.
  • The server supports multiple environment variables to tune behavior, such as ENABLE_RELEVANCE_CHECKING, RELEVANCE_THRESHOLD, FORCE_MULTI_ENGINE_SEARCH, and DEBUG_BROWSER_LIFECYCLE. See the README for full details.
  • If you’re using LibreChat in Docker, mount your local MCP directory into the container and reference the dist/index.js path in librechat.yaml as shown in the README.

Related MCP Servers

Sponsor this space

Reach thousands of developers