DEV Community

Cover image for 🌐 Open-WebSearch MCP: Give Your AI Plugin Real-Time Web Access β€” for Free
Aasee
Aasee

Posted on

🌐 Open-WebSearch MCP: Give Your AI Plugin Real-Time Web Access β€” for Free

🌐 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"
}
Enter fullscreen mode Exit fullscreen mode

βœ… 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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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"
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

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"]
  }
})
Enter fullscreen mode Exit fullscreen mode

Or fetch full articles:

use_mcp_tool({
  server_name: "web-search",
  tool_name: "fetchCsdnArticle",
  arguments: {
    url: "https://blog.csdn.net/xxx/article/details/xxx"
  }
})
Enter fullscreen mode Exit fullscreen mode

πŸ› οΈ 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


❀️ 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!

Top comments (0)