🌐 Open-WebSearch MCP: Give Your AI Plugin Real-Time Web Access — for Free
🧠 “Let your AI plugin really access the web — no API key, no rate limits, fully self-hosted and multi-engine.”
🤔 Why I Built This
If you’ve ever worked with tools like Claude, LangChain, or built your own RAG pipeline, you’ve probably hit this wall:
💭 “The AI doesn’t know what’s on the internet. And adding web access usually means paying for Bing or Google Search APIs.”
That didn’t sit right with me.
So I built Open-WebSearch MCP — an open-source, multi-engine web search server that speaks Claude-compatible MCP protocol.
It works with Claude Dev Plugin, Cherry Studio, LangChain MCP clients — and it doesn’t need any API key.
🔧 What It Does
✅ Multi-Engine Web Search
Supports Bing
, Baidu
, DuckDuckGo
, CSDN
, Exa
, and Brave
. More coming soon.
You can even combine them in a single query.
✅ Structured Output
Search results are returned as JSON:
{
"title": "Result title",
"url": "https://...",
"description": "...",
"source": "engine.com",
"engine": "bing"
}
✅ Article Fetching
It includes tools to extract full blog content (e.g., CSDN
, Linux.do
).
✅ Fully Free, Self-Hosted
No Bing/Google API keys, no scraping limits (you host it), no cloud vendor lock-in.
✅ Streamable + SSE Support
Integrates with Claude, Cherry Studio, and LangChain clients out of the box using the MCP protocol with streamableHttp
or SSE
.
✅ Docker Ready
Run with a single command via Docker or deploy manually with Node.js.
🚀 Quickstart
Option 1: Run Locally
git clone https://github.com/Aas-ee/open-webSearch
cd open-webSearch
npm install
npm run build
node build/index.js
Option 2: Docker (recommended)
docker run -d
--name web-search
-p 3000:3000
-e ENABLE_CORS=true
-e CORS_ORIGIN=*
ghcr.io/aas-ee/open-web-search:latest
You can configure:
- Proxy support (
USE_PROXY
) - Default search engine (
DEFAULT_SEARCH_ENGINE
) - CORS settings, etc.
🧩 Example: Using in a Claude Plugin
You can plug it directly into Claude’s Dev Extension, Desktop client, or Cherry Studio like this:
{
"mcpServers": {
"web-search": {
"type": "streamableHttp",
"url": "http://localhost:3000/mcp"
},
"web-search-sse": {
"type": "sse",
"url": "http://localhost:3000/sse"
}
}
}
Then call the search
tool like this:
use_mcp_tool({
server_name: "web-search",
tool_name: "search",
arguments: {
query: "LangChain vs Claude",
limit: 5,
engines: ["bing", "csdn", "duckduckgo"]
}
})
Or fetch full articles:
use_mcp_tool({
server_name: "web-search",
tool_name: "fetchCsdnArticle",
arguments: {
url: "https://blog.csdn.net/xxx/article/details/xxx"
}
})
🛠️ Dev-Friendly Features
- ☁️ Auto CI/CD build to Docker Hub & GitHub Container Registry
- 🧱 Easily extend search engine support (just add a new engine handler)
- 🔒 Runs fully offline in LAN/internal AI labs
- 🧪 Great for RAG, LangChain agents, or plugin testing
🔗 Links
- GitHub: https://github.com/Aas-ee/open-webSearch
-
Docker:
ghcr.io/aas-ee/open-web-search:latest
❤️ Want to Contribute?
Pull requests and issues welcome! Feel free to:
- Fork it for your own plugin setup
- Add new search engines or article extractors
- Help improve stability (esp. HTML selectors!)
🌟 Summary
If you’re building AI tools and want real-time web access — but don’t want to pay for search APIs — this project is for you.
“Open-WebSearch MCP: Let your AI agents actually browse the web — for free, forever.”
Give it a ⭐ if you find it useful!