mcpField
W
web-search-brave

web-search-brave

github.com/jwynia生産性179312 回インストール35 週間前に更新
リポジトリ

web-search-brave について

web-search-braveは、Brave Search APIで最新のウェブ情報を検索するDenoベースのスキルです。期間、国、言語、安全検索、スニペット、ページ送り、JSON出力に対応し、Brave APIキーが必要です。

主な機能

  1. 01Braveのウェブ検索
  2. 02期間による結果の絞り込み
  3. 03国と言語の指定
  4. 04セーフサーチ設定
  5. 05スニペットまたはJSON出力

活用シーン

  1. 01最近のニュースや更新情報の確認
  2. 02地域を指定した検索結果の取得
  3. 03調査用の構造化結果の収集

インストール

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

$npx skills add https://github.com/jwynia/agent-skills --skill web-search-brave

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

同梱ファイルscripts/search.ts

詳細

Web Search(Brave Search API)

Brave の Search API を使用してウェブを検索します。説明、任意の追加スニペット、国/言語を指定した検索に対応するウェブ検索結果を返します。

注: このスキルを使用するには、Brave Search API キーが必要です。エージェントに組み込まれた機能を使って基本的なウェブ検索を行う場合は、web-search を参照してください。関連度スコア付きの AI 最適化検索結果については、web-search-tavily を参照してください。

このスキルを使用する場合

次の場合にこのスキルを使用します:

  • 学習データに含まれていない最新情報を見つける必要がある
  • ユーザーが最近の出来事、ニュース、更新情報について尋ねている
  • 特定の国や言語を対象としたローカライズ済みの検索結果が必要である
  • プライバシーに配慮した検索手段を利用したい
  • 調査にリアルタイムのウェブデータが必要である
  • キーワードとして、検索、調べる、オンラインで探す、現在、最新、ニュースが挙げられている

次の場合はこのスキルを使用しないでください:

  • 情報がすでにナレッジベースにあり、確認する必要がない
  • ユーザーが変化しない歴史的事実について尋ねている
  • ローカルファイルやコードを扱っている(他のツールを使用してください)
  • タスクにより適した専用スキルがある(例:ドキュメントの検索)
  • AI が生成した回答の要約が必要である(代わりに web-search-tavily を使用してください)

前提条件

このスキルを使用する前に、以下を確認してください:

  • BRAVE_API_KEY 環境変数に有効な API キーが設定されている
  • 検索スクリプトを実行するための Deno がインストールされている
  • インターネットアクセスが利用できる

Brave Search API キーはこちらから取得してください:https://brave.com/search/api/

クイックスタート

簡単な検索を実行します:

deno run --allow-env --allow-net=api.search.brave.com scripts/search.ts "your search query"

鮮度フィルターを指定した例:

deno run --allow-env --allow-net=api.search.brave.com scripts/search.ts "React 19 new features" --freshness pw

スクリプトの使い方

deno run --allow-env --allow-net=api.search.brave.com scripts/search.ts [options] "query"
オプション
オプション説明デフォルト
--results <n>返す検索結果の数(最大 20 件)5
--freshness <range>時間フィルター:pd、pw、pm、または pyなし
--country <code>ローカライズ済みの検索結果に使用する国コード(例:US、GB、DE)なし
--lang <code>検索言語(例:en、fr、de)なし
--safesearch <level>セーフサーチ:off、moderate、または strictmoderate
--extra-snippetsコンテンツの追加スニペットを含めるfalse
--offset <n>ページネーションのオフセット0
--jsonJSON 形式で出力する(プログラムからの利用向け)false
--helpヘルプメッセージを表示する-

検索パラメーター

鮮度の値

検索結果を新しさで絞り込みます:

  • pd:過去 1 日(直近 24 時間)
  • pw:過去 1 週間(直近 7 日間)
  • pm:過去 1 か月(直近 30 日間)
  • py:過去 1 年(直近 365 日間)
国コード

ローカライズ済みの検索結果を取得するには、標準の 2 文字の国コードを使用します:

  • US(アメリカ合衆国)、GB(イギリス)、DE(ドイツ)、FR(フランス)、JP(日本)など
セーフサーチのレベル
  • off:フィルタリングなし
  • moderate(デフォルト):露骨なコンテンツをフィルタリング
  • strict:最も厳格なフィルタリング

出力形式

人間が読みやすい形式の出力(デフォルト)
Search: "React 19 new features"

Found 5 results in 189ms

