Perplexity Chat

Um servidor MCP para a API do Perplexity consultar respostas e gerenciar conversas.

Documentação

Perplexity Chat MCP Server

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

O MCP Server é projetado para imitar como os usuários interagem com o Perplexity Chat em seu navegador, permitindo que seus modelos façam perguntas, continuem conversas e listem todos os seus chats.

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 novos chats ou continua os existentes com contexto completo do histórico. Retorna o ID do chat para continuação futura.
  • list_chats_perplexity: Lista todas as conversas de chat disponíveis com o Perplexity AI. Retorna IDs de chat, 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 chats por página.
  • read_chat_perplexity: Recupera o histórico completo da conversa de um chat específico. Retorna o histórico completo do chat com todas as mensagens e seus timestamps. 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.

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

  • Histórico de Chat Persistente: A ferramenta chat_perplexity mantém conversas contínuas com o Perplexity AI. Cria novos chats ou continua os existentes com contexto completo do histórico. Retorna o ID do chat 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 do 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 chatchats.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 a CLI do Smithery

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 chat, cada solicitação é um novo chat.

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 chat. Um chat é identificado por um ID de chat; este ID é retornado pela ferramenta quando um novo chat é criado. Os IDs de chat 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 chat.

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 de chat disponíveis. Retorna uma lista paginada de chats, mostrando o ID do chat, título e hora de criação (em formato relativo). Você pode especificar o número da página usando o argumento page (o padrão é 1, com 50 chats por página).

read_chat_perplexity

Recupera o histórico completo da conversa para um determinado chat_id. Esta ferramenta retorna todas as mensagens do chat, incluindo timestamps 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 chats.

Recursos

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

Capturas de Tela

Visualização da Lista de Chats

image

Interface de Chat

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, isto é 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.

Contribuição

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

Licença

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