5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code に、より安定した高機能なウェブ検索機能を追加する(Tavily MCP)

5
Last updated at Posted at 2026-01-09

はじめに

Claude Code には内蔵の WebSearch ツールがあり非常に便利ですが、より安定した高機能なウェブ検索を実現するには、MCP(Model Context Protocol)サーバーを追加することをおすすめします。
そこで、本記事では、最も手軽な方法である Tavily MCP の導入手順を解説します。

Claude Code 内蔵 WebSearch vs Tavily MCP

項目 Tavily MCP Claude Code 内蔵 WebSearch
安定性 ✅ 独立 API で安定 ⚠️ 利用不可の場合もあり
検索エンジン Tavily AI 検索エンジン Claude の標準検索
結果数 最大 20 件指定可能 固定(約 10 件)
追加機能 extract, crawl, map 検索のみ
フィルタリング ドメイン指定、日付範囲、トピック ドメイン指定のみ
コンテンツ取得 生コンテンツ取得オプション サマリーのみ
地域指定 国別ブースト可能 IP から自動推定
API 制限 無料: 月 1,000 リクエスト Claude 利用制限に含まれる

以上の様な理由により、安定性と機能性から Tavily MCP の使用をおすすめします。

内蔵 WebSearch の問題点(利用不可になるケース)

Claude Code の内蔵 WebSearch は、以下の状況で利用不可(unavailable エラー)になることがあります:

1. レート制限

エラーコード 説明
too_many_requests API レート制限を超過
max_uses_exceeded リクエストあたりの最大検索回数を超過

短時間に多くの検索を実行すると、レート制限に達することがあります。

2. 使用量制限

  • WebSearch の使用は 日次の利用制限 にカウントされます
  • 無料プランでは特に制限が厳しくなります
  • 利用制限に達すると、リセットまで待つ必要があります

3. 内部エラー・接続問題

エラーコード 説明
unavailable 内部エラーが発生
invalid_input 無効な検索クエリ
query_too_long クエリが最大長を超過

接続状況によって検索の可用性が変わる場合があります。

4. サンドボックス・ネットワーク制限

Claude Code のサンドボックス設定やネットワーク制限により、外部ドメインへのアクセスがブロックされる場合があります。

なぜ Tavily MCP が推奨されるのか

問題 内蔵 WebSearch Tavily MCP
レート制限 Claude の制限に依存 ✅ 独立した API 制限
可用性 不安定な場合あり ✅ 安定した独立サービス
追加機能 検索のみ ✅ extract, crawl, map

結論: 安定した検索機能や追加機能が必要な場合は、Tavily MCP の導入をおすすめします。

Tavily MCPとは

Tavilyは、LLM向けに最適化されたWeb検索APIを提供するサービスです。Tavily MCPを使うことで、Claude Codeから直接Web検索や情報抽出が可能になります。

主な機能

  • tavily-search: Web検索(ニュース、一般検索、期間指定など)
  • tavily-extract: 指定URLからコンテンツを抽出
  • tavily-crawl: サイト内クロール(リンク追跡してコンテンツ収集)
  • tavily-map: サイト構造のマッピング

1つのAPIキーで4ツールすべて利用可能
Tavilyの設定は1回行えば完了です。APIキーを設定するだけで、上記4つのツールすべてが自動的に利用可能になります。ツールごとに個別の設定は不要です。

4つのツールの使い分け

Tavily MCPには4つのツールがありますが、目的に応じて使い分けることで効率的に情報収集できます。

ツール選択の判断フロー

情報を探したい
    │
    ├─ 何を調べるか不明 → tavily-search(一般検索)
    │
    ├─ 特定のURLがある
    │      │
    │      ├─ 1ページの内容だけ → tavily-extract
    │      │
    │      ├─ サイト内の複数ページ → tavily-crawl
    │      │
    │      └─ サイト構造を把握したい → tavily-map
    │
    └─ キーワードで探す → tavily-search

各ツールの使いどころ

ツール 最適な用途
tavily-search キーワードで情報を探す 「SystemVerilog 最新仕様」「Python 3.12 新機能」
tavily-extract 既知のURLから内容を取得 ドキュメントページ、ブログ記事の要約
tavily-crawl サイト内の関連ページを網羅 公式ドキュメントの特定セクション全体
tavily-map サイト構造の把握 大規模ドキュメントサイトの全体像確認

