web-search-mcp  by mrkrsl

Local LLM web search enhancement

Created 4 months ago
270 stars

Top 95.1% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

This project provides a locally hosted TypeScript-based MCP (Model Context Protocol) server, enabling local Large Language Models (LLMs) to perform comprehensive web searches without requiring API keys. It offers multiple search engines and content extraction capabilities, acting as a versatile tool for LLM-powered applications.

How It Works

The server implements three specialized MCP tools: full-web-search for detailed results, get-web-search-summaries for snippets, and get-single-web-page-content for specific URLs. It employs a smart request strategy, prioritizing Bing, then Brave, then DuckDuckGo, and uses dedicated browser instances (Chromium, Firefox) with automatic cleanup. Content extraction falls back from fast Axios requests to simulated human browser behavior, with concurrent processing and HTTP/2 error recovery for enhanced reliability.

Quick Start & Requirements

Requires Node.js 18.0.0+ and npm 8.0.0+. Installation involves npm install, npx playwright install, and npm run build within the cloned repository. Configuration is done via mcp.json or librechat.yaml, pointing to the dist/index.js file. Compatibility is best with recent tool-use LLMs like Qwen3 and Gemma 3; older Llama or Deepseek models may exhibit erratic behavior.

Highlighted Details

  • Multi-Engine Prioritization: Leverages Bing, Brave, and DuckDuckGo, falling back intelligently for optimal results.
  • Full Page Content Extraction: Fetches and parses complete web page content, removing ads and navigation elements.
  • Specialized Tools: Offers distinct functionalities for comprehensive search, summary retrieval, and single-page content extraction.
  • No API Keys: Operates via direct connections, simplifying setup and removing external dependencies.
  • Concurrent Processing: Extracts content from multiple search results simultaneously for faster responses.

Maintenance & Community

The project welcomes community feedback through GitHub issues and pull requests. Specific contributor or community channel details are not prominently featured in the README.

Licensing & Compatibility

Released under the MIT License, permitting broad use and modification. It is explicitly tested and compatible with LM Studio and LibreChat MCP clients.

Limitations & Caveats

Potential compatibility issues exist with older versions of Llama and Deepseek LLM models. Network restrictions may interfere with browser automation, and users should ensure Playwright browsers are correctly installed.

Health Check
Last Commit

2 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
5
Star History
81 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.