Perplexity Chat
Un servidor basado en Python para la API de Perplexity que gestiona el historial de chat y las 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 de chat localmente. Construido con Python y setuptools, está diseñado para la 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.
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 contexto completo del historial. Devuelve el ID del chat para continuaciones futuras.
- list_chats_perplexity: Enumera todas las conversaciones de chat disponibles con Perplexity AI. Devuelve los ID de chat, títulos y fechas de creación (mostradas en formato de tiempo relativo, por ejemplo, "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: solo se lee del almacenamiento local.
Características Principales
-
Configuración del modelo mediante variable de entorno: Te permite especificar el modelo de Perplexity utilizando la variable de entorno
PERPLEXITY_MODELpara una selección flexible del modelo.También puedes especificar
PERPLEXITY_MODEL_ASKyPERPLEXITY_MODEL_CHATpara usar diferentes modelos para las herramientasask_perplexityychat_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_perplexitymantiene conversaciones continuas con Perplexity AI. Crea nuevos chats o continúa los existentes con contexto completo del historial. Devuelve el ID del chat para continuaciones futuras. -
Respuestas en streaming con informe de progreso: Utiliza el informe 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 utilizando las siguientes variables de entorno:
| Variable | Descripción | Valor Predeterminado | Obligatoria |
|---|---|---|---|
PERPLEXITY_API_KEY | Tu clave de API de Perplexity | None | Sí |
PERPLEXITY_MODEL | Modelo predeterminado para interacciones | sonar-pro | No |
PERPLEXITY_MODEL_ASK | Modelo específico para la herramienta ask_perplexity | Usa PERPLEXITY_MODEL | No |
PERPLEXITY_MODEL_CHAT | Modelo específico para la herramienta chat_perplexity | Usa PERPLEXITY_MODEL | No |
DB_PATH | Ruta para almacenar la base de datos del historial de chat | chats.db | No |
WEB_UI_ENABLED | Habilitar o deshabilitar la interfaz web | false | No |
WEB_UI_PORT | Puerto para la interfaz web | 8050 | No |
WEB_UI_HOST | Host para la interfaz web | 127.0.0.1 | No |
DEBUG_LOGS | Habilitar registro detallado | false | No |
Uso de 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 utilizando el modelo PERPLEXITY_MODEL_ASK si se especifica; de lo contrario, utilizará 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 nuevo chat. Los ID de chat tienen este formato: 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 utilizando el modelo PERPLEXITY_MODEL_CHAT si se especifica; de lo contrario, utilizará 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, incluyendo marcas de tiempo y 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
Interfaz de Chat
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:
-
Crea un entorno virtual:
python -m venv .venv source .venv/bin/activate # On Linux/macOS # or .venv\Scripts\activate # On Windows -
Instala el proyecto en modo editable con todas las dependencias:
pip install -e . -
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.