ツールの指定方法

Claude はプロンプトの内容から適切なツールを自動選択しますが、明示的に指定することも可能です。

1. 明示的に指定する(確実)

ツール名を直接指定すると、確実にそのツールが使われます:

tavily-search で「RISC-V 最新仕様」を検索して
tavily-extract で https://docs.python.org/3/whatsnew/3.12.html の内容を取得して
tavily-crawl で https://docs.rust-lang.org/book/ をクロールして、所有権に関するページを収集して
tavily-map で https://pytorch.org/docs/stable/ のサイト構造を調べて

2. 意図を伝えて選ばせる(柔軟)

明示的に指定しなくても、意図を伝えれば Claude が適切なツールを選択します:

プロンプト例 選択されるツール
「〜について調べて」「〜を検索して」 tavily-search
「このURLの内容を読んで」「〜のページを要約して」 tavily-extract
「このサイトの〜に関するページを全部集めて」 tavily-crawl
「このサイトにどんなページがあるか調べて」 tavily-map

3. 使い分けのヒント

tavily-search を使うべき場面

  • 何を調べればよいかわからないとき
  • 最新情報やニュースを探すとき
  • 複数のソースから情報を集めたいとき

tavily-extract を使うべき場面

  • URLがすでにわかっているとき
  • 特定ページの詳細な内容が必要なとき
  • ページの生コンテンツを取得したいとき

tavily-crawl を使うべき場面

  • 公式ドキュメントの特定トピックを網羅したいとき
  • サイト内の関連ページをまとめて取得したいとき
  • 深い調査が必要なとき

tavily-map を使うべき場面

  • 大規模サイトの構造を把握したいとき
  • どのページを読むべきか判断したいとき
  • サイトのナビゲーション構造を理解したいとき

ツール組み合わせの例

複数のツールを組み合わせることで、より効果的な調査が可能です:

1. まず tavily-search で「PyTorch 分散学習 公式ドキュメント」を検索
2. 見つかったURLに対して tavily-map でサイト構造を確認
3. 必要なセクションを tavily-crawl で網羅的に取得

または:

1. tavily-map で https://docs.example.com/ の構造を把握
2. 必要なページを特定してから tavily-extract で個別に内容を取得

セットアップ手順

1. Tavily APIキーの取得

  1. tavily.com にアクセス
  2. アカウントを作成(GoogleアカウントやGitHubアカウントでサインアップ可能)
  3. ダッシュボードからAPIキーをコピー

無料枠について

  • 月1,000 API credits が無料
  • クレジットカード登録不要

2. Claude CodeにMCPサーバーを追加

ターミナルで以下のコマンドを実行します:

claude mcp add tavily -e TAVILY_API_KEY=tvly-xxxxxxxx -- npx -y tavily-mcp@latest

tvly-xxxxxxxx の部分を、取得した実際のAPIキーに置き換えてください。

claude mcp add--scope local|user|project を指定できます。
project を選ぶとプロジェクト直下の .mcp.json に保存されます。
デフォルトはローカル(~/.claude.json のプロジェクト設定)に保存されます。

設定は ~/.claude.json に以下のように保存されます:

{
  "projects": {
    "/path/to/your/project": {
      "mcpServers": {
        "tavily": {
          "type": "stdio",
          "command": "npx",
          "args": ["-y", "tavily-mcp@latest"],
          "env": {
            "TAVILY_API_KEY": "tvly-xxxxxxxx"
          }
        }
      }
    }
  }
}

3. 動作確認

Claude Codeを再起動し、以下のように質問してみましょう:

最新のSystemVerilog関連のニュースを検索して

Tavilyが正しく設定されていれば、Web検索結果を元に回答が返ってきます。

使用例

技術調査

SUNDIALS 7.xの最新リリース情報を調べて

ニュース検索

過去7日間のAI半導体関連ニュースを検索して

特定サイトからの情報抽出

https://example.com のページ内容を抽出して要約して

Tavily を優先的に使用する設定

Claude Code には内蔵の WebSearch ツールがありますが、Tavily を優先的に使用したい場合は以下の方法があります。

方法 1: プロンプトで直接指示

検索時に明示的に Tavily を指定します:

Tavily を使って SystemVerilog の最新ニュースを検索して

または:

tavily-search で〜を調べて

方法 2: CLAUDE.md に設定(推奨)

