mcpField
T
tavily

tavily

github.com/mathews-tom生産性33890 回インストール今日更新
リポジトリ

tavily について

Tavily APIを使ったウェブ検索とURL本文抽出のスキルです。最新情報や技術ドキュメント、指定ページの本文が必要なワークフロー向けで、検索結果を構造化JSONで返し、ニュースの期間指定やディープ検索にも対応します。

主な機能

  1. 01クエリによるウェブ検索
  2. 02公開日によるニュースの絞り込み
  3. 03技術ドキュメントのディープ検索
  4. 04指定URLから本文を抽出
  5. 05構造化JSONで結果を返却

活用シーン

  1. 01トピックの最新情報を検索
  2. 02直近数日間のニュースを調査
  3. 03指定したウェブページの全文を取得
  4. 04ライブラリのドキュメントを詳しく調査

インストール

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

$npx skills add https://github.com/mathews-tom/armory --skill tavily

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
cases.yaml
scripts/
extract.mjs
search.mjs

詳細

Tavily Search

Tavily API を活用したウェブ検索と URL コンテンツの抽出機能です。AI が利用しやすい、クリーンで構造化された結果を返します。HTML のノイズ、Cookie バナー、ページネーションは含まれません。

Tavily と他のツールの使い分け

状況ツール理由
トピックに関する最新情報が必要search.mjsTavily はリアルタイムの結果を集約し、順位付けします
過去 N 日間のニュースが必要search.mjs --topic news --days Nニュースモードでは新しさに基づいて絞り込みます
特定の URL があり、全文が必要extract.mjsURL からクリーンな記事コンテンツを抽出します
ライブラリのドキュメントが必要search.mjs --deepディープモードではドキュメントサイトを徹底的に検索します
既知の静的リソースが必要直接取得または読み込みリアルタイム検索が不要なら Tavily を使わずに済ませます
競合する複数の視点が必要search.mjs -n 10結果数を増やして幅広く検索します

スクリプト

どちらのスクリプトも scripts/ にあり、環境に TAVILY_API_KEY が必要です。

  • scripts/search.mjs — クエリベースのウェブ検索
  • scripts/extract.mjs — URL からコンテンツ全体を抽出

検索

node {baseDir}/scripts/search.mjs "query"
node {baseDir}/scripts/search.mjs "query" -n 10
node {baseDir}/scripts/search.mjs "query" --deep
node {baseDir}/scripts/search.mjs "query" --topic news
node {baseDir}/scripts/search.mjs "query" --topic news --days 3
検索オプション
オプションデフォルト説明
-n <count>5返す結果の数(最大:20)。より広く検索するには増やしてください。
--deepオフ高度な検索モードです。時間はかかりますが、より包括的です。複雑な調査の質問、技術的な詳細調査、または標準の結果では不十分な場合に使用してください。
--topic <topic>general標準検索には general、新しさに基づいて絞り込んだ最新ニュースには news を指定します。
--days <n>—--topic news と併用する場合のみ有効です。過去 n 日以内に公開された記事に結果を限定します。

URL からコンテンツを抽出

node {baseDir}/scripts/extract.mjs "https://example.com/article"

URL がすでにわかっていて、ページのコンテンツ全体が必要な場合に使用します。Tavily はナビゲーション、広告、定型文を取り除き、構造化された記事テキストを返します。

出力形式

検索結果は JSON 配列で返されます。各結果には次の内容が含まれます。

[
  {
    "title": "Article or page title",
    "url": "https://source.com/path",
    "content": "Clean text snippet (AI-optimized excerpt)",
    "score": 0.92
  }
]

score は Tavily による関連度の順位付け(0~1)です。数値が高いほど関連性が高くなります。結果を解析する際は、要約に content、出典の提示に url を使用してください。content を記事全文として扱わないでください。全文が必要な場合は、URL に対して extract.mjs を使用してください。

抽出結果は単一のオブジェクトで返されます。

{
  "url": "https://source.com/path",
  "raw_content": "Full extracted page text..."
}

エラー処理

エラー原因解決方法
TAVILY_API_KEY not set環境変数が設定されていません実行前に TAVILY_API_KEY を設定します。キーは https://tavily.com で取得できます
401 UnauthorizedAPI キーが無効ですキーの値を確認します。必要に応じて Tavily ダッシュボードで再発行してください
429 Too Many Requestsレート制限に達しましたリクエスト頻度を下げます。無料プランでは月あたり1000 API クレジットを利用できます
結果配列が空 []一致する結果が見つかりませんクエリを広げるか言い換えます。ニッチなトピックでは --deep を試してください
ETIMEDOUT / タイムアウトネットワークまたは API の遅延1 回再試行します。--deep 検索は時間がかかります(最大 30s)
Extract が空のコンテンツを返すページがスクレイパーをブロックしています別のソースを使うか、手動で取得する方法に切り替えてください

制限事項

  • レート制限:無料プランでは月あたり1000 API クレジットを利用できます。検索 1 回につき 1 クレジットが必要です。--deep はさらに多くのクレジットを消費します。
  • コンテンツの鮮度:結果は Tavily のインデックスを反映しています。ごく最近のコンテンツ(直近数時間)は general モードで表示されない場合があります。鮮度が重要なクエリでは --topic news を使用してください。
  • 結果の品質:Tavily は AI が読み取りやすいコンテンツを優先しますが、事実の正確性を保証するものではありません。重要な主張は一次情報で確認してください。
  • ペイウォールのあるコンテンツ:ペイウォールの向こう側にある記事では、公開されている抜粋のみが返されます。
  • テキスト以外のコンテンツ:PDF、画像、メディアページは、うまく抽出できないか、まったく抽出できない場合があります。
  • 言語:英語のクエリで最良の結果が得られます。他の言語もサポートされていますが、結果の品質にはばらつきがあります。

コメント