Three engines in a fallback chain and content extraction with its own retry path — the design is about getting an answer back when one engine blocks you, which is the failure mode that makes keyless search unreliable.
A search server that queries engines directly through browser automation rather than a paid search API, then follows the results and extracts their page content. Built and tested against LM Studio and LibreChat.
- `full-web-search` — the main tool: search, then fetch full page content from each result URL concurrently, returning structured data. Takes a query and a result count between 1 and 10, default 5
- `get-web-search-summaries` — the same multi-engine search returning only the result snippets, with no content extraction, for when speed matters more than depth
- `get-single-web-page-content` — extract the main content of one URL you already have, with navigation, ads and other non-content elements stripped
- An ordered engine strategy: browser-based Bing on a dedicated Chromium instance first, browser-based Brave on Firefox second, and Axios DuckDuckGo as the final fallback, each engine getting its own browser instance with automatic cleanup
- Content extraction that tries plain HTTP first and only falls back to a browser, with automatic HTTP/1.1 retry when an HTTP/2 protocol error occurs
Node.js 18.0.0 or higher and npm 8.0.0 or higher. Download a release, then run `npm install`, `npx playwright install` and `npm run build` in the extracted folder — the install must happen at the root, not inside `dist/`. Point your client's `mcp.json` at the built `dist/index.js`. Behaviour is tuned with environment variables: `MAX_CONTENT_LENGTH` defaults to 500000 characters, `DEFAULT_TIMEOUT` to 6000 milliseconds, `MAX_BROWSERS` to 3, and `BROWSER_TYPES` to chromium and firefox. Model choice matters more here than usual — recent tool-use models such as Qwen3 and Gemma 3 work well, while some older Llama and Deepseek builds behave erratically or not at all. Only LM Studio and LibreChat have been tested as clients.
