Perplexity Chat

Um servidor baseado em Python para a API Perplexity que gerencia histórico de chat e conversas.

Documentação

Servidor MCP Perplexity Chat

O Servidor MCP Perplexity fornece uma interface baseada em Python para a API Perplexity, oferecendo ferramentas para consultar respostas, manter histórico de conversas e gerenciar conversas. Ele suporta configuração de modelo por meio de variáveis de ambiente e armazena dados de conversa localmente. Construído com Python e setuptools, é projetado para integração com ambientes de desenvolvimento.

O Servidor MCP é projetado para imitar como os usuários interagem com o Perplexity Chat no navegador, permitindo que seus modelos façam perguntas, continuem conversas e listem todas as suas conversas.

smithery badge Release and Publish

Componentes

Ferramentas

  • ask_perplexity: Solicite assistência especializada em programação por meio do Perplexity. Foca em soluções de código, depuração de erros e explicações técnicas. Retorna respostas com citações de fontes e sugestões alternativas.
  • chat_perplexity: Mantém conversas contínuas com o Perplexity AI. Cria novas conversas ou continua as existentes com contexto completo do histórico. Retorna o ID da conversa para continuação futura.
  • list_chats_perplexity: Lista todas as conversas disponíveis com o Perplexity AI. Retorna IDs de conversa, títulos e datas de criação (exibidos em formato de tempo relativo, por exemplo, "há 5 minutos", "há 2 dias"). Os resultados são paginados com 50 conversas por página.
  • read_chat_perplexity: Recupera o histórico completo da conversa para uma conversa específica. Retorna o histórico completo da conversa com todas as mensagens e seus carimbos de data/hora. Nenhuma chamada de API é feita ao Perplexity — isso apenas lê do armazenamento local.

Principais Recursos

  • Configuração de Modelo via Variável de Ambiente: Permite especificar o modelo Perplexity usando a variável de ambiente PERPLEXITY_MODEL para seleção flexível de modelo.

    Você também pode especificar PERPLEXITY_MODEL_ASK e PERPLEXITY_MODEL_CHAT para usar modelos diferentes para as ferramentas ask_perplexity e chat_perplexity, respectivamente.

    Eles substituirão PERPLEXITY_MODEL. Você pode verificar quais modelos estão disponíveis na documentação do Perplexity.

  • Histórico de Conversa Persistente: A ferramenta chat_perplexity mantém conversas contínuas com o Perplexity AI. Cria novas conversas ou continua as existentes com contexto completo do histórico. Retorna o ID da conversa para continuação futura.

  • Respostas em Streaming com Relatório de Progresso: Usa relatório de progresso para evitar timeouts em respostas lentas.

Início Rápido

Pré-requisitos

Antes de usar este servidor MCP, certifique-se de ter:

  • Python 3.10 ou superior
  • Gerenciador de pacotes uvx instalado

Nota: As instruções de instalação para uvx estão disponíveis aqui.

Configuração para Todos os Clientes

Para usar este servidor MCP, configure seu cliente com estas configurações (o método de configuração varia conforme o cliente):

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

Variáveis de Ambiente

Configure o servidor MCP Perplexity usando as seguintes variáveis de ambiente:

VariávelDescriçãoValor PadrãoObrigatório
PERPLEXITY_API_KEYSua chave de API PerplexityNenhumSim
PERPLEXITY_MODELModelo padrão para interaçõessonar-proNão
PERPLEXITY_MODEL_ASKModelo específico para a ferramenta ask_perplexityUsa PERPLEXITY_MODELNão
PERPLEXITY_MODEL_CHATModelo específico para a ferramenta chat_perplexityUsa PERPLEXITY_MODELNão
DB_PATHCaminho para armazenar o banco de dados do histórico de conversaschats.dbNão
WEB_UI_ENABLEDAtivar ou desativar a interface webfalseNão
WEB_UI_PORTPorta para a interface web8050Não
WEB_UI_HOSTHost para a interface web127.0.0.1Não
DEBUG_LOGSAtivar registro detalhadofalseNão

Usando Smithery CLI

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

Uso

ask_perplexity

A ferramenta ask_perplexity é usada para perguntas específicas; esta ferramenta não mantém um histórico de conversa, cada solicitação é uma nova conversa.

A ferramenta retornará uma resposta do Perplexity AI usando o modelo PERPLEXITY_MODEL_ASK se especificado; caso contrário, usará o modelo PERPLEXITY_MODEL.

chat_perplexity

A ferramenta chat_perplexity é usada para conversas contínuas; esta ferramenta mantém um histórico de conversa. Uma conversa é identificada por um ID de conversa; este ID é retornado pela ferramenta quando uma nova conversa é criada. Os IDs de conversa têm esta aparência: wild-horse-12.

Esta ferramenta é útil para depuração, pesquisa e qualquer outra tarefa que exija um histórico de conversa.

A ferramenta retornará uma resposta do Perplexity AI usando o modelo PERPLEXITY_MODEL_CHAT se especificado; caso contrário, usará o modelo PERPLEXITY_MODEL.

list_chats_perplexity

Lista todas as conversas disponíveis. Retorna uma lista paginada de conversas, mostrando o ID da conversa, título e horário de criação (em formato relativo). Você pode especificar o número da página usando o argumento page (padrão é 1, com 50 conversas por página).

read_chat_perplexity

Recupera o histórico completo da conversa para um chat_id fornecido. Esta ferramenta retorna todas as mensagens na conversa, incluindo carimbos de data/hora e papéis (usuário ou assistente). Esta ferramenta não faz nenhuma chamada de API ao Perplexity; ela apenas lê do banco de dados local.

Interface Web

O servidor MCP Perplexity agora inclui uma interface web para facilitar a interação e o gerenciamento de conversas.

Recursos

  • Interface de conversa interativa
  • Gerenciamento de histórico de conversas
  • Exibição de mensagens em tempo real

Capturas de Tela

Visualização da Lista de Conversas

image

Interface de Conversa

image

Acessando a Interface Web

Quando WEB_UI_ENABLED estiver definido como true, a interface web estará disponível em http://WEB_UI_HOST:WEB_UI_PORT.

Por padrão, isso é http://127.0.0.1:8050.

Desenvolvimento

Este projeto usa setuptools para desenvolvimento e builds. Para começar:

  1. Crie um ambiente virtual:

    python -m venv .venv
    source .venv/bin/activate  # On Linux/macOS
    # or
    .venv\Scripts\activate  # On Windows
    
  2. Instale o projeto em modo editável com todas as dependências:

    pip install -e .
    
  3. Compile o projeto:

    python -m build
    

O ambiente virtual conterá todas as dependências necessárias para o desenvolvimento.

Contribuindo

Este projeto está aberto a contribuições. Consulte o arquivo CONTRIBUTING.md para mais informações.

Licença

Este projeto é licenciado sob a Licença MIT. Consulte o arquivo LICENSE para detalhes.