Tavily MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Required runtime environment for the server, supporting the execution of JavaScript code needed for the MCP server functionality.

  • Package manager used for installing dependencies and running scripts for the MCP server.

  • Used for development of the MCP server, providing type safety and modern JavaScript features.

Tavily MCP サーバー

Tavily APIを用いたAIベースの検索機能を提供するモデルコンテキストプロトコル(MCP)サーバー。このサーバーにより、AIアシスタントは包括的なウェブ検索を実行し、関連性の高い最新情報を取得できます。

特徴

  • AIを活用した検索機能
  • 基本および高度な検索深度のサポート
  • タイトル、URL、コンテンツスニペットを含む豊富な検索結果
  • AIが生成した検索結果の要約
  • 結果のスコアリングと応答時間の追跡
  • キャッシュ機能を備えた包括的な検索履歴の保存
  • 柔軟なデータアクセスのためのMCPリソース

前提条件

  • Node.js (v16 以上)
  • npm (ノード パッケージ マネージャー)
  • Tavily API キー ( Tavily の Web サイトで取得)
  • MCP クライアント (例: Cline、Claude Desktop、または独自の実装)

インストール

  1. リポジトリをクローンします。
git clone https://github.com/it-beard/tavily-server.git cd tavily-mcp-server
  1. 依存関係をインストールします:
npm install
  1. プロジェクトをビルドします。
npm run build

構成

このサーバーはどのMCPクライアントでも使用できます。以下に、一般的なクライアントの設定手順を示します。

傾斜構成

Cline (Claude の VSCode 拡張機能) を使用している場合は、次の場所で MCP 設定ファイルを作成または変更します。

  • macOS: ~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • Windows: %APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
  • Linux: ~/.config/Cursor/User/globalStorage/saoudrizwan.claude-dev\settings\cline_mcp_settings.json

次の構成を追加します (パスと API キーを独自のものに置き換えます)。

{ "mcpServers": { "tavily": { "command": "node", "args": ["/path/to/tavily-server/build/index.js"], "env": { "TAVILY_API_KEY": "your-api-key-here" } } } }

クロードデスクトップ構成

Claude デスクトップ アプリを使用している場合は、次の場所にある構成ファイルを変更します。

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

上記と同じ構成形式を使用します。

その他のMCPクライアント

その他のMCPクライアントについては、正しい設定ファイルの場所と形式については、それぞれのドキュメントを参照してください。サーバー設定には以下を含める必要があります。

  1. サーバーを実行するコマンド(通常はnode
  2. コンパイルされたサーバーファイルへのパス
  3. Tavily APIキーを含む環境変数

使用法

ツール

サーバーは、次のパラメータを持つsearchという名前の単一のツールを提供します。

必須パラメータ

  • query (文字列): 実行する検索クエリ

オプションパラメータ

  • search_depth (文字列): 「basic」(高速)または「advanced」(より包括的)のいずれか

使用例

// Example using the MCP SDK const result = await mcpClient.callTool("tavily", "search", { query: "latest developments in artificial intelligence", search_depth: "basic" });

リソース

サーバーは、柔軟なデータ アクセスのために静的リソースと動的リソースの両方を提供します。

静的リソース

  • tavily://last-search/result : 最新の検索クエリの結果を返します
    • データディレクトリ内のディスクに保存されます
    • サーバーの再起動後も存続
    • 検索が行われていない場合は、「まだ検索は実行されていません」というエラーを返します。

動的リソース(リソーステンプレート)

  • tavily://search/{query} : 任意のクエリの検索結果にアクセスします
    • {query} を URL エンコードされた検索語に置き換えます
    • 例: tavily://search/artificial intelligence
    • 以前にクエリが実行された場合はキャッシュされた結果を返します
    • クエリが以前に検索されていない場合は、新しい検索を実行して保存します。
    • 検索ツールと同じ形式を返しますが、リソースインターフェースを介して返します。

MCP のリソースは、ツールに比べてデータにアクセスするための代替手段を提供します。

  • ツールは操作を実行するためのものです(新しい検索を実行するなど)
  • リソースはデータにアクセスするためのものです(既存の検索結果の取得など)
  • リソースURIを保存して後でアクセスすることができます
  • リソースは静的(固定)と動的(テンプレート)の両方のアクセスパターンをサポートします

応答フォーマット

interface SearchResponse { query: string; answer: string; results: Array<{ title: string; url: string; content: string; score: number; }>; response_time: number; }

永続ストレージ

サーバーは検索結果用の包括的な永続ストレージを実装します。

保管場所

  • データはdataディレクトリに保存されます
  • data/searches.jsonには過去の検索結果がすべて含まれています
  • データはサーバーの再起動後も保持されます
  • ストレージはサーバーの起動時に自動的に初期化されます

ストレージ機能

  • 完全な検索履歴を保存する
  • すべての検索結果をキャッシュしてすぐに検索できるようにします
  • 新しい検索結果の自動保存
  • ディスクベースの永続性
  • デバッグしやすいJSON形式
  • ストレージ操作のエラー処理
  • 自動ディレクトリ作成

キャッシュ動作

  • すべての検索結果は自動的にキャッシュされます
  • 同じクエリに対する後続のリクエストはキャッシュされた結果を返します
  • キャッシュにより応答時間が改善され、API呼び出しが削減されます
  • キャッシュはサーバーの再起動後も保持されます
  • 最後の検索が追跡され、すぐにアクセスできます

発達

プロジェクト構造

tavily-server/ ├── src/ │ └── index.ts # Main server implementation ├── data/ # Persistent storage directory │ └── searches.json # Search history and cache storage ├── build/ # Compiled JavaScript files ├── package.json # Project dependencies and scripts └── tsconfig.json # TypeScript configuration

利用可能なスクリプト

  • npm run build : TypeScriptをコンパイルし、出力を実行可能にする
  • npm run start : MCP サーバーを起動します (ビルド後)
  • npm run dev : 開発モードでサーバーを実行する

エラー処理

サーバーは、一般的な問題に関する詳細なエラー メッセージを提供します。

  • 無効なAPIキー
  • ネットワークエラー
  • 無効な検索パラメータ
  • APIレート制限
  • リソースが見つかりません
  • 無効なリソースURI
  • ストレージの読み取り/書き込みエラー

貢献

  1. リポジトリをフォークする
  2. 機能ブランチを作成します( git checkout -b feature/amazing-feature
  3. 変更をコミットします ( git commit -m 'Add some amazing feature' )
  4. ブランチにプッシュする ( git push origin feature/amazing-feature )
  5. プルリクエストを開く

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

謝辞

-
security - not tested
A
license - permissive license
-
quality - not tested

AI アシスタントが Tavily API を通じて最新の Web 検索を実行できるようにし、AI が生成した要約を含む包括的な検索結果を提供します。

  1. Features
    1. Prerequisites
      1. Installation
        1. Configuration
          1. Cline Configuration
          2. Claude Desktop Configuration
          3. Other MCP Clients
        2. Usage
          1. Tools
          2. Resources
          3. Persistent Storage
        3. Development
          1. Project Structure
          2. Available Scripts
        4. Error Handling
          1. Contributing
            1. License
              1. Acknowledgments
                ID: fzs8u6odo2