tavily_mcp_server_for_all_tools
Tavily Web Search MCP Server
Ein MCP-Dienst für Websuche, entwickelt auf Basis des offiziellen Tavily Python SDK, implementiert mit dem standardmäßigen MCP Python SDK, unter Verwendung des Streamable HTTP-Übertragungsprotokolls, bereitgestellt über FastAPI + uvicorn.
Funktionen
Der Dienst bietet 8 MCP-Tools, die die Hauptfunktionen des offiziellen Tavily SDK abdecken:
Toolname | Beschreibung | Zugrunde liegende Tavily-Schnittstelle |
| Führt eine Websuche basierend auf dem Suchbegriff durch, gibt Titel, Links, Zusammenfassungen, Relevanzwerte zurück und kann optional eine zusammenfassende Antwort generieren. |
|
| Ruft die Webseite einer bestimmten URL ab und gibt deren Textinhalt (Markdown/Text) zurück. |
|
| Durchläuft die gesamte Website ausgehend von der Root-URL, ruft mehrere Seiteninhalte in großen Mengen ab, geeignet für die systematische Sammlung von Inhalten einer Website. |
|
| Durchläuft die Website-Struktur, entdeckt nur Seiten-URLs ohne Inhalte, geeignet, um zuerst den Umfang der Website zu erfassen. |
|
| Gibt für eine konkrete Frage direkt eine einzeilige Antwort zurück. |
|
| Gibt komprimierten Suchkontext zurück, der direkt an LLM-/RAG-Prozesse gefüttert werden kann (automatische Token-Limits und Kürzung). |
|
| Reicht eine Deep-Research-Aufgabe ein (Tavily führt automatisch mehrere Suchrunden durch und generiert einen umfassenden Bericht). Die Aufgabe wird asynchron ausgeführt und gibt sofort |
|
| Fragt den Status und das Endergebnis der Deep-Research-Aufgabe anhand der |
|
Die Forschungsaufgaben, die
deep_research_start/deep_research_resultentsprechen, werden asynchron auf dem Tavily-Server ausgeführt und können mehrere Minuten dauern. Rufen Sie zuerstdeep_research_startauf, um dierequest_idzu erhalten, und verwenden Sie danndeep_research_result, um abzufragen, bis derstatuscompleted(oderfailed) ist.
Related MCP server: tavily-pool-mcp
Verzeichnisstruktur
tavily-mcp-server/
├── app/
│ ├── config.py # 环境变量配置加载(.env)
│ ├── tavily_tools.py # TavilyToolkit:封装 web_search / web_fetch
│ ├── server.py # FastMCP 实例与工具注册
│ └── main.py # FastAPI 应用 + uvicorn 入口,挂载 Streamable HTTP
├── client/
│ └── test_client.py # 本地测试客户端(连接 MCP 服务并调用工具)
├── deploy/
│ ├── deploy.sh # 一键同步 + 部署到远程服务器
│ └── tavily-mcp.service # systemd 服务单元
├── requirements.txt
├── .env.example
└── .gitignoreUmgebungsanforderungen
Python 3.12 (lokal über die Conda-Umgebung
llm_factory_envsentwickelt, auf dem Remote-Server wirdllm_envverwendet)Tavily API Key (unter app.tavily.com beantragen)
Lokale Entwicklung und Tests
1. Umgebungsvariablen vorbereiten
cp .env.example .env
# 编辑 .env,填入 TAVILY_API_KEY;本地测试保持 MCP_HOST=127.0.0.12. Abhängigkeiten installieren (Conda-Umgebung llm_factory_envs)
conda activate llm_factory_envs
pip install -r requirements.txt3. MCP-Dienst starten
python -m app.main
# 服务启动后监听 http://127.0.0.1:20260/mcp
# 健康检查: curl http://127.0.0.1:20260/health4. Mit Testclient verifizieren
Öffnen Sie ein weiteres Terminal:
conda activate llm_factory_envs
python -m client.test_client --url http://127.0.0.1:20260/mcpDer Testclient führt nacheinander aus: Verbindung zum Dienst herstellen → verfügbare Tools auflisten → web_search / web_fetch / web_crawl / web_map / qna_search / search_context aufrufen und die Ergebnisse ausgeben.
Deep-Research-Aufgaben dauern länger (möglicherweise mehrere Minuten) und werden standardmäßig nicht getestet. Um auch deep_research_start / deep_research_result zu verifizieren:
python -m client.test_client --url http://127.0.0.1:20260/mcp --deep-research
# 也可自定义研究任务描述:
python -m client.test_client --url http://127.0.0.1:20260/mcp --deep-research "近期国产大模型有哪些重要发布"In diesem Modus wird nach dem Einreichen der Aufgabe alle 10 Sekunden deep_research_result abgefragt, bis der Status completed / failed ist.
Bereitstellung auf dem Remote-Server
Remote-Server-Informationen: 101.47.67.15, Bereitstellung über SSH (passwortloses Login bereits konfiguriert), Verwendung der Remote-Conda-Umgebung llm_env, Dienstport fest auf 20260.
1. Remote-.env konfigurieren
In der lokalen .env MCP_HOST auf 0.0.0.0 ändern (für öffentliche Netzwerke), MCP_PORT auf 20260 belassen. Das Bereitstellungsskript synchronisiert die .env automatisch per scp (falls remote und lokal unterschiedliche Keys verwendet werden sollen, kann /opt/tavily-mcp-server/.env direkt auf dem Remote-Server manuell gepflegt werden).
2. Ein-Klick-Bereitstellung
bash deploy/deploy.shDas Skript führt Folgendes aus:
rsyncder Projektdateien nachroot@101.47.67.15:/opt/tavily-mcp-server(unter Ausschluss von.git,__pycache__usw.)Synchronisierung der
.env(falls lokal vorhanden)Installation der Abhängigkeiten in der Remote-Umgebung
llm_envInstallation/Aktualisierung des
systemd-Dienstes und Neustart
3. Server-Firewall / Sicherheitsgruppe
Bitte stellen Sie sicher, dass die Sicherheitsgruppenregeln in der Cloud-Konsole den TCP-Port 20260 freigeben (deploy.sh ändert die Cloud-Sicherheitsgruppe nicht automatisch; dies muss manuell in der Konsole des Anbieters erfolgen). Falls auf dem Server firewalld/ufw aktiviert ist, muss der Port ebenfalls freigegeben werden, z. B.:
# firewalld
ssh root@101.47.67.15 "firewall-cmd --permanent --add-port=20260/tcp && firewall-cmd --reload"4. Remote-Bereitstellung verifizieren
curl http://101.47.67.15:20260/health
python -m client.test_client --url http://101.47.67.15:20260/mcpHäufige Betriebsbefehle
ssh root@101.47.67.15 "systemctl status tavily-mcp.service --no-pager"
ssh root@101.47.67.15 "journalctl -u tavily-mcp.service -f"
ssh root@101.47.67.15 "systemctl restart tavily-mcp.service"MCP-Client-Konfiguration
Nach der Bereitstellung kann der Dienst in jedem MCP-Client, der Streamable HTTP unterstützt, über die folgende JSON-Konfiguration eingebunden werden:
{
"mcpServers": {
"tavily-web-search": {
"type": "streamable_http",
"url": "http://101.47.67.15:20260/mcp"
}
}
}Für lokale Tests ersetzen Sie url durch http://127.0.0.1:20260/mcp.
Erläuterung der Umgebungsvariablen
Variablenname | Beschreibung | Standardwert |
| Offizieller Tavily API Key (erforderlich) | Keiner |
| Adresse, auf der der Dienst lauscht |
|
| Port, auf dem der Dienst lauscht |
|
| Name des MCP-Servers |
|
| Mount-Pfad für Streamable HTTP |
|
| Ob der zustandslose HTTP-Modus verwendet wird |
|
| Ob JSON-Antworten erzwungen werden (statt SSE-Stream) |
|
| Timeout (Sekunden) für Aufrufe von Tavily search/extract/qna/context/research usw. |
|
| Timeout (Sekunden) für Aufrufe von Tavily crawl/map, da Site-Traversierung länger dauert |
|
| Protokollierungsstufe |
|
Sicherheitshinweise
Die
.env-Datei ist in.gitignoreausgeschlossen; niemals in ein GitHub-Repository committen.Keine Schlüssel im Code hartkodieren; alle sensiblen Informationen werden über Umgebungsvariablen injiziert (dynamisch geladen mit
python-dotenv).Vor dem Committen von Code erneut prüfen, dass
git statuskeine.envoder andere Dateien mit Schlüsseln enthält.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables web search capabilities through the Tavily API and serves as a demonstration platform for building custom MCP tools. Designed for educational purposes to showcase MCP server development and LangGraph integration.6
- AlicenseBqualityDmaintenanceA local MCP server that exposes Tavily search as a tool and rotates across multiple API keys for reliability.1MIT
- AlicenseAqualityCmaintenanceMCP server for web page fetching (converting to Markdown/text with automatic fallback between Tavily and Firecrawl) and web search via Tavily.2MIT
- AlicenseBqualityDmaintenanceMCP server providing search, extract, map, and crawl tools powered by Tavily for real-time web data access.414MIT
Related MCP Connectors
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/La0bALanG/tavily_mcp_server_for_all_tools'
If you have feedback or need assistance with the MCP directory API, please join our Discord server