Best for
- Developers needing keyless multi-engine search.
- Agent workflows integrated into MCP clients (Claude Desktop, Cursor).
- Service scenarios requiring a local daemon with HTTP API.
open-websearch is a feature-rich multi-engine search MCP server with CLI and local daemon, requiring no API keys. It supports multiple search backends and content fetching. However, it relies on scraping and may be subject to blocking, suitable for personal development and small projects, not for high-reliability production use.
Strongest · Documentation 12/20 Weakest · Reliability 8/20
Static review · not runListed 2026-08-07
Read the FMRS scoring method →Runtime:Node.js · Docker
ENABLE_CORS
Enable CORS for the HTTP API, default false; no external credential needed.
CORS_ORIGIN
CORS allowed origin, default *; any valid origin.
DEFAULT_SEARCH_ENGINE
Default search engine, default bing; options include duckduckgo, exa, brave, baidu — no signup required.
USE_PROXY
Enable HTTP proxy, default false; for restricted networks.
PROXY_URL
Proxy server URL, default http://127.0.0.1:7890; point it at your local proxy client.
FAKE_IP_CIDRS
Comma-separated CIDR list for Clash fake-ip/TUN setups (e.g. 198.18.0.0/15).
FETCH_WEB_INSECURE_TLS
Disables TLS verification for fetchWebContent only, default false; use only for broken certificate chains.
MODE
Server mode: both, http, or stdio; default both.
PORT
HTTP server port, default 3000.
ALLOWED_SEARCH_ENGINES
Comma-separated list of allowed engines; empty means all available.
SEARCH_MODE
Search strategy request/auto/playwright; currently only affects Bing.
PLAYWRIGHT_PACKAGE
Playwright client package for browser mode: playwright or playwright-core.
PLAYWRIGHT_MODULE_PATH
Path to an existing Playwright package to reuse.
PLAYWRIGHT_EXECUTABLE_PATH
Path to an existing Chromium/Chrome binary to avoid bundled browser installs.
PLAYWRIGHT_WS_ENDPOINT
ws:// endpoint of a remote Playwright browser server.
PLAYWRIGHT_CDP_ENDPOINT
CDP endpoint of an existing Chromium instance (e.g. http://127.0.0.1:9222).
PLAYWRIGHT_HEADLESS
Whether Playwright Chromium runs headless, default true.
PLAYWRIGHT_NAVIGATION_TIMEOUT_MS
Playwright navigation timeout in ms, default 20000.
MCP_TOOL_SEARCH_NAME
Custom MCP tool name for the search tool.
MCP_TOOL_FETCH_LINUXDO_NAME
Custom tool name for fetchLinuxDoArticle.
MCP_TOOL_FETCH_CSDN_NAME
Custom tool name for fetchCsdnArticle.
MCP_TOOL_FETCH_GITHUB_NAME
Custom tool name for fetchGithubReadme.
MCP_TOOL_FETCH_JUEJIN_NAME
Custom tool name for fetchJuejinArticle.
MCP_TOOL_FETCH_WEB_NAME
Custom tool name for fetchWebContent.
npx open-websearch@latest, optionally with environment variables (e.g., DEFAULT_SEARCH_ENGINE=duckduckgo).npm install and npm run build.USE_PROXY=true, PROXY_URL) and Playwright for browser fallback.{
"mcpServers": {
"web-search": {
"command": "npx",
"args": [
"open-websearch@latest"
],
"env": {
"MODE": "stdio",
"DEFAULT_SEARCH_ENGINE": "duckduckgo",
"ALLOWED_SEARCH_ENGINES": "duckduckgo,bing,exa"
}
}
}
}
Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.
{
"servers": {
"web-search": {
"command": "npx",
"args": [
"open-websearch@latest"
],
"env": {
"MODE": "stdio",
"DEFAULT_SEARCH_ENGINE": "duckduckgo",
"ALLOWED_SEARCH_ENGINES": "duckduckgo,bing,exa"
}
}
}
}
Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).
claude mcp add web-search -e MODE=stdio -e DEFAULT_SEARCH_ENGINE=duckduckgo -e ALLOWED_SEARCH_ENGINES=duckduckgo,bing,exa -- npx open-websearch@latest
Run it in a terminal; replace any <…> placeholders with your own values first.
After starting the server, the client tool list should show the six tools including search, fetchGithubReadme, and fetchWebContent; running a simple search query that returns structured results with titles and URLs confirms the install works.
Once connected, you can ask your AI assistant things like:
No matching tools
Listed from the project's documentation, not tested by this site.
open-websearch is an MCP server, CLI, and local daemon that provides multi-engine web search and content retrieval (Bing, Baidu, DuckDuckGo, Exa, Brave, CSDN, Juejin, Startpage, Sogou) without requiring API keys. It supports HTTP proxy configuration for accessing restricted resources and returns structured results with titles, URLs, and descriptions. It also supports fetching full article content from specific platforms (CSDN, Juejin, GitHub README) and generic web/Markdown pages. The project is licensed under Apache-2.0.
MCP server providing web search and content fetching via DuckDuckGo
Your AI never forgets again.
Telegram MCP server powered by Telethon to let MCP clients read chats, manage groups, and send/modify messages, media, contacts, and settings.
Official MCP server for Hostinger API.
Source revision fb11fd94df73 Data synced 2026-10-12 Read the FMRS scoring method