BetterWebSearch-MCP
Health Pass
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 13 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Keyless-first MCP for better web research — DuckDuckGo out of the box, Brave/Tavily optional, 3-tier extraction (HTTP → hydration → Playwright)
BetterWebSearch MCP
Keyless-first web search for AI agents. DuckDuckGo works out of the box. No API keys.
What is this?
BetterWebSearch MCP is a Model Context Protocol server that gives AI assistants genuinely better web research. It works without API keys by default (DuckDuckGo), and optionally adds Brave or Tavily for richer ranking and recency.
Built for anyone who wants their AI tools to find things on the web reliably, not just when a paid API key is configured.
Quick start (30 seconds)
Add this to your MCP client config (Claude Desktop, Cursor, VS Code Copilot, OpenCode, or any MCP client):
{
"mcpServers": {
"better-web-search-mcp": {
"command": "npx",
"args": ["-y", "better-web-search-mcp"]
}
}
}
That's it. Every search tool works immediately. No .env, no API keys, no setup.
Or run it directly:
npx -y better-web-search-mcp --help
Tools
| Tool | What it does |
|---|---|
web_search |
Aggregated search across providers, deduplicated and reranked |
web_research |
Deep research. Rewrites your question, searches in parallel, extracts top results with citations |
deep_search |
Alias for web_research |
web_extract |
Extracts clean content from any URL, using the best method available |
web_find |
Search scoped to a single website |
web_news |
Recent news with timeline and diversity filtering |
How search is better
Standard MCP search tools hit one API and return raw results. BetterWebSearch takes a different approach.
Query expansion. Your single question gets rewritten into 4 to 6 variants, searched in parallel. "Unlimited mobile internet Germany" also searches for "unbegrenztes Datenvolumen Deutschland" and similar phrasings. More coverage without you doing extra work.
Three-tier extraction. When it fetches a page, it doesn't just grab the HTML and hope for the best:
Tier 1: Fast HTTP fetch (< 1s)
↓ if not enough content
Tier 2: Structured data (JSON-LD, __NEXT_DATA__, __NUXT__) (1-3s)
↓ if still not enough
Tier 3: Playwright browser (full render + API interception) (3-10s)
Only escalates when needed. Results carry confidence scores so you know what you're getting.
Self-learning cache. The first visit to a domain takes the full path. The second visit skips straight to what worked. Domain profiles and API patterns are remembered.
Project structure
src/
providers/ Search backends (DuckDuckGo, Brave, Tavily; SerpApi stubbed)
extraction/ 3-tier content pipeline (fetch, structured, browser)
ranking/ Deduplication, domain scoring, reranking
tools/ MCP tool definitions (search, research, extract, find, news)
utils/ Config, caching, retry, query rewriting
Configuration
All configuration is optional. DuckDuckGo works with zero setup.
# Optional: add more providers
BRAVE_API_KEY=your_key # Better ranking and recency
TAVILY_API_KEY=your_key # Alternative provider
See the full configuration reference for all options including cache paths, browser settings, and environment variable names.
Documentation
Full guides, API reference, and architecture details live on the docs site:
phantompixeldev.github.io/BetterWebSearch-MCP
- Installation - npx, npm, or from source
- Quick Start - Get running in your first AI client
- Configuration - All environment variables and options
- Contributing - Development setup and PR process
- Changelog - Release history and version notes
License
MIT
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found