Perplexity AI
Un servidor MCP para interactuar con los modelos de lenguaje de Perplexity AI para búsqueda e IA conversacional.
Documentación
Perplexity MCP Server
Resumen
El servidor Perplexity MCP es una implementación en Node.js del Protocolo de Contexto de Modelo (MCP) de Anthropic que permite a Claude interactuar con los modelos de lenguaje de Perplexity. Este servidor proporciona un puente seguro entre Claude y las capacidades de Perplexity AI, permitiendo interacciones mejoradas de IA mediante el uso de herramientas.
Herramientas Disponibles
El servidor implementa actualmente dos herramientas principales:
1. perplexity_chat
Herramienta avanzada de finalización de chat con soporte completo para historial de mensajes.
{
"name": "perplexity_chat",
"description": "Generate a chat completion using Perplexity AI",
"parameters": {
"model": "string (optional) - One of: llama-3.1-sonar-small-128k-online, llama-3.1-sonar-large-128k-online, llama-3.1-sonar-huge-128k-online",
"messages": "array of {role, content} objects - The conversation history",
"temperature": "number (optional) - Sampling temperature between 0-2"
}
}
2. perplexity_ask
Interfaz simplificada de consulta única para preguntas rápidas.
{
"name": "perplexity_ask",
"description": "Send a simple query to Perplexity AI",
"parameters": {
"query": "string - The question or prompt to send",
"model": "string (optional) - One of: llama-3.1-sonar-small-128k-online, llama-3.1-sonar-large-128k-online, llama-3.1-sonar-huge-128k-online"
}
}
Instalación
-
Clona el repositorio:
git clone https://github.com/yourusername/perplexity-mcp-server.git cd perplexity-mcp-server -
Instala las dependencias:
npm install -
Crea el archivo
.env:PERPLEXITY_API_KEY=your-api-key-here -
Compila el proyecto:
npm run build
Configuración de Claude Desktop
Para añadir este servidor a Claude Desktop, actualiza tu claude_desktop_config.json:
{
"mcpServers": {
//more servers...
"perplexity": {
"command": "node",
"args": ["path\\to\\perplexity-mcp-server\\dist\\index.js"],
"env": {
"PERPLEXITY_API_KEY": "YOUR_PERPLEXITY_API_KEY"
}
}
//more servers...
}
}
El archivo de configuración normalmente se encuentra en:
- Windows:
%APPDATA%/Claude/config/claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/config/claude_desktop_config.json - Linux:
~/.config/Claude/config/claude_desktop_config.json
Desarrollo
Inicia el servidor de desarrollo con recompilación automática:
npm run dev
El servidor utiliza TypeScript e implementa el protocolo MCP usando el paquete @modelcontextprotocol/sdk.
Arquitectura
Componentes Principales
-
Clase PerplexityServer
- Implementa el protocolo del servidor MCP
- Gestiona el registro y la ejecución de herramientas
- Administra el manejo de errores y el ciclo de vida del servidor
-
Sistema de Herramientas
- Definiciones modulares de herramientas
- Manejadores de herramientas con seguridad de tipos
- Validación estructurada de entrada
Detalles Técnicos
- Construido con TypeScript para seguridad de tipos
- Utiliza
@modelcontextprotocol/sdkpara la implementación de MCP - Se comunica mediante transporte stdio
- Configuración basada en variables de entorno
Manejo de Errores
El servidor implementa un manejo integral de errores:
- Reporte de errores de API
- Manejo de solicitudes de herramientas no válidas
- Gestión de errores de conexión
- Manejo de señales de proceso
Dependencias
@modelcontextprotocol/sdk: ^1.0.3dotenv: ^16.4.7isomorphic-fetch: ^3.0.0
Contribuciones
- Haz un fork del repositorio
- Crea tu rama de características (
git checkout -b feature/amazing-feature) - Haz commit de tus cambios (
git commit -m 'Add some amazing feature') - Sube los cambios a la rama (
git push origin feature/amazing-feature) - Abre un Pull Request
Seguridad
- Las claves de API se gestionan mediante variables de entorno
- Validación de entrada para todos los parámetros de las herramientas
- Los mensajes de error se sanitizan antes de la salida
- Aislamiento de procesos mediante el protocolo MCP
Licencia
Este proyecto está licenciado bajo la Licencia ISC.
Solución de Problemas
Problemas comunes y soluciones:
-
Servidor No Encontrado
- Verifica que la ruta en
claude_desktop_config.jsonsea correcta - Asegúrate de que el servidor esté compilado (
npm run build) - Comprueba si Node.js está en tu PATH
- Verifica que la ruta en
-
Errores de Autenticación
- Verifica tu clave de API de Perplexity en .env
- Comprueba si la clave de API tiene los permisos necesarios
-
Errores de Ejecución de Herramientas
- Verifica que los parámetros de la herramienta coincidan con el esquema
- Comprueba la conectividad de red
- Revisa los registros del servidor para obtener mensajes de error detallados