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

  1. Clona el repositorio:

    git clone https://github.com/yourusername/perplexity-mcp-server.git
    cd perplexity-mcp-server
    
  2. Instala las dependencias:

    npm install
    
  3. Crea el archivo .env:

    PERPLEXITY_API_KEY=your-api-key-here
    
  4. 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

  1. 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
  2. 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/sdk para 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.3
  • dotenv: ^16.4.7
  • isomorphic-fetch: ^3.0.0

Contribuciones

  1. Haz un fork del repositorio
  2. Crea tu rama de características (git checkout -b feature/amazing-feature)
  3. Haz commit de tus cambios (git commit -m 'Add some amazing feature')
  4. Sube los cambios a la rama (git push origin feature/amazing-feature)
  5. 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:

  1. Servidor No Encontrado

    • Verifica que la ruta en claude_desktop_config.json sea correcta
    • Asegúrate de que el servidor esté compilado (npm run build)
    • Comprueba si Node.js está en tu PATH
  2. Errores de Autenticación

    • Verifica tu clave de API de Perplexity en .env
    • Comprueba si la clave de API tiene los permisos necesarios
  3. 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