🔍 My Tavily Search MCPエージェント
Tavily APIを活用した強力なモデルコンテキストプロトコル(MCP)サーバーを開発しました。これにより、ビジネス、ニュース、金融、政治など、高品質で信頼性の高い情報を、堅牢で開発者フレンドリーなインターフェースを通じて入手できるようになります。
🌟 Tavily Search MCPを構築した理由
今日のめまぐるしく変化するデジタル環境において、正確な情報に迅速にアクセスする必要があることに気づきました。そのため、シーケンシャルシンキングMCPサーバーと連携するウェブ検索ツールが必要でした。そこで、以下の優れた機能を備えたTavily Search MCPを開発しました。
⚡️ 超高速の非同期検索レスポンス
🛡️ 自動再試行機能を備えたフォールトトレランス機能を内蔵
🎯 クリーンなマークダウン形式の結果
🔍 スマートコンテンツスニペット
🛠️ 包括的なエラー処理
🖼️ オプションの画像結果
📰 専門ニュース検索
Related MCP server: MCP2Tavily
🚀 クイックスタート
Smithery経由でインストール
Smithery経由で Claude Desktop の Tavily Search を自動的にインストールするには:
npx -y @smithery/cli install mcp-tavily-search --client claude手動でインストールする
私のプロジェクトを数分で開始する方法は次のとおりです。
# 1. Create environment
uv venv && .venv\Scripts\activate # Windows
# OR
uv venv && source .venv/bin/activate # Unix/MacOS
# 2. Install dependencies
uv pip install -e .
# 3. Set up configuration
echo TAVILY_API_KEY=your-key-here > .env
# 4. Start server
cd mcp_tavily_search && uv run server.py💡 コア機能
⚡️ パフォーマンスと信頼性
非同期リクエスト処理を実装しました
組み込みのエラー処理と自動再試行
設定可能なリクエストタイムアウト
包括的なログシステム
🎯 検索設定
検索の深さを設定可能にしました(基本/詳細)
調整可能な結果制限(1~20件)
クリーンなマークダウン形式の出力
ソース URL 付きのスニペット プレビュー
オプションの画像結果
専門ニュース検索トピック
🛡️ エラー処理
API認証検証
レート制限検出
ネットワークエラー回復
リクエストタイムアウト管理
🛠️ 開発者統合
前提条件
Python 3.11以上
UV パッケージ マネージャー (インストール ガイド)
Tavily API キー (こちらから取得)
クロードデスクトップセットアップ
Claude デスクトップ エクスペリエンスを次の構成で最適化しました。
{
"mcpServers": {
"tavily-search": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-tavily-search/mcp_tavily_search",
"run",
"server.py"
],
"env": {
"TAVILY_API_KEY": "YOUR-API-KEY"
}
}
}
}📁 構成パス:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonUnix/MacOS:
~/.config/Claude/claude_desktop_config.json
プロジェクトアーキテクチャ
開発を簡単にするために、クリーンでモジュール化された構造を設計しました。
mcp-tavily-search/
├── mcp_tavily_search/ # Core package
│ ├── server.py # Server implementation
│ ├── client.py # Tavily API client
│ ├── test_server.py # Server tests
│ ├── test_client.py # Client tests
│ └── __init__.py # Package initialization
├── .env # Environment configuration
├── README.md # Documentation
└── pyproject.toml # Project configuration主要コンポーネント
サーバー (server.py)
MCPプロトコルを実装しました
リクエストの処理とルーティング
エラー回復とヘルスモニタリング
クライアント (client.py)
Tavily API統合
指数バックオフによる再試行メカニズム
結果のフォーマットと処理
エラー処理とログ記録
テスト (test_server.py と test_client.py)
サーバーとクライアントの両方に対する包括的なユニットテスト
実装の信頼性と正確性を保証する
使用例
私が実装した拡張検索機能の使用方法の例をいくつか示します。
基本検索:
{
"name": "search",
"arguments": {
"query": "Latest news on artificial intelligence"
}
}画像を使った高度な検索:
{
"name": "search",
"arguments": {
"query": "Elon Musk SpaceX achievements",
"search_depth": "advanced",
"include_images": true,
"max_results": 10
}
}ニュースに特化した検索:
{
"name": "search",
"arguments": {
"query": "Climate change impact on agriculture",
"topic": "news",
"max_results": 5
}
}生のコンテンツで検索:
{
"name": "search",
"arguments": {
"query": "Python programming best practices",
"include_raw_content": true,
"max_results": 3
}
}トラブルシューティングガイド
接続の問題
期待どおりに動作しない場合は、次の手順に従ってください。
設定パスを確認する
Claude Desktop のログを確認します。
# Windows type %APPDATA%\Claude\logs\latest.log # Unix/MacOS cat ~/.config/Claude/logs/latest.logクイックスタートコマンドを使用して手動でサーバーをテストする
API トラブルシューティング
API の問題が発生した場合:
APIキーの権限を検証する
ネットワーク接続を確認してください
サーバーログでAPI応答を監視する
テストの実行
このプロジェクトの単体テストを実行するには、次の手順に従います。
開発依存関係をインストールします。
uv pip install -e ".[dev]"pytest を使用してテストを実行します。
pytest mcp_tavily_search
これにより、 test_client.pyとtest_server.py両方を含む、 mcp_tavily_searchディレクトリ内のすべてのテストが実行されます。
コミュニティとサポート
GitHubで問題を報告し、貢献することをお勧めします
実装と改善を共有する
ディスカッションに参加して他の人を助けましょう
セキュリティとベストプラクティス
私の実装ではセキュリティが最優先事項です。サーバーには以下が含まれます。
環境変数による安全な API キー処理
自動リクエストタイムアウト管理
包括的なエラー追跡とログ記録
ライセンス
このプロジェクトはMITライセンスです。詳細はLICENSEファイルをご覧ください。
謝辞
特に感謝したいのは、次の方々です。
革新的なTavily APIチーム
MCPプロトコルコミュニティ