home / mcp / open-websearch mcp server
WebSearchMCP using free multi-engine search (NO API KEYS REQUIRED) — Supports Bing, Baidu, DuckDuckGo, Brave, Exa, Github, Juejin and CSDN.
Configuration
View docs{
"mcpServers": {
"aas-ee-open-websearch": {
"url": "http://localhost:3000/mcp",
"headers": {
"MODE": "stdio",
"PORT": "3000",
"PROXY_URL": "http://127.0.0.1:7890",
"USE_PROXY": "true",
"CORS_ORIGIN": "*",
"ENABLE_CORS": "true",
"MCP_TOOL_SEARCH_NAME": "search",
"DEFAULT_SEARCH_ENGINE": "duckduckgo",
"ALLOWED_SEARCH_ENGINES": "duckduckgo,bing,exa",
"MCP_TOOL_FETCH_CSDN_NAME": "fetchCsdnArticle",
"MCP_TOOL_FETCH_GITHUB_NAME": "fetchGithubReadme",
"MCP_TOOL_FETCH_JUEJIN_NAME": "fetchJuejinArticle",
"MCP_TOOL_FETCH_LINUXDO_NAME": "fetchLinuxDoArticle"
}
}
}
}You can run the Open-WebSearch MCP Server to perform multi-engine web searches and fetch article content without API keys. It exposes an MCP interface you can connect to from compatible clients, enabling you to search across engines, fetch article bodies, and tailor which engines you want to use.
Connect with your MCP client to the Web Search MCP Server using either the HTTP endpoint or the local STDIO configuration. The HTTP option exposes a standard MCP HTTP path you can call from any MCP client. The STDIO option lets you run the server locally and communicate via standard input/output streams.
Prerequisites: ensure you have Node.js and npm installed on your system.
1) Install dependencies and build the server locally.
2) Start the server using one of the supported configurations shown below.
{
"mcpServers": {
"web-search": {
"name": "Web Search MCP",
"type": "streamableHttp",
"description": "Multi-engine web search with article fetching",
"isActive": true,
"baseUrl": "http://localhost:3000/mcp"
}
}
}{
"mcpServers": {
"web-search": {
"args": [
"open-websearch@latest"
],
"command": "npx",
"env": {
"MODE": "stdio",
"DEFAULT_SEARCH_ENGINE": "duckduckgo",
"ALLOWED_SEARCH_ENGINES": "duckduckgo,bing,exa"
}
}
}
}{
"mcpServers": {
"open_websearch_local": {
"command": "node",
"args": ["C:/path/to/your/project/build/index.js"],
"env": {
"MODE": "stdio",
"DEFAULT_SEARCH_ENGINE": "duckduckgo",
"ALLOWED_SEARCH_ENGINES": "duckduckgo,bing,exa"
}
}
}
}Enable CORS and select engines to tailor the server behavior. The following variables appear in typical setups and are described here for reference.
- This tool performs web search by aggregating results from multiple engines. Respect the terms of service of each engine and implement reasonable rate limiting to avoid being blocked.
- If you need to access resources behind a proxy, enable the HTTP proxy feature and provide a proxy URL.
- If searches are not returning results, verify that the selected engines are allowed by your configuration and that the server is reachable at the configured URL or port.
Search using multiple engines and return structured results with title, URL, and description.
Fetch complete content of Linux.do forum articles from a given URL.
Fetch complete content of CSDN blog articles from a given URL.
Fetch README content from a GitHub repository URL.
Fetch complete content of Juejin articles from a given URL.