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.
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_MODELpara seleção flexível de modelo.Você também pode especificar
PERPLEXITY_MODEL_ASKePERPLEXITY_MODEL_CHATpara usar modelos diferentes para as ferramentasask_perplexityechat_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_perplexitymanté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ável | Descrição | Valor Padrão | Obrigatório |
|---|---|---|---|
PERPLEXITY_API_KEY | Sua chave de API Perplexity | Nenhum | Sim |
PERPLEXITY_MODEL | Modelo padrão para interações | sonar-pro | Não |
PERPLEXITY_MODEL_ASK | Modelo específico para a ferramenta ask_perplexity | Usa PERPLEXITY_MODEL | Não |
PERPLEXITY_MODEL_CHAT | Modelo específico para a ferramenta chat_perplexity | Usa PERPLEXITY_MODEL | Não |
DB_PATH | Caminho para armazenar o banco de dados do histórico de conversas | chats.db | Não |
WEB_UI_ENABLED | Ativar ou desativar a interface web | false | Não |
WEB_UI_PORT | Porta para a interface web | 8050 | Não |
WEB_UI_HOST | Host para a interface web | 127.0.0.1 | Não |
DEBUG_LOGS | Ativar registro detalhado | false | Nã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
Interface de Conversa
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:
-
Crie um ambiente virtual:
python -m venv .venv source .venv/bin/activate # On Linux/macOS # or .venv\Scripts\activate # On Windows -
Instale o projeto em modo editável com todas as dependências:
pip install -e . -
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.