MCPサーバ - Tavily
概要
Tavily MCP Server (tavily-ai/tavily-mcp) は、Model Context Protocol (MCP) を通じてAIアシスタントにTavilyのWeb検索・データ抽出機能を統合するための標準化されたツールインターフェースを提供するサーバである。
Tavily社により開発・維持されており、MITライセンスの下で公開されている。
Claude Desktop、Claude Code、VS Code、Cursor等、複数のMCPクライアント環境で動作する。
リモートMCPサーバとローカルNPX実行の両方式に対応しており、リモートMCPサーバを使用する場合はNode.jsのインストールが不要である。
このサーバを使用することにより、AIアシスタントがリアルタイムのWeb検索、URLからのコンテンツ抽出、Webサイトのクロール・マッピングを自然言語による指示で実行できるようになる。
主な特徴は以下の通りである。
- MCP標準に準拠したWeb検索・データ抽出インターフェース
- AI駆動のリアルタイム検索・コンテンツ抽出・クローリング・マッピングの4つのコアツールを提供
- Claude Desktop、Claude Code、VS Code、Cursor等の主要なMCPクライアントをサポート
- リモートMCPサーバ方式によるNode.js不要での利用に対応
- MIT Licenseの下でオープンソースとして公開
Tavily MCP Serverの機能
Tavily MCP Serverは、Web検索・コンテンツ抽出・クローリング・マッピングの4つのコアツールを提供する。
tavily-search
AI駆動のリアルタイムWeb検索ツールである。
指定したクエリに対してWeb検索を実行し、検索結果を返す。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| query | string | はい | 検索クエリ文字列 |
| max_results | number | いいえ | 返される検索結果の最大数 (デフォルト: 5) |
| search_depth | string | いいえ | 検索の深さ basic または advanced (デフォルト: basic) |
| topic | string | いいえ | 検索トピック general または news (デフォルト: general) |
| time_range | string | いいえ | 検索する時間範囲 day, week, month, year から選択 |
| include_answer | boolean | いいえ | 検索結果にAI生成の回答を含める。 (デフォルト: false) |
| include_images | boolean | いいえ | 検索結果に画像を含める。 (デフォルト: false) |
| raw_content | boolean | いいえ | 未加工のHTMLコンテンツを含める。 (デフォルト: false) |
tavily-extract
指定したURLからコンテンツを抽出するツールである。
複数のURLを一度に指定することができる。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| urls | string[] | はい | コンテンツを抽出するURLのリスト |
| raw_content | boolean | いいえ | 未加工のHTMLコンテンツを含める。 (デフォルト: false) |
tavily-crawl
指定したURLを起点にWebサイトをクロールする構造化クローラーツールである。
クロールの深度と幅を制御するパラメータを指定できる。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | クロールを開始するURL |
| max_depth | number | いいえ | クロールの最大深度 (デフォルト: 2) |
| max_breadth | number | いいえ | クロールの最大幅 : 同階層で取得する最大ページ数 (デフォルト: 20) |
tavily-map
指定したWebサイトの全体構造をマッピングするツールである。
サイトのURL構造を一覧化して取得する。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | マッピングするWebサイトのURL |
APIキーの取得
Tavily MCP Serverの使用にはTavily APIキーが必要である。
以下の手順でAPIキーを取得する。
- https://app.tavily.com https://app.tavily.com にアクセスする
- アカウントを作成する。(Googleアカウント または GitHubアカウントでのサインアップも可)
- ダッシュボードからAPIキーを取得する。
無料プランでは、月間1,000 APIクレジットが利用できる。
動作要件
共通の要件
OS問わず共通して必要な要件を以下に示す。
- Tavily APIキー
- Tavily MCP Serverの全機能を利用するために必要
- Node.js v18以上 (ローカルNPX実行の場合のみ)
npxコマンドを使用してTavily MCP Serverを実行するために必要- リモートMCPサーバを使用する場合は不要
- npmパッケージマネージャ (ローカルNPX実行の場合のみ)
- Node.jsに付属するパッケージマネージャ
インストール
リモートMCPサーバ (推奨)
リモートMCPサーバ方式はNode.jsのインストールが不要で、全プラットフォームに対応しているため推奨の方式である。
以下のURLをMCPクライアントの設定ファイルに指定する。
- https://mcp.tavily.com/mcp/?tavilyApiKey=<TavilyのAPIキー>
Claude Desktopの設定ファイルに以下の内容を追記する。
{
"mcpServers": {
"tavily": {
"url": "https://mcp.tavily.com/mcp/?tavilyApiKey=<TavilyのAPIキー>"
}
}
}
ローカルNPXでの実行
Node.js v18以上がインストールされている環境では、npx コマンドを使用してTavily MCP Serverをローカルで実行できる。
Claude Desktopの設定ファイルに以下の内容を追記する。
{
"mcpServers": {
"tavily": {
"command": "npx",
"args": ["-y", "tavily-mcp@latest"],
"env": {
"TAVILY_API_KEY": "<TavilyのAPIキー>"
}
}
}
}
ソースからのインストール
GitHubリポジトリからソースコードを取得してインストールする場合は、以下のコマンドを実行する。
git clone https://github.com/tavily-ai/tavily-mcp.git cd tavily-mcp npm install npm run build
設定
設定ファイルの場所
各MCPクライアントの設定ファイルの場所は以下の通りである。
Claude Desktopの設定ファイルを以下に示す。
- Linux
- ~/.config/Claude/claude_desktop_config.json
- MacOS
- ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows
- %APPDATA%\Claude\claude_desktop_config.json
Claude Desktopでの設定
Claude Desktopの設定ファイルに以下の内容を追記する。
- リモートMCPサーバを使用する場合は、以下の内容を追記する。
{ "mcpServers": { "tavily": { "url": "https://mcp.tavily.com/mcp/?tavilyApiKey=<TavilyのAPIキー>" } } }
- ローカルNPXを使用する場合は、以下の内容を追記する。
{ "mcpServers": { "tavily": { "command": "npx", "args": ["-y", "tavily-mcp@latest"], "env": { "TAVILY_API_KEY": "<TavilyのAPIキー>" } } } }
設定ファイルを保存した後、Claude Desktopを再起動して設定を反映する。
Claude Codeでの設定
Claude Codeでは、claude mcp add コマンドを使用してMCPサーバを追加できる。
リモートMCPサーバを使用する場合は、以下のコマンドを実行する。
claude mcp add --transport sse tavily https://mcp.tavily.com/sse/?tavilyApiKey=<TavilyのAPIキー>
ローカルNPXを使用する場合は、以下のコマンドを実行する。
claude mcp add tavily -- npx -y tavily-mcp@latest
ローカルNPXを使用する場合は、環境変数 TAVILY_API_KEY を設定する必要がある。
export TAVILY_API_KEY="<TavilyのAPIキー>"
VS Codeでの設定
VS Codeの settings.jsonファイル に以下の内容を追記する。
{
"mcp": {
"servers": {
"tavily": {
"url": "https://mcp.tavily.com/mcp/?tavilyApiKey=<TavilyのAPIキー>"
}
}
}
}
Cursorでの設定
Cursorの mcp.jsonファイル に以下の内容を追記する。
{
"mcpServers": {
"tavily": {
"url": "https://mcp.tavily.com/mcp/?tavilyApiKey=<TavilyのAPIキー>"
}
}
}
環境変数の設定
下表に、Tavily MCP Serverの動作に関わる環境変数を示す。
| 環境変数 | 説明 | 必須 |
|---|---|---|
TAVILY_API_KEY |
Tavily API認証キー | はい |
DEFAULT_PARAMETERS |
デフォルトパラメータ (JSON形式) | いいえ |
OS別の環境変数設定コマンドを以下に示す。
- Linux / MacOS
export TAVILY_API_KEY="<TavilyのAPIキー>"
- Windows (PowerShell)
$env:TAVILY_API_KEY = "<TavilyのAPIキー>"
- Windows (コマンドプロンプト)
set TAVILY_API_KEY=<TavilyのAPIキー>
使用方法
Tavily MCP Serverの各ツールは、AIアシスタントが自然言語の指示を受けて自動的に呼び出す。
Web検索の例
Web検索に関する操作例を以下に示す。
- 最新情報を検索する場合
# プロンプト例 : 最新のAI技術トレンドについて検索してください。
- 特定期間のニュースを検索する場合
# プロンプト例 : 今週のオープンソースAIに関するニュースを検索してください。
コンテンツ抽出の例
URLからのコンテンツ抽出に関する操作例を以下に示す。
- 指定URLからコンテンツを抽出する場合
# プロンプト例 : 以下のURLからコンテンツを抽出してください: https://example.com/article
Webクローリングの例
Webサイトのクローリングに関する操作例を以下に示す。
- ドキュメントサイトの情報を収集する場合
# プロンプト例 : https://docs.example.com のドキュメントサイトをクロールして、主要な情報を収集してください。
Webサイトマッピングの例
Webサイト構造のマッピングに関する操作例を以下に示す。
- サイト全体の構造を把握する場合
# プロンプト例 : https://example.com のサイト構造をマッピングしてください。
トラブルシューティング
共通の問題
OS問わず発生する可能性がある問題と対処法を以下に示す。
| 問題 | 対処法 |
|---|---|
npx コマンドが動作しない |
Node.js v18以上がインストールされているか確認する。npm cache clean --force を実行してキャッシュをクリアする。
|
NVMを使用している場合に npx が見つからない |
NVMで管理されているNode実行ファイルへの完全なパスを設定ファイルに指定する。 |
| サーバへの接続エラーが発生する | ネットワーク接続を確認する。 ファイアウォール設定でTavily APIへのアクセスが許可されているか確認する。 |
| タイムアウトエラーが発生する | tavily-crawlの max_depth および max_breadth の値を小さくする。 |
APIキーに関する問題
APIキーの設定・認証に関する問題と対処法を以下に示す。
| 問題 | 対処法 |
|---|---|
| 認証エラー (401 Unauthorized) が発生する | APIキーが正しいか確認する。 https://app.tavily.com のダッシュボードでAPIキーを再生成する。 |
| APIクレジットが不足している | 現在のクレジット残高をダッシュボードで確認する。 プランのアップグレードを検討する。 |
| 環境変数が認識されない | TAVILY_API_KEY が正しく設定されているか確認する。MCPクライアントを再起動する。 ~/.profileファイル等に環境変数の設定を追加する。 |
関連リソース