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 拡張機能などに直接接続します。
- CLI –
open-websearch search "latest AI news" --jsonのような単発のコマンド。 - ローカルデーモン – 繰り返し呼び出しのオーバーヘッドを削減するために、継続的に実行されるHTTPサービス(
POST /search,POST /fetch‑*)。 - Docker – 素早い、隔離されたデプロイメントのための公式コンテナイメージ(
ghcr.io/aas-ee/open-web-search)。
- 設定 – すべての動作は環境変数(デフォルトエンジン、プロキシ設定、CORS, Playwrightモードなど)によって制御されます。これにより、企業のファイアウォールへの適応や、ヘッドレスブラウザへのフォールバックの有効化/無効化が容易になります。
典型的なユースケース
- LLMエージェントが「最近の拡散モデルに関する論文を検索してください」といったユーザーのクエリを受け取ります。
- エージェントは、Open‑WebSearch MCPツール
search(またはCLI)をクエリと共に呼び出します。 - サービスは、URLとスニペットのリストを返します。
- エージェントは、最も有望な結果を選択し、
fetchWebContent(または特化型フェッチャー)を呼び出して全文を取得します。 - 取得したコンテンツは、要約や引用のために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 のセクションを参照してください。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト