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.
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_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.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_perplexitymanté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ável | Descrição | Valor Padrão | Obrigatório |
|---|---|---|---|
PERPLEXITY_API_KEY | Sua chave de API do 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 chat | 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 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
Interface de Chat
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:
-
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.
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.