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

  1. Clone o repositório:

    git clone https://github.com/yourusername/perplexity-mcp-server.git
    cd perplexity-mcp-server
    
  2. Instale as dependências:

    npm install
    
  3. Crie o arquivo .env:

    PERPLEXITY_API_KEY=your-api-key-here
    
  4. 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

  1. 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
  2. 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/sdk para 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.3
  • dotenv: ^16.4.7
  • isomorphic-fetch: ^3.0.0

Contribuindo

  1. Faça um fork do repositório
  2. Crie sua branch de recurso (git checkout -b feature/amazing-feature)
  3. Faça commit das suas alterações (git commit -m 'Add some amazing feature')
  4. Envie para a branch (git push origin feature/amazing-feature)
  5. 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:

  1. Servidor Não Encontrado

    • Verifique se o caminho em claude_desktop_config.json está correto
    • Garanta que o servidor esteja compilado (npm run build)
    • Verifique se o Node.js está no seu PATH
  2. 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
  3. 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