mcpField
W
web-search

web-search

github.com/ysm-dev生産性271 回インストール25 週間前に更新
リポジトリ

web-search について

LLM エージェント向けのウェブ検索スキルです。`duckduckgo-cli` で簡潔な DuckDuckGo の結果を取得し、期間、地域、サイト、件数を指定できます。

主な機能

  1. 01`ddg` による DuckDuckGo 検索
  2. 02テキストまたは JSON 出力
  3. 03期間と地域の指定
  4. 04サイトと件数の設定
  5. 05検索結果のページ送り

活用シーン

  1. 01最近のニュースや更新の確認
  2. 02事実に関する主張の検証
  3. 03ドキュメントや参考資料の検索
  4. 04複数のクエリによるトピック調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ysm-dev/skills --skill web-search

インストール後、Claude Code で/web-searchを入力して読み込まれたか確認します。

詳細

Web Search

このスキルでは、DuckDuckGo の検索結果をプレーンテキストまたは JSON で返すコマンドライン検索ツール duckduckgo-cli を使用します。LLM エージェント向けに構築されており、プレーンテキスト出力は簡潔(結果ごとにタイトル、URL、スニペット)で、フラグを使って期間、地域、サイト、件数を指定できます。

どんなときに使うか

  • 「最新」「今日」「現在」や、知識のカットオフ以降または同年の情報について質問されたとき
  • 主張の裏付けを確認する必要があるとき
  • ドキュメント、参考資料、外部の情報が必要なとき
  • 検索、調査、情報の確認を依頼されたとき
  • 事実に関する質問に答える際、知識が最新かどうか確信が持てないとき

会話が始まった後は、明示的な許可は必要ありません。そのまま検索してください。

コマンド

CLI は ddg(duckduckgo-cli の短縮エイリアス)として呼び出します。

ddg rust async tutorial             # plain text, default 10 results
ddg -n 5 "best Rust web framework 2026"
ddg --json -n 5 "topic"              # JSON envelope, for parsing
echo "tokio runtime overhead" | ddg  # query via stdin

通常はプレーンテキストが最適です。簡潔で、URL やスニペットをそのまま引用できます。

知っておくと便利なフラグ

-n <N> — 結果の件数(1〜100、既定値は10)。簡単な検索には3〜5件、幅広い調査には10〜20件を使います。結果を増やすとトークンを消費しますが、検索結果の下位は役に立たないことがほとんどです。

-t <d|w|m|y> — 過去の日/週/月/年に絞り込みます。「最新」や「最近」の情報を探すときに重要です。指定しないと、古い情報が新しい情報より上位に表示され、古い情報を引用してしまうことがあります。

-w <DOMAIN> — サイトのフィルターを指定します。繰り返し指定できます。公式ドキュメント(-w docs.python.org)、信頼できる情報源、またはスパムを避ける場合に使います。

-r <CODE> — 地域を指定します(例:us-en、kr-ko、jp-jp、de-de)。クエリの言語に合わせてください。ddg --list-regions を実行すると、すべての地域を確認できます。

--json — コンパクトな JSON 形式で出力します。結果の件数を数えたり、スクリプトで URL を抽出したりするなど、プログラムで解析する場合にのみ使ってください。通常の閲覧や引用には、プレーンテキストの方が適しています。

--page <N> — 1ページ目に必要な情報がなかった場合に、ページを切り替えます。

使用例

すばやく事実を調べる
ddg -n 3 "current ceo of openai"

合意された見解を把握するには、3件の結果で十分です。

最新ニュース/最近の更新情報
ddg -n 5 -t w "anthropic claude release"

このフィルターを使うことで、検索順位の高い古い記事ではなく、役立つ情報が得られます。

ドキュメント
ddg -n 5 -w docs.python.org "asyncio gather exception"
特定の主張のファクトチェック
ddg -n 5 "the exact phrasing of the claim"

スニペットを注意深く読んでください。情報源によって見解が異なる場合は、どれか一つを選んで事実として提示せず、その違いをユーザーに伝えてください。

幅広い調査

一つの大きなクエリを実行するより、テーマを絞ったクエリを複数実行してください。異なる切り口で -n 10 のクエリを3回実行する方が、-n 30 を1回実行するより効果的です。

出力の読み方

各結果には、順位、タイトル、URL、短いスニペットが含まれます。通常、スニペットを見れば、WebFetch でページ全体を取得する必要があるか判断できます。ユーザーに引用を示す際は、内容を確認できるよう URL を含めてください。スニペットしか確認していない場合は、ページ全体を読んだかのように示さず、「検索結果のスニペットによると……」と伝えてください。

注意点

  • レート制限:--json モードでは、レスポンスに meta.rate_limit.tokens_remaining が含まれます。値が0になったら、短時間にクエリを連続実行せず、間隔を空けてください。
  • すぐに答えが表示されないのは正常です — ほとんどのクエリは番号付きの結果一覧を返します。
  • 地域は言語に合わせてください — 韓国語のクエリに -r us-en を指定すると、結果の精度が下がります。-r kr-ko を使ってください。
  • 出力を切り詰めるために head へパイプしないでください — 代わりに -n を使ってください。そうしないと、スニペットの途中で結果が切れることがあります。
  • バイナリがインストールされていない場合は、npm i -g duckduckgo-cli または cargo install duckduckgo-cli でインストールしてください。

コメント