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エージェント向けライブウェブ検索(APIキー不要)

何ができるか

  • ローカルで実行可能な小さなNode‑JSサービス。MCP互換サーバー、CLIツール、または永続的なHTTPデーモンとして動作し、LLMベースのエージェントがライブウェブ検索と記事コンテンツの取得を可能にする。
  • 複数の公開検索エンジン(Bing、DuckDuckGo、Baidu、Brave、Exa、Startpage、Sogou、HackerNews、CSDN、Juejinなど)の結果を集約し、GitHub READMEやCSDN投稿、一般的なMarkdown/HTMLページの完全なテキストを取得可能。
  • 外部APIキーまたは認証は不要。制限されたサイトにアクセスする必要がある場合のみ、HTTPプロキシがオプションで必要。

主な機能

  • マルチエンジン検索 – デフォルトエンジンを選択するか、ユーザーが選択可能。ALLOWED_SEARCH_ENGINESで許可されるエンジンを制限可能。
  • 構造化出力 – 各結果にはタイトル、URL、説明が含まれ、LLMの利用に最適化されている。
  • コンテンツ取得 – CSDN、GitHub README、Juejin、一般的なウェブページ用の専用取得コマンドを提供。今後、他のブログも追加予定。
  • 3通りの実行方法
    1. MCPサーバー – Claude Desktop、Cherry Studio、Cursorなどに接続可能。
    2. CLI – open-websearch search "prompt" のようなワンオフコマンド。
    3. ローカルデーモン – 永続的なHTTPサービスで、GET /health、POST /search、POST /fetch‑* を公開。
  • プロキシサポート – インストール時(npm --proxy …)と実行時(USE_PROXY=true PROXY_URL=…)の設定が別々に可能。
  • オプションのPlaywright統合 – インストール済みの場合、単純なHTTPリクエストをブロックするサイト(例:Bingのボット防止ページやJavaScript重視のページ)に対して、ヘッドレスChromiumブラウザにフォールバック可能。モードは強制(SEARCH_MODE=request または playwright)または自動検出で選択可能。
  • 環境変数による高度な設定 – CORS処理からMCP用のカスタムツール名、永続的ブラウザプロファイルの保存場所まで、すべて環境変数でカスタマイズ可能。

一般的な使用例

シナリオ 推奨エントリポイント
スクリプトやターミナルからワンオフ検索 npx open-websearch@latest search "my query" --json
安定したエンドポイントが必要なエージェント(例:Claude Desktop) open-websearch serve(または npm run serve)を実行し、エージェントのMCP設定を http://localhost:3000/mcp に設定
他のプログラムからの繰り返し呼び出し デーモンを一度起動(open-websearch serve)し、POST /search またはMCPツール名(search、fetchWebContentなど)を使用
ファイアウォールの背後にある環境 デーモン起動前に USE_PROXY=true と PROXY_URL=http://127.0.0.1:7890 を設定

インストールと開始方法

# クイックスタート – ビルド不要
npx open-websearch@latest               # デフォルトモード(STDIO)を実行

# デーモンやMCPサーバーが必要な場合
npm install -g open-websearch          # グローバルインストール
npm run build                           # TypeScriptソースをコンパイル
open-websearch serve                    # HTTPデーモンを起動(デフォルトポート3000)
open-websearch status --json            # 動作確認

より良いページレンダリングのためのPlaywright追加(サイトによっては推奨):

npm install playwright               # PlaywrightとバンドルされたChromiumをインストール
npx playwright install chromium
SEARCH_MODE=auto npx open-websearch@latest   # デーモンが必要に応じてブラウザを使用するようになる

また、PLAYWRIGHT_CDP_ENDPOINTで既存のChrome/Chromiumインスタンス、またはPLAYWRIGHT_WS_ENDPOINTでリモートのPlaywrightサーバーに接続することも可能。

設定のハイライト

  • DEFAULT_SEARCH_ENGINE – デフォルトエンジンを選択(例:duckduckgo)。
  • ENABLE_CORS – デーモンがブラウザから呼び出される場合にtrueに設定。
  • MCP_TOOL_SEARCH_NAME – MCP公開のsearchツールの名前を変更または無効化。
  • PLAYWRIGHT_HEADLESS – デバッグ時にブラウザを表示したい場合はfalseに設定。
  • OPEN_WEBSEARCH_PROFILE_DIR – 永続的ブラウザプロファイルの保存場所。このフォルダを削除するとクッキー/キャッシュがクリアされる。

AIエージェントにとっての重要性

  • LLM(Claude、GPTなど)は通常、静的知識に限定されるが、Open‑WebSearchにより、ライブでキー不要なオープンインターネットへの橋渡しが可能になる。
  • MCPインターフェースにより、カスタムコードなしで既存のエージェントエコシステムに直接統合可能。
  • ローカルで完全に実行できるため、データはオンプレミスに保たれ、第三者APIのコストやレート制限を回避できる。

ロードマップ(READMEに記載)

  • Googleやその他の主流検索エンジンの追加。
  • サポートするブログ、フォーラム、ソーシャルプラットフォームの拡張。
  • 記事抽出品質の向上と、より多くのサイト固有の取得ツールの追加。

上記のすべての詳細はリポジトリのREADMEから直接取得;追加機能は推測されていない。

関連

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