Aas-ee/open-webSearch

Multi-engine MCP server, CLI, and local daemon for agent web search and content retrieval — skill-guided workflows, no API keys.

Open‑WebSearch – AIエージェント向けのプラグアンドプレイ型ウェブ検索サービス

概要 – Open‑WebSearchは、さまざまな公開検索エンジン(Bing, DuckDuckGo, Baidu, Braveなど)にクエリを送信し、その結果をクリーンで構造化されたJSON形式で返すローカルサーバー(またはCLI)を実行するオープンソースツールです。また、個々のページの全文取得(GitHub READMEs, CSDN articles, 一般的なMarkdown/HTMLページ)も可能です。このサービスは、MCP (Model‑Center‑Protocol) インターフェースを介してAIエージェント(Claude, Cursorなど)で使用されるように設計されていますが、単純なコマンドラインユーティリティや、常駐型のHTTPデーモンとしても動作します。

重要性 – 現代のLLMベースのエージェントは、ウェブから最新の情報を必要とすることがよくあります。ほとんどの商用APIは、有料のキーやレート制限を必要とします。Open‑WebSearchは、その障壁を取り除きます。APIキーなしで公開検索エンジンをスクレイピングし、制限されたネットワーク向けのプロキシ設定をサポートし、サイトが単純なHTTPリクエストをブロックする場合にヘッドレスブラウザ(Playwright)にフォールバックすることができます。これにより、自律型エージェント、RAGパイプライン、またはライブウェブ検索を必要とするあらゆるワークフローにとって、実用的な構成要素となります。

仕組み

  • 検索search エンドポイントは、選択されたエンジンに連絡し、タイトル、URL、スニペットを収集してJSONとして返します。環境変数を使用して、デフォルトのエンジンを選択したり、許可リストを制限したりできます。
  • 取得 – 検索後、fetch‑web(一般的なページ)または特化型フェッチャー(fetchGithubReadme, fetchCsdnArticleなど)を呼び出して、記事の全文を取得できます。Playwrightが利用可能な場合、フェッチャーはJavaScriptが多用されているページをレンダリングし、永続的なブラウザプロファイルからクッキーを再利用できます。
  • デプロイメントオプション
    • MCPサーバー – Claude Desktop, Cherry Studio, VS Code 拡張機能などに直接接続します。
    • CLIopen-websearch search "latest AI news" --json のような単発のコマンド。
    • ローカルデーモン – 繰り返し呼び出しのオーバーヘッドを削減するために、継続的に実行されるHTTPサービス(POST /search, POST /fetch‑*)。
    • Docker – 素早い、隔離されたデプロイメントのための公式コンテナイメージ(ghcr.io/aas-ee/open-web-search)。
  • 設定 – すべての動作は環境変数(デフォルトエンジン、プロキシ設定、CORS, Playwrightモードなど)によって制御されます。これにより、企業のファイアウォールへの適応や、ヘッドレスブラウザへのフォールバックの有効化/無効化が容易になります。

典型的なユースケース

  1. LLMエージェントが「最近の拡散モデルに関する論文を検索してください」といったユーザーのクエリを受け取ります。
  2. エージェントは、Open‑WebSearch MCPツール search(またはCLI)をクエリと共に呼び出します。
  3. サービスは、URLとスニペットのリストを返します。
  4. エージェントは、最も有望な結果を選択し、fetchWebContent(または特化型フェッチャー)を呼び出して全文を取得します。
  5. 取得したコンテンツは、要約や引用のためにLLMにフィードバックされます。

主な強み

  • APIキー不要 – 公開検索エンジンを使用して、すぐに使い始めることができます。
  • マルチエンジン対応 – 地域や言語に合わせて最適なエンジンを選択できます。
  • プロキシ対応 – 検閲や企業ネットワーク向けの、組み込みのHTTPプロキシ処理。
  • Playwrightフォールバック – JavaScriptのレンダリングやクッキーが必要なサイトを処理できます。
  • エージェントフレンドリー – 標準的なMCPツールインターフェースと、単純なHTTP APIを公開します。

制限事項

  • 公開検索ページをスクレイピングするため、過度な使用はレート制限やCAPTCHAに遭遇する可能性があります。
  • 現在実装されているのはエンジンの一部のみであり、Googleはまだサポートされていません。
  • ブラウザのフォールバックには、別途Playwrightのインストール、または既存のリモートブラウザが必要です。

結論 – Open‑WebSearchは、LLMエージェントとライブウェブの間の、軽量でキーレスなブリッジを提供し、最新の情報を必要とするあらゆるRAGや自律型エージェントのスタックにおいて、有用なコンポーネントとなります。


クイックスタート

# npx経由でサービスを実行(インストール不要)
DEFAULT_SEARCH_ENGINE=duckduckgo npx open-websearch@latest

# または、繰り返し呼び出しのためにデーモンを開始
npm install -g open-websearch
open-websearch serve   # then POST /search to http://localhost:3000

詳細な読み物 – 詳細なコマンドや環境変数オプションについては、READMEの Features, CLI and Local Daemon, Installation Guide, Docker Deployment のセクションを参照してください。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト