Tavily MCP Server
Ein Model Context Protocol-Server, der KI-gestützte Websuchfunktionen mithilfe der Such-API von Tavily bereitstellt. Dieser Server ermöglicht LLMs, anspruchsvolle Websuchen durchzuführen, direkte Antworten auf Fragen zu erhalten und aktuelle Nachrichtenartikel mit KI-extrahierten relevanten Inhalten zu durchsuchen.
Merkmale
Verfügbare Tools
tavily_web_search– Führt umfassende Websuchen mit KI-gestützter Inhaltsextraktion durch.query(Zeichenfolge, erforderlich): Suchanfragemax_results(Ganzzahl, optional): Maximale Anzahl der zurückzugebenden Ergebnisse (Standard: 5, Max: 20)search_depth(Zeichenfolge, optional): Entweder „einfache“ oder „erweiterte“ Suchtiefe (Standard: „einfach“)include_domains(Liste oder Zeichenfolge, optional): Liste der Domänen, die speziell in die Ergebnisse einbezogen werden sollenexclude_domains(Liste oder Zeichenfolge, optional): Liste der Domänen, die von den Ergebnissen ausgeschlossen werden sollen
tavily_answer_search– Führt Websuchen durch und generiert direkte Antworten mit unterstützenden Beweisen.query(Zeichenfolge, erforderlich): Suchanfragemax_results(Ganzzahl, optional): Maximale Anzahl der zurückzugebenden Ergebnisse (Standard: 5, Max: 20)search_depth(Zeichenfolge, optional): Entweder „einfache“ oder „erweiterte“ Suchtiefe (Standard: „erweitert“)include_domains(Liste oder Zeichenfolge, optional): Liste der Domänen, die speziell in die Ergebnisse einbezogen werden sollenexclude_domains(Liste oder Zeichenfolge, optional): Liste der Domänen, die von den Ergebnissen ausgeschlossen werden sollen
tavily_news_search– Durchsucht aktuelle Nachrichtenartikel mit Veröffentlichungsdatum.query(Zeichenfolge, erforderlich): Suchanfragemax_results(Ganzzahl, optional): Maximale Anzahl der zurückzugebenden Ergebnisse (Standard: 5, Max: 20)days(Ganzzahl, optional): Anzahl der Tage zurück zur Suche (Standard: 3)include_domains(Liste oder Zeichenfolge, optional): Liste der Domänen, die speziell in die Ergebnisse einbezogen werden sollenexclude_domains(Liste oder Zeichenfolge, optional): Liste der Domänen, die von den Ergebnissen ausgeschlossen werden sollen
Eingabeaufforderungen
Der Server stellt außerdem Eingabeaufforderungsvorlagen für jeden Suchtyp bereit:
tavily_web_search – Durchsuchen Sie das Internet mit der KI-gestützten Suchmaschine von Tavily
tavily_answer_search – Durchsuchen Sie das Internet und erhalten Sie eine KI-generierte Antwort mit unterstützenden Beweisen
tavily_news_search – Durchsuchen Sie aktuelle Nachrichtenartikel mit der Nachrichtensuche von Tavily
Related MCP server: Tavily MCP Server
Voraussetzungen
Python 3.11 oder höher
Ein Tavily-API-Schlüssel (von der Tavily-Website erhältlich)
uvPython-Paketmanager (empfohlen)
Installation
Option 1: Verwenden von pip oder uv
# With pip
pip install mcp-tavily
# Or with uv (recommended)
uv add mcp-tavilySie sollten eine Ausgabe ähnlich der folgenden sehen:
Resolved packages: mcp-tavily, mcp, pydantic, python-dotenv, tavily-python [...]
Successfully installed mcp-tavily-0.1.4 mcp-1.0.0 [...]Option 2: Aus der Quelle
# 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.txtWährend der Installation sollten Sie sehen, wie das Paket mit seinen Abhängigkeiten erstellt und installiert wird.
Verwendung mit VS Code
Verwenden Sie für eine schnelle Installation eine der folgenden Ein-Klick-Installationsschaltflächen:
Für die manuelle Installation fügen Sie den folgenden JSON-Block zu Ihrer Benutzereinstellungsdatei (JSON) in VS Code hinzu. Drücken Sie dazu Ctrl + Shift + P und geben Sie Preferences: Open User Settings (JSON) ein.
Optional können Sie es einer Datei namens .vscode/mcp.json in Ihrem Arbeitsbereich hinzufügen. Dadurch können Sie die Konfiguration mit anderen teilen.
Beachten Sie, dass der
mcpSchlüssel in der Datei.vscode/mcp.jsonnicht benötigt wird.
{
"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}"
}
}
}
}
}Konfiguration
API-Schlüssel-Setup
Der Server benötigt einen Tavily-API-Schlüssel, der auf drei Arten bereitgestellt werden kann:
Über eine
.env-Datei in Ihrem Projektverzeichnis:TAVILY_API_KEY=your_api_key_hereAls Umgebungsvariable:
export TAVILY_API_KEY=your_api_key_hereAls Befehlszeilenargument:
python -m mcp_server_tavily --api-key=your_api_key_here
Konfigurieren für Claude.app
Fügen Sie zu Ihren Claude-Einstellungen hinzu:
"mcpServers": {
"tavily": {
"command": "python",
"args": ["-m", "mcp_server_tavily"]
},
"env": {
"TAVILY_API_KEY": "your_api_key_here"
}
}Bei Problemen müssen Sie möglicherweise den vollständigen Pfad zu Ihrem Python-Interpreter angeben. Führen Sie which python aus, um den genauen Pfad zu ermitteln.
Anwendungsbeispiele
Für eine normale Websuche:
Tell me about Anthropic's newly released MCP protocolSo erstellen Sie einen Bericht mit Domänenfilterung:
Tell me about redwood trees. Please use MLA format in markdown syntax and include the URLs in the citations. Exclude Wikipedia sources.So verwenden Sie den Antwortsuchmodus für direkte Antworten:
I want a concrete answer backed by current web sources: What is the average lifespan of redwood trees?Für die Nachrichtensuche:
Give me the top 10 AI-related news in the last 5 daysTesten
Das Projekt umfasst eine umfassende Testsuite. So führen Sie die Tests aus:
Installieren Sie Testabhängigkeiten:
source .venv/bin/activate # If using a virtual environment uv sync --dev # Or: pip install -r requirements-dev.txtFühren Sie die Tests aus:
./tests/run_tests.sh
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
======================================================= 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%Die Testsuite umfasst Tests für Datenmodelle, Dienstprogrammfunktionen, Integrationstests, Fehlerbehandlung und Parametervalidierung. Der Schwerpunkt liegt auf der Überprüfung der korrekten Funktion aller API-Funktionen, einschließlich der Handhabung von Domänenfiltern und verschiedenen Eingabeformaten.
Docker
Erstellen Sie das Docker-Image:
make docker-buildAlternativ können Sie direkt mit Docker erstellen:
docker build -t mcp_tavily .Führen Sie einen getrennten Docker-Container aus (Standardname mcp_tavily_container , Port 8000 → 8000):
make docker-runOder manuell:
docker run -d --name mcp_tavily_container \
-e TAVILY_API_KEY=your_api_key_here \
-p 8000:8000 mcp_tavilyAnhalten und Behälter entfernen:
make docker-stopFolgen Sie den Containerprotokollen:
make docker-logsSie können die Standardeinstellungen überschreiben, indem Sie Umgebungsvariablen festlegen:
DOCKER_IMAGE: Imagename (Standard:
mcp_tavily)DOCKER_CONTAINER: Containername (Standard:
mcp_tavily_container)HOST_PORT: Host-Port zum Binden (Standard
8000)CONTAINER_PORT: Container-Port (Standard
8000)
Debuggen
Sie können den MCP-Inspektor zum Debuggen des Servers verwenden:
# Using npx
npx @modelcontextprotocol/inspector python -m mcp_server_tavily
# For development
cd path/to/mcp-tavily
npx @modelcontextprotocol/inspector python -m mcp_server_tavilyBeitragen
Wir freuen uns über Beiträge zur Verbesserung von mcp-tavily! So können Sie helfen:
Forken Sie das Repository
Erstellen Sie einen Feature-Zweig (
git checkout -b feature/amazing-feature)Nehmen Sie Ihre Änderungen vor
Führen Sie Tests durch, um sicherzustellen, dass sie erfolgreich sind
Übernehmen Sie Ihre Änderungen (
git commit -m 'Add amazing feature')Pushen zum Zweig (
git push origin feature/amazing-feature)Öffnen einer Pull-Anfrage
Beispiele für andere MCP-Server und Implementierungsmuster finden Sie unter: https://github.com/modelcontextprotocol/servers
Lizenz
mcp-tavily ist unter der MIT-Lizenz lizenziert. Weitere Informationen finden Sie in der Datei LICENSE .