Back to catalog

Web Search MCP Server

TypeScript MCP server that provides comprehensive web search capabilities through direct connections (no API keys required) with multiple search engines, including Bing, Brave, and DuckDuckGo, as well as full page content extraction.

Get this MCP server

TypeScript MCP server that provides comprehensive web search capabilities through direct connections (no API keys required) with multiple search engines, including Bing, Brave, and DuckDuckGo, as well as full page content extraction.

Installation

From Release

# Download latest release zip from GitHub
# Extract to desired location
npm install
npx playwright install
npm run build

From Source Code

git clone https://github.com/mrkrsl/web-search-mcp.git
cd web-search-mcp
npm install
npx playwright install
npm run build

Configuration

Basic Configuration

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

With Environment Variables

{
  "mcpServers": {
    "web-search": {
      "command": "node",
      "args": ["/path/to/web-search-mcp/dist/index.js"],
      "env": {
        "MAX_CONTENT_LENGTH": "10000",
        "BROWSER_HEADLESS": "true",
        "MAX_BROWSERS": "3",
        "BROWSER_FALLBACK_THRESHOLD": "3"
      }
    }
  }
}

LibreChat Configuration

mcpServers:
  web-search:
    type: stdio
    command: node
    args:
    - /app/mcp/web-search-mcp/dist/index.js
    serverInstructions: true

Available Tools

Tool Description
full-web-search Comprehensive web search that performs searches across multiple engines and extracts full page content from re...
get-web-search-summaries Lightweight search that returns only search result snippets without full content extraction...
get-single-web-page-content Extracts main content from a specific web page by URL, removing navigation, ads, and other non-content elements...

Features

  • Multi-engine search with priority Bing > Brave > DuckDuckGo
  • Full page content extraction from search results
  • Smart request strategy with switching between Playwright browsers and axios requests
  • Parallel processing of multiple pages simultaneously
  • Dedicated browser isolation with automatic cleanup
  • Recovery from HTTP/2 errors with automatic fallback to HTTP/1.1
  • Search result quality validation and relevance checking

Environment Variables

Optional

  • MAX_CONTENT_LENGTH - Maximum content length in characters (default: 500000)
  • DEFAULT_TIMEOUT - Default timeout for requests in milliseconds (default: 6000)
  • MAX_BROWSERS - Maximum number of browser instances to maintain (default: 3)
  • BROWSER_TYPES - Comma-separated list of browser types (default: 'chromium,firefox')
  • BROWSER_FALLBACK_THRESHOLD - Number of axios failures before using browser as fallback (default: 3)
  • ENABLE_RELEVANCE_CHECKING - Enable/disable search result quality validation (default: true)
  • RELEVANCE_THRESHOLD - Minimum quality score for search results (0.0-1.0, default: 0.3)
  • FORCE_MULTI_ENGINE_SEARCH - Try all search engines and return best results (default: false)

Usage Examples

Search 'TypeScript MCP server' and get full content from top-3 results
Get quick summaries for 'latest AI developments' without full page extraction
Extract main content from a specific web page by URL

Notes

Tested with LM Studio and LibreChat. Works best with modern models like Qwen3 and Gemma 3. Requires Node.js 18.0.0+ and npm 8.0.0+. May have compatibility issues with older Llama and Deepseek models.

Comments (0)

Sign In Sign in to leave a comment.

Spark Drops

Weekly picks: best new AI tools, agents & prompts

Venture Crew
Terms of Service

© 2026, Venture Crew