Skip to main content
Glama
RamXX

Tavily MCP Server

Tavily MCP サーバー

Tavilyの検索APIを活用したAIベースのウェブ検索機能を提供するモデルコンテキストプロトコル(CMP)サーバー。このサーバーにより、LLMは高度なウェブ検索を実行し、質問への直接的な回答を得たり、AIによって抽出された関連コンテンツを含む最近のニュース記事を検索したりすることが可能になります。

特徴

利用可能なツール

  • tavily_web_search - AI を活用したコンテンツ抽出により包括的な Web 検索を実行します。

    • query (文字列、必須): 検索クエリ

    • max_results (整数、オプション): 返される結果の最大数 (デフォルト: 5、最大: 20)

    • search_depth (文字列、オプション): 「basic」または「advanced」の検索深度(デフォルト: 「basic」)

    • include_domains (リストまたは文字列、オプション): 結果に具体的に含めるドメインのリスト

    • exclude_domains (リストまたは文字列、オプション): 結果から除外するドメインのリスト

  • tavily_answer_search - Web 検索を実行し、裏付けとなる証拠とともに直接的な回答を生成します。

    • query (文字列、必須): 検索クエリ

    • max_results (整数、オプション): 返される結果の最大数 (デフォルト: 5、最大: 20)

    • search_depth (文字列、オプション): 「基本」または「詳細」の検索深度(デフォルト: 「詳細」)

    • include_domains (リストまたは文字列、オプション): 結果に具体的に含めるドメインのリスト

    • exclude_domains (リストまたは文字列、オプション): 結果から除外するドメインのリスト

  • tavily_news_search - 公開日で最近のニュース記事を検索します。

    • query (文字列、必須): 検索クエリ

    • max_results (整数、オプション): 返される結果の最大数 (デフォルト: 5、最大: 20)

    • days (整数、オプション):検索までの日数(デフォルト:3)

    • include_domains (リストまたは文字列、オプション): 結果に具体的に含めるドメインのリスト

    • exclude_domains (リストまたは文字列、オプション): 結果から除外するドメインのリスト

プロンプト

サーバーは、各検索タイプに対してプロンプト テンプレートも提供します。

  • tavily_web_search - TavilyのAI搭載検索エンジンを使用してウェブを検索します

  • tavily_answer_search - ウェブを検索し、裏付けとなる証拠とともに AI が生成した回答を取得します

  • tavily_news_search - Tavilyのニュース検索で最近のニュース記事を検索

Related MCP server: Tavily MCP Server

前提条件

  • Python 3.11以降

  • Tavily API キー ( Tavily の Web サイトから取得)

  • uv Python パッケージ マネージャー (推奨)

インストール

オプション1: pipまたはuvを使用する

# With pip
pip install mcp-tavily

# Or with uv (recommended)
uv add mcp-tavily

次のような出力が表示されます。

Resolved packages: mcp-tavily, mcp, pydantic, python-dotenv, tavily-python [...]
Successfully installed mcp-tavily-0.1.4 mcp-1.0.0 [...]

オプション2: ソースから

# Clone the repository
git clone https://github.com/RamXX/mcp-tavily.git
cd mcp-tavily

# Create a virtual environment (optional but recommended)
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies and build
uv sync  # Or: pip install -r requirements.txt
uv build  # Or: pip install -e .

# To install with test dependencies:
uv sync --dev  # Or: pip install -r requirements-dev.txt

インストール中に、パッケージがビルドされ、依存関係とともにインストールされるのを確認できます。

VS Codeでの使用

素早くインストールするには、以下のワンクリック インストール ボタンのいずれかを使用します。

VS CodeでUVを使ってインストールする VS Code Insiders で UV を使用してインストールする

手動でインストールする場合は、VS Code のユーザー設定 (JSON) ファイルに次の JSON ブロックを追加します。Ctrl Ctrl + Shift + Pを押してPreferences: Open User Settings (JSON)と入力すると、このブロックを追加できます。

オプションとして、ワークスペース内の.vscode/mcp.jsonというファイルに追加することもできます。これにより、他のユーザーと設定を共有できるようになります。

.vscode/mcp.jsonファイルではmcpキーは必要ないことに注意してください。

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "apiKey",
        "description": "Tavily API Key",
        "password": true
      }
    ],
    "servers": {
      "tavily": {
        "command": "uvx",
        "args": ["mcp-tavily"],
        "env": {
          "TAVILY_API_KEY": "${input:apiKey}"
        }
      }
    }
  }
}

構成

APIキーの設定

サーバーには Tavily API キーが必要です。これは次の 3 つの方法で提供できます。

  1. プロジェクト ディレクトリ内の.envファイルを通じて:

    TAVILY_API_KEY=your_api_key_here
  2. 環境変数として:

    export TAVILY_API_KEY=your_api_key_here
  3. コマンドライン引数として:

    python -m mcp_server_tavily --api-key=your_api_key_here

