🌐 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"
}

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

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

Leave a Reply