Perplexity AI
Um servidor MCP para interagir com os modelos de linguagem da Perplexity AI para busca e IA conversacional.
Documentação
Perplexity MCP Server
Visão Geral
O Perplexity MCP Server é uma implementação em Node.js do Model Context Protocol (MCP) da Anthropic que permite ao Claude interagir com os modelos de linguagem da Perplexity. Este servidor fornece uma ponte segura entre o Claude e as capacidades da Perplexity AI, permitindo interações aprimoradas de IA por meio do uso de ferramentas.
Ferramentas Disponíveis
O servidor atualmente implementa duas ferramentas principais:
1. perplexity_chat
Ferramenta avançada de conclusão de chat com suporte completo ao histórico de mensagens.
{
"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
Interface simplificada de consulta única para perguntas 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"
}
}
Instalação
-
Clone o repositório:
git clone https://github.com/yourusername/perplexity-mcp-server.git cd perplexity-mcp-server -
Instale as dependências:
npm install -
Crie o arquivo
.env:PERPLEXITY_API_KEY=your-api-key-here -
Compile o projeto:
npm run build
Configuração do Claude Desktop
Para adicionar este servidor ao Claude Desktop, atualize seu 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...
}
}
O arquivo de configuração normalmente está localizado em:
- 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
Desenvolvimento
Inicie o servidor de desenvolvimento com recompilação automática:
npm run dev
O servidor usa TypeScript e implementa o protocolo MCP usando o pacote @modelcontextprotocol/sdk.
Arquitetura
Componentes Principais
-
Classe PerplexityServer
- Implementa o protocolo do servidor MCP
- Gerencia o registro e a execução de ferramentas
- Gerencia o tratamento de erros e o ciclo de vida do servidor
-
Sistema de Ferramentas
- Definições modulares de ferramentas
- Manipuladores de ferramentas com segurança de tipos
- Validação estruturada de entrada
Detalhes Técnicos
- Construído com TypeScript para segurança de tipos
- Usa
@modelcontextprotocol/sdkpara a implementação do MCP - Comunica-se via transporte stdio
- Configuração baseada em variáveis de ambiente
Tratamento de Erros
O servidor implementa tratamento abrangente de erros:
- Relato de erros da API
- Tratamento de solicitações de ferramentas inválidas
- Gerenciamento de erros de conexão
- Tratamento de sinais de processo
Dependências
@modelcontextprotocol/sdk: ^1.0.3dotenv: ^16.4.7isomorphic-fetch: ^3.0.0
Contribuindo
- Faça um fork do repositório
- Crie sua branch de recurso (
git checkout -b feature/amazing-feature) - Faça commit das suas alterações (
git commit -m 'Add some amazing feature') - Envie para a branch (
git push origin feature/amazing-feature) - Abra um Pull Request
Segurança
- As chaves de API são gerenciadas por meio de variáveis de ambiente
- Validação de entrada para todos os parâmetros das ferramentas
- Mensagens de erro são sanitizadas antes da saída
- Isolamento de processos por meio do protocolo MCP
Licença
Este projeto é licenciado sob a Licença ISC.
Solução de Problemas
Problemas comuns e soluções:
-
Servidor Não Encontrado
- Verifique se o caminho em
claude_desktop_config.jsonestá correto - Garanta que o servidor esteja compilado (
npm run build) - Verifique se o Node.js está no seu PATH
- Verifique se o caminho em
-
Erros de Autenticação
- Verifique sua chave de API da Perplexity no arquivo .env
- Verifique se a chave de API tem as permissões necessárias
-
Erros de Execução de Ferramentas
- Verifique se os parâmetros da ferramenta correspondem ao esquema
- Verifique a conectividade de rede
- Revise os logs do servidor para obter mensagens de erro detalhadas