Tavily MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Required runtime environment for the server, supporting the execution of JavaScript code needed for the MCP server functionality.

  • Package manager used for installing dependencies and running scripts for the MCP server.

  • Used for development of the MCP server, providing type safety and modern JavaScript features.

Servidor MCP de Tavily

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona funciones de búsqueda basadas en IA mediante la API de Tavily. Este servidor permite a los asistentes de IA realizar búsquedas web exhaustivas y recuperar información relevante y actualizada.

Características

  • Funcionalidad de búsqueda impulsada por IA
  • Soporte para profundidades de búsqueda básicas y avanzadas
  • Resultados de búsqueda enriquecidos que incluyen títulos, URL y fragmentos de contenido
  • Resúmenes de resultados de búsqueda generados por IA
  • Puntuación de resultados y seguimiento del tiempo de respuesta
  • Almacenamiento completo del historial de búsqueda con almacenamiento en caché
  • Recursos de MCP para un acceso flexible a los datos

Prerrequisitos

  • Node.js (v16 o superior)
  • npm (Administrador de paquetes de Node)
  • Clave API de Tavily (Obtenga una en el sitio web de Tavily )
  • Un cliente MCP (por ejemplo, Cline, Claude Desktop o su propia implementación)

Instalación

  1. Clonar el repositorio:
git clone https://github.com/it-beard/tavily-server.git cd tavily-mcp-server
  1. Instalar dependencias:
npm install
  1. Construir el proyecto:
npm run build

Configuración

Este servidor se puede usar con cualquier cliente MCP. A continuación, se muestran las instrucciones de configuración para los clientes más comunes:

Configuración de Cline

Si está utilizando Cline (la extensión VSCode para Claude), cree o modifique el archivo de configuración MCP en:

  • macOS: ~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • Windows: %APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
  • Linux: ~/.config/Cursor/User/globalStorage/saoudrizwan.claude-dev\settings\cline_mcp_settings.json

Agregue la siguiente configuración (reemplace las rutas y la clave API con las suyas):

{ "mcpServers": { "tavily": { "command": "node", "args": ["/path/to/tavily-server/build/index.js"], "env": { "TAVILY_API_KEY": "your-api-key-here" } } } }

Configuración del escritorio de Claude

Si está utilizando la aplicación Claude Desktop, modifique el archivo de configuración en:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Ventanas: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Utilice el mismo formato de configuración que se muestra arriba.

Otros clientes de MCP

Para otros clientes MCP, consulte su documentación para conocer la ubicación y el formato correctos del archivo de configuración. La configuración del servidor debe incluir:

  1. Comando para ejecutar el servidor (normalmente node )
  2. Ruta al archivo del servidor compilado
  3. Variables de entorno, incluida la clave API de Tavily

Uso

Herramientas

El servidor proporciona una única herramienta llamada search con los siguientes parámetros:

Parámetros requeridos

  • query (cadena): La consulta de búsqueda a ejecutar

Parámetros opcionales

  • search_depth (cadena): Puede ser "básico" (más rápido) o "avanzado" (más completo)

Ejemplo de uso

// Example using the MCP SDK const result = await mcpClient.callTool("tavily", "search", { query: "latest developments in artificial intelligence", search_depth: "basic" });

Recursos

El servidor proporciona recursos estáticos y dinámicos para un acceso flexible a los datos:

Recursos estáticos

  • tavily://last-search/result : Devuelve los resultados de la consulta de búsqueda más reciente
    • Persistido en el disco en el directorio de datos
    • Sobrevive a los reinicios del servidor
    • Devuelve un error "Aún no se ha realizado ninguna búsqueda" si no se ha realizado ninguna búsqueda