1. React 19 Release Notes
   https://react.dev/blog/2024/04/25/react-19
   React 19 is now available on npm! This release includes...
   Age: 2 months ago

2. What's New in React 19
   https://example.com/react-19-features
   A comprehensive overview of React 19's new features...
JSON 出力(--json)
{
  "query": "React 19 new features",
  "results": [
    {
      "title": "React 19 Release Notes",
      "url": "https://react.dev/blog/2024/04/25/react-19",
      "description": "React 19 is now available on npm...",
      "age": "2 months ago",
      "language": "en",
      "family_friendly": true
    }
  ],
  "response_time": 189,
  "total_results": 1250000
}
検索結果のフィールド
フィールド型説明
titlestringページタイトル
urlstringソース URL
descriptionstringページから抽出された関連箇所
extra_snippetsstring[]コンテンツの追加スニペット(--extra-snippets を指定した場合のみ)
agestring検索結果がいつのものか(例:「2 hours ago」)
languagestring検索結果の言語
family_friendlyboolean検索結果がファミリー向けかどうか

例

例 1:最近の出来事を検索する

シナリオ:テクノロジー関連のトピックについて最近のニュースを探す

scripts/search.ts "OpenAI GPT-5 announcement" --freshness pw --results 10

期待される出力:過去 1 週間の GPT-5 に関する最近のウェブ検索結果

例 2:ドキュメントを検索する

シナリオ:特定の技術ドキュメントを探す

scripts/search.ts "Deno deploy edge functions tutorial" --results 10 --extra-snippets

期待される出力:ドキュメントサイトやチュートリアルサイトからの追加スニペットを含む、包括的な検索結果

例 3:ローカライズされた検索

シナリオ:特定の国と言語を対象にした検索結果を探す

scripts/search.ts "aktuelle Nachrichten" --country DE --lang de --freshness pd

期待される出力:過去 1 日のドイツ国内のドイツ語の検索結果

例 4:JSON 出力でのフィルター付き検索

シナリオ:厳格なセーフサーチで構造化された結果を取得します

scripts/search.ts "machine learning tutorials" --safesearch strict --extra-snippets --json

期待される出力:追加のスニペットを含み、安全なコンテンツに絞り込まれた JSON の結果

よくある問題と解決策

問題:「BRAVE_API_KEY environment variable is not set」

症状:API キーエラーが発生し、スクリプトがすぐに終了します

解決策:

  1. https://brave.com/search/api/ から API キーを取得します
  2. 環境変数を設定します:
    export BRAVE_API_KEY="your-api-key-here"
    
  3. または、変数をインラインで指定して実行します:
    BRAVE_API_KEY="your-key" deno run --allow-env --allow-net=api.search.brave.com scripts/search.ts "query"
    
問題:「Invalid Brave Search API key」

症状:401 認証エラーが発生します

解決策:

  1. API キーが正しいことを確認します(余分な空白がないこと)
  2. API キーの有効期限が切れていないか確認します
  3. Brave Search API のサブスクリプションが有効であることを確認します
問題:「Brave Search API rate limit exceeded」

症状:429 エラーレスポンスが返されます

解決策:

  1. 少し待ってから再試行します
  2. リクエストの頻度を減らします
  3. 上限を増やすには、Brave Search API プランのアップグレードをご検討ください
問題:結果が返されない

症状:結果の配列が空です

解決策:

  1. より広範な検索語を試します
  2. 制限が厳しすぎる可能性のある国または言語のフィルターを削除します
  3. 鮮度フィルターを削除するか、範囲を広げます
  4. トピックがオンラインに存在するか確認します

制限事項

このスキルには、次の制限事項があります:

  • インターネットへの接続が必要です
  • API のレート制限は、Brave Search API プランに応じて適用されます
  • 結果は Brave のインデックスの網羅範囲に依存します
  • 有料コンテンツやログインが必要なコンテンツにはアクセスできません
  • AI が生成した回答の要約機能は組み込まれていません(その場合は web-search-tavily を使用してください)
  • 1 リクエストあたり最大 20 件の結果です
  • 追加のスニペットには有料 API プランが必要です

関連スキル

  • web-search:エージェントに組み込まれた機能を使った基本的なウェブ検索
  • web-search-tavily:関連度スコアと回答の要約を備えた、AI に最適化された検索
  • research-workflow:計画と統合を行いながら複数の検索を利用する、包括的な調査プロジェクト向け

コメント