プロジェクトの CLAUDE.md またはグローバルの ~/.claude/CLAUDE.md に以下を追加:

# Web検索の設定
- Web検索には内蔵 WebSearch ではなく、Tavily MCP (tavily-search, tavily-extract, tavily-crawl, tavily-map) を使用すること

グローバル設定の場合(すべてのプロジェクトに適用):

echo -e "\n# Web検索の設定\n- Web検索には Tavily MCP を優先して使用すること" >> ~/.claude/CLAUDE.md

方法 3: 内蔵 WebSearch を無効化(確実)

~/.claude/settings.json に permissions 設定を追加して、内蔵 WebSearch を完全に無効化できます:

{
  "permissions": {
    "deny": ["WebSearch"]
  }
}

既存の設定ファイルがある場合は、permissions セクションを追加してください:

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "permissions": {
    "deny": ["WebSearch"]
  },
  "その他の既存設定": "..."
}

設定ファイルの場所

  • ユーザー全体: ~/.claude/settings.json
  • プロジェクト共有: .claude/settings.json(Git にコミット可能)
  • 個人用プロジェクト: .claude/settings.local.json(Git 除外推奨)

方法の比較

方法 説明 確実性 適用範囲
プロンプトで指示 「Tavily で検索して」 △ 毎回指示が必要 その場限り
CLAUDE.md に記載 優先使用の指示を追加 ○ 自動的に考慮される プロジェクト/グローバル
WebSearch を deny settings.json で無効化 ◎ 完全にブロック プロジェクト/グローバル

推奨: 確実に Tavily のみを使用したい場合は 方法 3、柔軟性を残したい場合は 方法 2 をお勧めします。

各ツールの詳細パラメータ

tavily-search

パラメータ 説明 デフォルト
query 検索クエリ(必須) -
max_results 最大結果数 10
search_depth 検索深度: basic, advanced, fast, ultra-fast basic
topic トピック: general, news general
include_raw_content 生コンテンツを含める false
include_images 画像を含める false
days 日数(news トピック時) 3
include_domains 含めるドメイン []
exclude_domains 除外するドメイン []
country 国別ブースト(小文字英語) ""

tavily-extract

パラメータ 説明 デフォルト
urls URL のリスト(必須) -
extract_depth 抽出深度: basic, advanced basic
include_images 画像を含める false

tavily-crawl

パラメータ 説明 デフォルト
url 開始 URL(必須) -
max_depth 最大クロール深度 1
max_breadth 各ページから辿るリンク数 20
limit 処理する最大リンク数 50
instructions クロール指示(自然言語) -

tavily-map

パラメータ 説明 デフォルト
url 開始 URL(必須) -
max_depth 最大マッピング深度 1
max_breadth 各ページから辿るリンク数 20
limit 処理する最大リンク数 50

他の選択肢

Tavily以外にも、リサーチ機能を追加する方法があります:

mcp-omnisearch

複数の検索エンジンを統合したMCPサーバーです。

{
  "mcpServers": {
    "mcp-omnisearch": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-omnisearch"],
      "env": {
        "TAVILY_API_KEY": "",
        "BRAVE_API_KEY": "",
        "PERPLEXITY_API_KEY": ""
      }
    }
  }
}

利用したいサービスのAPIキーだけ設定すればOKです。

これらはコミュニティ提供のMCPサーバーです。導入前にソース確認を推奨します。

Claude-Deep-Research

学術的なリサーチに特化したMCPサーバーで、DuckDuckGoとSemantic Scholarを統合しています。APA形式の引用も自動生成されます。

こちらもコミュニティ提供のサーバーです。利用は自己責任で。

セキュリティ上の懸念事項

Tavily MCPを導入する前に、以下のセキュリティリスクを理解しておく必要があります。

1. APIキーの管理

# この設定はローカルの設定ファイルに平文で保存される
claude mcp add tavily -e TAVILY_API_KEY=tvly-xxxxxxxx -- npx -y tavily-mcp@latest

リスク

  • APIキーが ~/.claude/settings.json / .claude/settings.json / .claude/settings.local.json に平文で保存される
  • MCP を project scope で追加した場合、.mcp.json に設定が書き込まれる
  • Gitリポジトリに誤ってコミットしてしまう可能性がある
  • 他のユーザーやプロセスから読み取られる可能性がある

