tavily_mcp_server_for_all_tools
Servidor MCP de Búsqueda Web de Tavily
Servicio MCP de búsqueda en línea desarrollado sobre el SDK oficial de Python de Tavily, implementado con el SDK estándar de MCP para Python, utilizando el protocolo de transporte Streamable HTTP, y expuesto mediante FastAPI + uvicorn.
Funcionalidades
El servicio ofrece 8 herramientas MCP que cubren las principales capacidades del SDK oficial de Tavily:
Nombre de la herramienta | Descripción | Interfaz subyacente de Tavily |
| Realiza una búsqueda en línea según las palabras clave de la consulta, devolviendo títulos, enlaces, resúmenes y puntuaciones de relevancia, con opción de generar una respuesta resumida |
|
| Extrae el contenido de una URL específica y devuelve el texto del cuerpo de la página (markdown / texto) |
|
| Recorre todo el sitio web desde la URL raíz, extrayendo el contenido de múltiples páginas de forma masiva, ideal para recopilar sistemáticamente el contenido de un sitio |
|
| Recorre la estructura del sitio web, solo descubre las URL de las páginas sin extraer el contenido, ideal para delimitar primero el alcance del sitio |
|
| Devuelve directamente una respuesta en formato de una sola frase para una pregunta concreta |
|
| Devuelve un contexto de búsqueda comprimido, listo para alimentar directamente flujos de LLM / RAG (con límite de tokens y truncamiento automáticos) |
|
| Envía una tarea de investigación profunda (Tavily realiza automáticamente múltiples rondas de búsqueda y genera un informe completo); la tarea se ejecuta de forma asíncrona y devuelve inmediatamente un |
|
| Consulta mediante sondeo el estado y el resultado final de la tarea de investigación profunda según el |
|
Las tareas de investigación correspondientes a
deep_research_start/deep_research_resultse ejecutan de forma asíncrona en el servidor de Tavily y pueden tardar varios minutos. Llame primero adeep_research_startpara obtener elrequest_idy luego usedeep_research_resultpara sondear hasta que elstatuscambie acompleted(ofailed).
Related MCP server: tavily-pool-mcp
Estructura de directorios
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
└── .gitignoreRequisitos del entorno
Python 3.12 (desarrollado localmente con el entorno conda
llm_factory_envs; en el servidor remoto se usallm_env)Clave API de Tavily (solicitarla en app.tavily.com)
Desarrollo y pruebas locales
1. Preparar las variables de entorno
cp .env.example .env
# 编辑 .env,填入 TAVILY_API_KEY;本地测试保持 MCP_HOST=127.0.0.12. Instalar dependencias (entorno conda llm_factory_envs)
conda activate llm_factory_envs
pip install -r requirements.txt3. Iniciar el servicio MCP
python -m app.main
# 服务启动后监听 http://127.0.0.1:20260/mcp
# 健康检查: curl http://127.0.0.1:20260/health4. Verificar con el cliente de pruebas
Abra otro terminal:
conda activate llm_factory_envs
python -m client.test_client --url http://127.0.0.1:20260/mcpEl cliente de pruebas realizará secuencialmente: conectar al servicio → listar las herramientas disponibles → invocar web_search / web_fetch / web_crawl / web_map / qna_search / search_context, e imprimirá los resultados.
Las tareas de investigación profunda requieren bastante tiempo (pueden tardar varios minutos) y no se prueban por defecto. Si desea verificar también deep_research_start / deep_research_result:
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 "近期国产大模型有哪些重要发布"Este modo envía la tarea y luego sondea deep_research_result cada 10 segundos hasta que el estado cambie a completed / failed.
Despliegue en el servidor remoto
Información del servidor remoto: 101.47.67.15, se despliega mediante SSH (con autenticación sin contraseña ya configurada), usando el entorno conda remoto llm_env; el puerto del servicio está fijado en 20260.
1. Configurar el .env remoto
En el .env local, cambie MCP_HOST a 0.0.0.0 (para escuchar en la red pública), mantenga MCP_PORT en 20260, y al ejecutar el script de despliegue se sincronizará automáticamente el .env mediante scp (si necesita usar una clave diferente en remoto y en local, puede mantener manualmente /opt/tavily-mcp-server/.env directamente en el servidor remoto).
2. Despliegue con un solo clic
bash deploy/deploy.shEste script:
Sincroniza los archivos del proyecto a
root@101.47.67.15:/opt/tavily-mcp-serverconrsync(excluyendo.git,__pycache__, etc.)Sincroniza el
.env(si existe localmente)Instala las dependencias en el entorno remoto
llm_envInstala/actualiza el servicio
systemdy lo reinicia
3. Cortafuegos del servidor / grupo de seguridad
Confirme que las reglas del grupo de seguridad de la consola del proveedor de la nube permiten el tráfico TCP en el puerto 20260 (deploy.sh no modifica automáticamente el grupo de seguridad de la nube; debe abrirlo manualmente en la consola del proveedor). Si el servidor tiene habilitado firewalld/ufw, también debe permitir ese puerto, por ejemplo:
# firewalld
ssh root@101.47.67.15 "firewall-cmd --permanent --add-port=20260/tcp && firewall-cmd --reload"4. Verificar el despliegue remoto
curl http://101.47.67.15:20260/health
python -m client.test_client --url http://101.47.67.15:20260/mcpComandos comunes de operación y mantenimiento
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"Configuración del cliente MCP
Una vez desplegado, puede conectar este servicio desde cualquier cliente MCP compatible con Streamable HTTP mediante la siguiente configuración JSON:
{
"mcpServers": {
"tavily-web-search": {
"type": "streamable_http",
"url": "http://101.47.67.15:20260/mcp"
}
}
}Para pruebas locales, sustituya url por http://127.0.0.1:20260/mcp.
Descripción de las variables de entorno
Nombre de la variable | Descripción | Valor por defecto |
| Clave API oficial de Tavily (obligatoria) | Sin valor |
| Dirección de escucha del servicio |
|
| Puerto de escucha del servicio |
|
| Nombre del servidor MCP |
|
| Ruta de montaje de Streamable HTTP |
|
| Modo HTTP sin estado |
|
| Forzar respuesta JSON (en lugar de flujo SSE) |
|
| Tiempo de espera (segundos) para las llamadas a las interfaces search/extract/qna/context/research de Tavily |
|
| Tiempo de espera (segundos) para las llamadas a las interfaces crawl/map de Tavily; el recorrido del sitio suele tardar más |
|
| Nivel de registro |
|
Notas de seguridad
El archivo
.envestá excluido en.gitignore; no lo suba nunca al repositorio de GitHub.No codifique ninguna clave en el código; toda la información sensible se inyecta mediante variables de entorno (carga dinámica con
python-dotenv).Antes de enviar el código, vuelva a comprobar con
git statusque no se incluyen.envni otros archivos con claves.
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