Claude.app 用に設定する

Claude 設定に追加:

"mcpServers": {
  "tavily": {
    "command": "python",
    "args": ["-m", "mcp_server_tavily"]
  },
  "env": {
    "TAVILY_API_KEY": "your_api_key_here"
  }
}

問題が発生した場合、Pythonインタープリターへのフルパスを指定する必要があるかもしれません。正確なパスを確認するには、 which pythonを実行してください。

使用例

通常のウェブ検索の場合:

Tell me about Anthropic's newly released MCP protocol

ドメイン フィルタリングを使用してレポートを生成するには:

Tell me about redwood trees. Please use MLA format in markdown syntax and include the URLs in the citations. Exclude Wikipedia sources.

直接回答を得るために回答検索モードを使用するには:

I want a concrete answer backed by current web sources: What is the average lifespan of redwood trees?

ニュース検索:

Give me the top 10 AI-related news in the last 5 days

テスト

このプロジェクトには包括的なテストスイートが含まれています。テストを実行するには、以下の手順に従ってください。

  1. テストの依存関係をインストールします。

    source .venv/bin/activate  # If using a virtual environment
    uv sync --dev  # Or: pip install -r requirements-dev.txt
  2. テストを実行します。

    ./tests/run_tests.sh

次のような出力が表示されます。

======================================================= test session starts ========================================================
platform darwin -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0
rootdir: /Users/ramirosalas/workspace/mcp-tavily
configfile: pyproject.toml
plugins: cov-6.0.0, asyncio-0.25.3, anyio-4.8.0, mock-3.14.0
asyncio: mode=Mode.STRICT, asyncio_default_fixture_loop_scope=function
collected 50 items                                                                                                                 

tests/test_docker.py ..                                                                                                      [  4%]
tests/test_integration.py .....                                                                                              [ 14%]
tests/test_models.py .................                                                                                       [ 48%]
tests/test_server_api.py .....................                                                                               [ 90%]
tests/test_utils.py .....                                                                                                    [100%]

---------- coverage: platform darwin, python 3.13.3-final-0 ----------
Name                                Stmts   Miss  Cover
-------------------------------------------------------
src/mcp_server_tavily/__init__.py      16      2    88%
src/mcp_server_tavily/__main__.py       2      2     0%
src/mcp_server_tavily/server.py       149     16    89%
-------------------------------------------------------
TOTAL                                 167     20    88%

テストスイートには、データモデル、ユーティリティ関数、統合テスト、エラー処理、パラメータ検証のテストが含まれています。ドメインフィルターや様々な入力形式の処理を含め、すべてのAPI機能が正しく動作することを確認することに重点を置いています。

ドッカー

Docker イメージをビルドします。

make docker-build

あるいは、Docker で直接ビルドします。

docker build -t mcp_tavily .

デタッチされた Docker コンテナを実行します (デフォルト名はmcp_tavily_container 、ポートは 8000 → 8000)。

make docker-run

または手動で:

docker run -d --name mcp_tavily_container \
  -e TAVILY_API_KEY=your_api_key_here \
  -p 8000:8000 mcp_tavily

コンテナを停止して削除します。

make docker-stop

コンテナのログを追跡します:

make docker-logs

環境変数を設定することでデフォルトを上書きできます。

  • DOCKER_IMAGE: イメージ名(デフォルトはmcp_tavily

  • DOCKER_CONTAINER: コンテナ名(デフォルトはmcp_tavily_container

  • HOST_PORT: バインドするホストポート(デフォルトは8000

  • CONTAINER_PORT: コンテナポート(デフォルト8000

デバッグ

MCP インスペクタを使用してサーバーをデバッグできます。

# Using npx
npx @modelcontextprotocol/inspector python -m mcp_server_tavily

# For development
cd path/to/mcp-tavily
npx @modelcontextprotocol/inspector python -m mcp_server_tavily

貢献

mcp-tavily の改善に向けた貢献を歓迎します。ご協力いただける方法は次のとおりです:

  1. リポジトリをフォークする

  2. 機能ブランチを作成する ( git checkout -b feature/amazing-feature )

  3. 変更を加える

  4. テストを実行して合格することを確認する

  5. 変更をコミットします( git commit -m 'Add amazing feature'

  6. ブランチにプッシュする ( git push origin feature/amazing-feature )

  7. プルリクエストを開く

他の MCP サーバーと実装パターンの例については、https: //github.com/modelcontextprotocol/serversを参照してください。

ライセンス

mcp-tavily は MIT ライセンスに基づきます。詳細はLICENSEファイルをご覧ください。

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/RamXX/mcp-tavily'

If you have feedback or need assistance with the MCP directory API, please join our Discord server