Recursos dinámicos (plantillas de recursos)

  • tavily://search/{query} : Accede a los resultados de búsqueda para cualquier consulta
    • Reemplace {consulta} con su término de búsqueda codificado en URL
    • Ejemplo: tavily://search/artificial intelligence
    • Devuelve resultados almacenados en caché si la consulta se realizó previamente
    • Realiza y almacena una nueva búsqueda si la consulta no se ha buscado antes
    • Devuelve el mismo formato que la herramienta de búsqueda pero a través de una interfaz de recursos

Los recursos en MCP proporcionan una forma alternativa de acceder a los datos en comparación con las herramientas:

  • Las herramientas sirven para ejecutar operaciones (como realizar una nueva búsqueda)
  • Los recursos sirven para acceder a los datos (como recuperar resultados de búsqueda existentes)
  • Los URI de recursos se pueden almacenar y acceder a ellos más tarde
  • Los recursos admiten patrones de acceso tanto estáticos (fijos) como dinámicos (con plantilla)

Formato de respuesta

interface SearchResponse { query: string; answer: string; results: Array<{ title: string; url: string; content: string; score: number; }>; response_time: number; }

Almacenamiento persistente

El servidor implementa un almacenamiento persistente integral para los resultados de búsqueda:

Ubicación de almacenamiento

  • Los datos se almacenan en el directorio data .
  • data/searches.json contiene todos los resultados de búsqueda históricos
  • Los datos persisten entre reinicios del servidor
  • El almacenamiento se inicializa automáticamente al iniciar el servidor

Características de almacenamiento

  • Almacena el historial de búsqueda completo
  • Almacena en caché todos los resultados de búsqueda para una recuperación rápida
  • Guardado automático de nuevos resultados de búsqueda
  • Persistencia basada en disco
  • Formato JSON para una fácil depuración
  • Manejo de errores en operaciones de almacenamiento
  • Creación automática de directorios

Comportamiento del almacenamiento en caché

  • Todos los resultados de búsqueda se almacenan en caché automáticamente
  • Las solicitudes posteriores para la misma consulta devuelven resultados almacenados en caché
  • El almacenamiento en caché mejora el tiempo de respuesta y reduce las llamadas API
  • La caché persiste entre reinicios del servidor
  • Se realiza un seguimiento de la última búsqueda para un acceso rápido

Desarrollo

Estructura del proyecto

tavily-server/ ├── src/ │ └── index.ts # Main server implementation ├── data/ # Persistent storage directory │ └── searches.json # Search history and cache storage ├── build/ # Compiled JavaScript files ├── package.json # Project dependencies and scripts └── tsconfig.json # TypeScript configuration

Scripts disponibles

  • npm run build : compila TypeScript y hace que la salida sea ejecutable
  • npm run start : Inicia el servidor MCP (después de la compilación)
  • npm run dev : ejecuta el servidor en modo de desarrollo

Manejo de errores

El servidor proporciona mensajes de error detallados para problemas comunes:

  • Clave API no válida
  • Errores de red
  • Parámetros de búsqueda no válidos
  • Limitación de velocidad de API
  • Recurso no encontrado
  • URI de recursos no válidos
  • Errores de lectura/escritura de almacenamiento

Contribuyendo

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )
  3. Confirme sus cambios ( git commit -m 'Add some amazing feature' )
  4. Empujar a la rama ( git push origin feature/amazing-feature )
  5. Abrir una solicitud de extracción

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Expresiones de gratitud

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

Permite que los asistentes de IA realicen búsquedas web actualizadas a través de la API de Tavily, proporcionando resultados de búsqueda completos con resúmenes generados por IA.

  1. Features
    1. Prerequisites
      1. Installation
        1. Configuration
          1. Cline Configuration
          2. Claude Desktop Configuration
          3. Other MCP Clients
        2. Usage
          1. Tools
          2. Resources
          3. Persistent Storage
        3. Development
          1. Project Structure
          2. Available Scripts
        4. Error Handling
          1. Contributing
            1. License
              1. Acknowledgments
                ID: fzs8u6odo2