対策

  • .gitignore に設定ファイルを追加する
  • 環境変数経由でAPIキーを渡す場合は、.env ファイルも .gitignore に含める
  • 定期的にAPIキーをローテーションする
  • Tavilyダッシュボードで使用量を監視する

2. 検索クエリの外部送信

Tavily MCPを使用すると、検索クエリがTavilyのサーバーに送信されます。

注意が必要なケース

  • プロジェクト名や内部コードネームを含む検索
  • 未公開の技術情報に関する検索
  • 顧客情報や機密データを含むクエリ

例:避けるべき検索クエリ

# NG: 社内プロジェクト名が外部に送信される
「ProjectX の暗号化アルゴリズムの脆弱性について調べて」

# OK: 一般的な技術用語のみ
「AES-256 の既知の脆弱性について調べて」

対策

  • 機密情報を含まない一般的な技術用語で検索する
  • 社内プロジェクト固有の情報は検索クエリに含めない
  • 企業のセキュリティポリシーを確認する

3. 取得コンテンツの信頼性

Web検索結果は必ずしも正確とは限りません。

リスク

  • 古い情報や誤った情報が含まれる可能性
  • SEO対策された低品質なコンテンツが上位に来る場合がある
  • 悪意のあるコードサンプルが含まれる可能性

対策

  • 重要な技術情報は公式ドキュメントで裏取りする
  • コードサンプルは内容を理解してから使用する
  • 複数のソースで情報を確認する

4. サードパーティMCPサーバーのリスク

Tavily MCPは npx 経由でnpmパッケージとして実行されます。

考慮すべき点

  • npmパッケージはサプライチェーン攻撃のリスクがある
  • パッケージの更新により意図しない動作変更が起こる可能性
  • @latest 指定は常に最新版を取得するため、破壊的変更の影響を受ける

対策

# バージョンを固定する(推奨)
claude mcp add --transport stdio tavily-mcp \
  --env TAVILY_API_KEY=tvly-xxxxxxxx \
  -- npx -y mcp-remote@<version> "https://mcp.tavily.com/mcp?api_key=${TAVILY_API_KEY}"
  • 信頼できるパッケージのみを使用する(GitHubスター数、メンテナンス状況を確認)
  • バージョンを固定して、意図しない更新を防ぐ
  • 可能であればソースコードをレビューする

5. 企業環境での利用

企業でClaude Codeを使用する場合、追加の考慮が必要です。

確認項目 内容
情報セキュリティポリシー 外部APIへのデータ送信が許可されているか
データ分類 検索に使用する情報の機密レベル
監査要件 API使用ログの保持が必要か
ネットワーク制限 外部APIへのアクセスが許可されているか

対策

  • IT部門やセキュリティチームに事前確認する
  • 個人の開発マシンでのみ使用し、CI/CD環境では無効化する
  • 必要に応じてプロキシ経由でアクセスする

セキュリティチェックリスト

導入前に以下を確認してください:

  • APIキーが .gitignore 対象のファイルに保存されている
  • 機密情報を含む検索クエリを送信しないルールを理解している
  • 企業のセキュリティポリシーを確認した(企業利用の場合)
  • パッケージのバージョンを固定した
  • Tavilyダッシュボードで使用量モニタリングを設定した

補足:Claude Agent SDK

Anthropicは Claude Agent SDK を公式に提供しており、
コーディング用途だけでなく、汎用的なエージェント構築用途を想定しています。

  • ビジネス支援エージェント
  • リサーチ支援エージェント
  • ワークフロー自動化エージェント

つまり、Claude Codeの基盤(エージェントハーネス)は汎用的なエージェント構築に適しており、リサーチ用途も公式に想定されています。

まとめ

項目 内容
ビルトイン機能 WebSearch あり(ただし利用不可の場合あり)
推奨方法 Tavily MCP
無料枠 月1,000 API credits
設定の手軽さ コマンド1行
利用可能ツール search, extract, crawl, map

Claude Codeでの開発作業中に技術情報を調べたい場面は多いと思います。Tavily MCPを追加しておけば、ターミナルを離れることなく安定したWeb検索ができるようになり、開発効率が向上します。

内蔵の WebSearch が利用不可になった場合でも、Tavily があれば安心です。月1,000 API credits の無料枠があれば、日常的な技術調査には十分かもしれません。ぜひ試してみてください。

参考リンク

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?