Local LLMs Search the Web via Browser Brute Force
It gives locally hosted LLMs web search capabilities by orchestrating headless browsers and raw HTTP requests against public engines—no API keys needed.

What it does This TypeScript MCP server gives local LLM clients—specifically LM Studio and LibreChat—the ability to search the web without API keys. It queries public engines directly, cycling through Bing, Brave, and DuckDuckGo until it gets results, then fetches and cleans full page content using a mix of headless Playwright browsers and raw HTTP requests. Everything runs locally and feeds back into the model through three specialized tools.
The interesting bit Instead of a single scraping strategy, the server assigns each search engine its own browser instance—Chromium for Bing, Firefox for Brave—with automatic cleanup and HTTP/2-to-HTTP/1.1 fallback when protocols misbehave. If a lightweight axios request fails repeatedly, it falls back to simulating human browsing behavior to extract the page anyway.
Key highlights
- Searches Bing, Brave, and DuckDuckGo directly with no API keys, falling back through engines until something returns.
- Uses isolated browser instances per engine plus axios for a hybrid, concurrent extraction strategy.
- Offers three tools: full search with content extraction, lightweight snippet-only search, and single-page scraping.
- Tuned for local models: works best with Qwen3 and Gemma 3, while older Llama and DeepSeek variants can behave erratically.
- Exposes environment variables to cap content length, browser count, timeouts, and relevance thresholds.
Caveats
- Only tested with LM Studio and LibreChat; other MCP clients are untested.
- Browser automation can be blocked by some networks, and running multiple Playwright instances risks high memory usage.
- Model compatibility is uneven: Qwen3 and Gemma 3 work well, but older Llama and DeepSeek R1 versions may fail or act unpredictably.
Verdict Worth a look if you’re running local LLMs and need web search without signing up for another SaaS API. Skip it if you need guaranteed compatibility across all model versions or a lightweight, browser-free stack.
Frequently asked
- What is mrkrsl/web-search-mcp?
- It gives locally hosted LLMs web search capabilities by orchestrating headless browsers and raw HTTP requests against public engines—no API keys needed.
- Is web-search-mcp open source?
- Yes — mrkrsl/web-search-mcp is open source, released under the MIT license.
- What language is web-search-mcp written in?
- mrkrsl/web-search-mcp is primarily written in TypeScript.
- How popular is web-search-mcp?
- mrkrsl/web-search-mcp has 1.2k stars on GitHub.
- Where can I find web-search-mcp?
- mrkrsl/web-search-mcp is on GitHub at https://github.com/mrkrsl/web-search-mcp.