Perplexity Chat

Un servidor MCP para la API de Perplexity para consultar respuestas y gestionar conversaciones.

Documentación

Perplexity Chat MCP Server

El servidor MCP de Perplexity proporciona una interfaz basada en Python para la API de Perplexity, ofreciendo herramientas para consultar respuestas, mantener el historial de chat y gestionar conversaciones. Admite la configuración del modelo mediante variables de entorno y almacena los datos del chat localmente. Construido con Python y setuptools, está diseñado para su integración con entornos de desarrollo.

El servidor MCP está diseñado para imitar cómo los usuarios interactúan con Perplexity Chat en su navegador, permitiendo que tus modelos hagan preguntas, continúen conversaciones y enumeren todos tus chats.

smithery badge Release and Publish

Componentes

Herramientas

  • ask_perplexity: Solicita asistencia experta en programación a través de Perplexity. Se centra en soluciones de código, depuración de errores y explicaciones técnicas. Devuelve respuestas con citas de fuentes y sugerencias alternativas.
  • chat_perplexity: Mantiene conversaciones continuas con Perplexity AI. Crea nuevos chats o continúa los existentes con el contexto completo del historial. Devuelve el ID del chat para continuar en el futuro.
  • list_chats_perplexity: Enumera todas las conversaciones de chat disponibles con Perplexity AI. Devuelve los IDs de chat, títulos y fechas de creación (mostradas en formato de tiempo relativo, p. ej., "hace 5 minutos", "hace 2 días"). Los resultados están paginados con 50 chats por página.
  • read_chat_perplexity: Recupera el historial completo de conversación de un chat específico. Devuelve el historial completo del chat con todos los mensajes y sus marcas de tiempo. No se realizan llamadas a la API de Perplexity; esto solo lee del almacenamiento local.

Características principales

  • Configuración del modelo mediante variable de entorno: Permite especificar el modelo de Perplexity usando la variable de entorno PERPLEXITY_MODEL para una selección flexible del modelo.

    También puedes especificar PERPLEXITY_MODEL_ASK y PERPLEXITY_MODEL_CHAT para usar diferentes modelos para las herramientas ask_perplexity y chat_perplexity, respectivamente.

    Estos anularán PERPLEXITY_MODEL. Puedes consultar qué modelos están disponibles en la documentación de Perplexity.

  • Historial de chat persistente: La herramienta chat_perplexity mantiene conversaciones continuas con Perplexity AI. Crea nuevos chats o continúa los existentes con el contexto completo del historial. Devuelve el ID del chat para continuar en el futuro.

  • Respuestas en streaming con informe de progreso: Utiliza informes de progreso para evitar tiempos de espera en respuestas lentas.

Inicio rápido

Requisitos previos

Antes de usar este servidor MCP, asegúrate de tener:

  • Python 3.10 o superior
  • Gestor de paquetes uvx instalado

Nota: Las instrucciones de instalación de uvx están disponibles aquí.

Configuración para todos los clientes

Para usar este servidor MCP, configura tu cliente con estos ajustes (el método de configuración varía según el cliente):

"mcpServers": {
  "mcp-perplexity": {
    "command": "uvx",
    "args": ["mcp-perplexity"],
    "env": {
      "PERPLEXITY_API_KEY": "your-api-key",
      "PERPLEXITY_MODEL": "sonar-pro",
      "DB_PATH": "chats.db"
    }
  }
}

Variables de entorno

Configura el servidor MCP de Perplexity usando las siguientes variables de entorno:

VariableDescripciónValor predeterminadoObligatoria
PERPLEXITY_API_KEYTu clave de API de PerplexityNone
PERPLEXITY_MODELModelo predeterminado para interaccionessonar-proNo
PERPLEXITY_MODEL_ASKModelo específico para la herramienta ask_perplexityUsa PERPLEXITY_MODELNo
PERPLEXITY_MODEL_CHATModelo específico para la herramienta chat_perplexityUsa PERPLEXITY_MODELNo
DB_PATHRuta para almacenar la base de datos del historial de chatchats.dbNo
WEB_UI_ENABLEDHabilitar o deshabilitar la interfaz webfalseNo
WEB_UI_PORTPuerto para la interfaz web8050No
WEB_UI_HOSTHost para la interfaz web127.0.0.1No
DEBUG_LOGSHabilitar registro detalladofalseNo

Usando Smithery CLI

npx -y @smithery/cli@latest run @daniel-lxs/mcp-perplexity --config "{\"perplexityApiKey\":\"pplx-abc\",\"perplexityModel\":\"sonar-pro\"}"

Uso

ask_perplexity

La herramienta ask_perplexity se utiliza para preguntas específicas; esta herramienta no mantiene un historial de chat, cada solicitud es un chat nuevo.

La herramienta devolverá una respuesta de Perplexity AI usando el modelo PERPLEXITY_MODEL_ASK si se especifica; de lo contrario, usará el modelo PERPLEXITY_MODEL.

chat_perplexity

La herramienta chat_perplexity se utiliza para conversaciones continuas; esta herramienta mantiene un historial de chat. Un chat se identifica mediante un ID de chat; este ID lo devuelve la herramienta cuando se crea un chat nuevo. Los IDs de chat tienen este aspecto: wild-horse-12.

Esta herramienta es útil para depuración, investigación y cualquier otra tarea que requiera un historial de chat.

La herramienta devolverá una respuesta de Perplexity AI usando el modelo PERPLEXITY_MODEL_CHAT si se especifica; de lo contrario, usará el modelo PERPLEXITY_MODEL.

list_chats_perplexity

Enumera todas las conversaciones de chat disponibles. Devuelve una lista paginada de chats, mostrando el ID del chat, el título y la hora de creación (en formato relativo). Puedes especificar el número de página usando el argumento page (el valor predeterminado es 1, con 50 chats por página).

read_chat_perplexity

Recupera el historial completo de conversación de un chat_id determinado. Esta herramienta devuelve todos los mensajes del chat, incluidas las marcas de tiempo y los roles (usuario o asistente). Esta herramienta no realiza ninguna llamada a la API de Perplexity; solo lee de la base de datos local.

Interfaz web

El servidor MCP de Perplexity ahora incluye una interfaz web para facilitar la interacción y la gestión de chats.

Características

  • Interfaz de chat interactiva
  • Gestión del historial de chat
  • Visualización de mensajes en tiempo real

Capturas de pantalla

Vista de lista de chats

image

Interfaz de chat

image

Acceso a la interfaz web

Cuando WEB_UI_ENABLED esté configurado en true, la interfaz web estará disponible en http://WEB_UI_HOST:WEB_UI_PORT.

Por defecto, esto es http://127.0.0.1:8050.

Desarrollo

Este proyecto utiliza setuptools para el desarrollo y las compilaciones. Para comenzar:

  1. Crea un entorno virtual:

    python -m venv .venv
    source .venv/bin/activate  # On Linux/macOS
    # or
    .venv\Scripts\activate  # On Windows
    
  2. Instala el proyecto en modo editable con todas las dependencias:

    pip install -e .
    
  3. Compila el proyecto:

    python -m build
    

El entorno virtual contendrá todas las dependencias necesarias para el desarrollo.

Contribuciones

Este proyecto está abierto a contribuciones. Consulta el archivo CONTRIBUTING.md para obtener más información.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para obtener más detalles.