Skip to main content
Glama
it-beard

Tavily MCP Server

by it-beard

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

Related MCP server: Tavily MCP Server

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%20intelligence

    • 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

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/it-beard/tavily-server'

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