← Back to directory
W

Web Search MCP Server

Community
Multi-engine web search and content extraction for local LLMs
Category
Other #150 of 230
Stars
★ 1.2k Popular
Transport
stdio (local process)
Runtime
Node.js 18+
Credentials
No credential needed
License
MIT
Last commit
⚠
Tools
3
50FMRS · D

This server is feature-rich with multi-engine search and content extraction, but relies on Playwright browsers requiring resources. Works well with LM Studio and LibreChat, especially with recent models; older models may have issues.

Strongest · Maintenance 13/20 Weakest · Reliability 7/20

Reliability
7/20
Security and permissions
10/20
Maintenance
13/20
Documentation
12/20
Setup experience
8/20
Why each score
Reliability 7/20
The codebase provides clear tool definitions (full-web-search, get-web-search-summaries, get-single-web-page-content) and includes error handling (e.g., HTTP/2 fallback) and timeout protections. However, since this is a static review without execution, actual behavior cannot be verified; there are no committed tests covering key paths (search, content extraction). Thus reliability is below 12.
Security and permissions 10/20
The server is configured via environment variables and handles no persistent credentials; it makes external network requests and downloads web page content, which is expected behavior. Potential risks exist (e.g., content extraction may parse malicious HTML), but no malicious behavior or overreach is evident. No install examples contain real tokens. Score limited to 10 due to lack of detailed review of input validation and resource limits.
Maintenance 13/20
The repository is active with 1072 stars, not archived, and has 36 open issues. A MIT license is provided. There is a releases page, but no evidence of commit frequency or issue response times. Hence maintenance score is 13.
Documentation 12/20
The README is very detailed, covering features, installation, configuration, environment variables, troubleshooting, and examples. There is a reference to API.md, but its content is not provided. Documentation is clear but has hidden assumptions (e.g., compatibility only with LM Studio and LibreChat). Score 12.
Setup experience 8/20
Installation steps are clear: Node.js 18+ required, npm install, npx playwright install, npm run build. Client configuration examples provided (mcp.json, LibreChat). However, it depends on Playwright browser installation, with manual steps and potential network requirements. Since no execution test, setup score limited to 15.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessUses the networkControls a browser

Best for

  • Local LLM users with LM Studio or LibreChat
  • Developers needing web search without API keys
  • Users with recent tool-calling models like Qwen3 and Gemma 3

Not for

  • Those needing a stable proprietary search API
  • Users with older Llama/Deepseek models that have tool-calling issues
  • Environments with strict latency or resource constraints

Required permissions

  • Local file system: run node/npm commands
  • Network access: perform web searches and fetch pages
  • Browser automation: download and run Playwright browsers

Risks and side effects

  • Downloads browser binaries which may introduce security considerations
  • Web content may contain unsafe scripts but extraction is handled
  • Search engine behavior may be blocked or inconsistent

Setup

Before you start

Runtime:Node.js 18+

Other optional settings (10)
MAX_CONTENT_LENGTH optional Maximum returned content length in characters (default 500000); set in mcp. env to fix odd behavior from long content.
DEFAULT_TIMEOUT optional Request timeout in milliseconds (default 6000); lower it for faster responses.
MAX_BROWSERS optional Maximum browser instances kept (default 3); lower to reduce memory usage.
BROWSER_TYPES optional Comma-separated browser types (default 'chromium,firefox'; options: chromium, firefox, webkit).
BROWSER_FALLBACK_THRESHOLD optional Number of axios failures before falling back to a browser (default 3).
ENABLE_RELEVANCE_CHECKING optional Toggles search result quality validation (default true).
RELEVANCE_THRESHOLD optional Minimum quality score for results (0.0-1.0, default 0.3).
FORCE_MULTI_ENGINE_SEARCH optional Try all search engines and return the best results (default false).
DEBUG_BROWSER_LIFECYCLE optional Enables detailed browser lifecycle logging for debugging (default false).
BROWSER_HEADLESS optional Runs browsers headless; should be true (default) in server environments.
  1. Download the latest release zip from GitHub and extract it.
  2. In the extracted folder, run npm install, npx playwright install, and npm run build.
  3. Configure the path to dist/index.js in your MCP client config.
MCP config · JSON
{
  "mcpServers": {
    "web-search": {
      "command": "node",
      "args": [
        "/path/to/web-search-mcp/dist/index.js"
      ]
    }
  }
}

Works in clients that read an "mcpServers" key. For clients such as VS Code that use a different key, the configurator below converts it.

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

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add web-search -- node /path/to/web-search-mcp/dist/index.js

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

After configuring mcp., check that the tools full-web-search, get-web-search-summaries and get-single-web-page-content appear in your MCP client's (LM Studio or LibreChat) tool list, then run a search query to confirm results are returned.

Troubleshooting

  1. If npm install fails, upgrade Node.js and npm
  2. If search fails, run `npx playwright install`
  3. For slow responses, set env vars like DEFAULT_TIMEOUT=4000, MAX_BROWSERS=1
  4. If content is truncated, set MAX_CONTENT_LENGTH

Things to try

Once connected, you can ask your AI assistant things like:

  • Use full-web-search to look up "TypeScript MCP server" with 3 results and include full page content
  • Search for recent articles on local LLM tool use and give me just the summaries
  • Fetch the main content of https://example.com/article and cap it at 5000 characters

Tools 3

full-web-search read-only
Comprehensive search returning results with full page content.
get-web-search-summaries read-only
Lightweight search returning only result snippets without content extraction.
get-single-web-page-content read-only
Extracts main content from a specified URL, removing navigation and ads.

Use cases

Provide real-time web search to local LLMs
Get search summaries or full web page contents
Extract text from a known URL

Supported clients

LM Studio
LibreChat

Listed from the project's documentation, not tested by this site.

Overview

A TypeScript MCP server providing API-key-free web search for local large language models. It uses a prioritized multi-engine strategy (Bing, Brave, DuckDuckGo), full-page content extraction, and Playwright browsers to deliver reliable web search results. Designed for local LLM clients like LM Studio and LibreChat, it offers three specialized tools and extensive environment configuration options.

Similar servers

BioMCP 75 · B

One binary. One grammar. Evidence from the biomedical sources you already trust.

★ 654 · Tools 11 Compare with this →

Source revision eeb03f88525c Data synced 2026-10-12 Read the FMRS scoring method