Local Logs MCP Server

MCP para monitoramento de logs de aplicações locais com funcionalidades de acompanhamento em tempo real, rastreamento de erros e busca de logs.

Documentação

Servidor MCP de Logs Locais

Um servidor Model Context Protocol (MCP) para monitorar logs de aplicações locais com acompanhamento em tempo real, rastreamento de erros e recursos de busca em logs.

Perfeito para monitorar aplicações Node.js, servidores web ou qualquer aplicação que escreva em arquivos de log.

License Node Version

✨ Recursos

  • 📁 Descoberta de Arquivos de Log - Encontra e lista automaticamente os arquivos de log disponíveis
  • 📜 Acompanhamento de Logs em Tempo Real - Obtenha as últimas N linhas de qualquer arquivo de log
  • ⚠️ Monitoramento de Erros - Verifique rapidamente os logs de erros para identificar problemas
  • 📊 Status do Servidor - Obtenha um resumo do status do servidor a partir da análise de logs
  • 👀 Observação de Logs - Monitore arquivos de log para detectar alterações
  • 🔍 Busca em Logs - Pesquise padrões de texto específicos nos logs
  • 🔧 Configurável - Suporta diretórios de log personalizados e extensões de arquivo
  • 🚀 Configuração Fácil - Funciona com Cursor, Claude Desktop, VS Code Copilot e outros

🛠️ Ferramentas Disponíveis

FerramentaDescriçãoParâmetros
get_log_filesLista arquivos de log disponíveis com metadadosNenhum
tail_logObtém as últimas N linhas de um arquivo de logfilename, lines
get_errorsObtém entradas recentes de logs de errolines
get_server_statusResumo do status do servidor a partir dos logsNenhum
watch_logMonitora arquivo de log para detectar alteraçõesfilename
search_logsBusca texto em arquivos de logquery, filename, lines

📦 Instalação

🚀 Configuração em Um Comando (Recomendado)

Linux/Mac:

curl -sSL https://raw.githubusercontent.com/mariosss/local-logs-mcp-server/main/install-new.js | node

Windows (PowerShell):

Invoke-WebRequest -Uri "https://raw.githubusercontent.com/mariosss/local-logs-mcp-server/main/install-new.js" | Invoke-Expression

É isso! O script de instalação baixará o arquivo do servidor diretamente e configurará o Cursor automaticamente. Basta reiniciar o Cursor e você estará pronto para usar!

Alternativa: Configuração em Dois Comandos

npm install -g https://github.com/mariosss/local-logs-mcp-server
local-logs-setup

Alternativa: Configuração Manual

npm install -g local-logs-mcp-server
local-logs-setup

Uso via NPX (Sem Instalação)

npx local-logs-mcp-server

Instalação Manual

git clone https://github.com/mariosss/local-logs-mcp-server.git
cd local-logs-mcp-server
npm install -g .

⚙️ Configuração

✅ Configuração Automática (Padrão)

O pacote configura o Cursor automaticamente para você! Nenhuma configuração manual é necessária.

🔧 Configuração Manual (Se necessário)

Para o Cursor IDE

Adicione ao seu .cursor/mcp.json (específico do projeto) ou à configuração MCP global:

{
  "mcpServers": {
    "local-logs": {
      "command": "npx",
      "args": ["-y", "local-logs-mcp-server"],
      "env": {
        "LOGS_DIR": "./logs"
      }
    }
  }
}

Para o Claude Desktop

Adicione à configuração MCP do Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json no Mac):

{
  "mcpServers": {
    "local-logs": {
      "command": "npx",
      "args": ["-y", "local-logs-mcp-server"],
      "env": {
        "LOGS_DIR": "/path/to/your/logs"
      }
    }
  }
}

Para o VS Code (GitHub Copilot)

Adicione ao seu .vscode/mcp.json:

{
  "servers": {
    "local-logs": {
      "command": "npx",
      "args": ["-y", "local-logs-mcp-server"],
      "env": {
        "LOGS_DIR": "./logs"
      }
    }
  }
}

Para o Windsurf (Codium)

Adicione à sua configuração MCP do Windsurf:

{
  "mcpServers": {
    "local-logs": {
      "command": "npx",
      "args": ["-y", "local-logs-mcp-server"],
      "env": {
        "LOGS_DIR": "./logs"
      }
    }
  }
}

🔧 Variáveis de Ambiente

VariávelDescriçãoPadrão
LOGS_DIRDiretório contendo arquivos de logDetectado automaticamente (veja abaixo)
LOG_EXTENSIONSExtensões de arquivo de log separadas por vírgula.log,.txt

Detecção Automática do Diretório de Logs

Se LOGS_DIR não for especificado, o servidor busca automaticamente por logs nesta ordem de prioridade:

  1. ./logs (diretório atual)
  2. ./apps/backend/logs (estrutura monorepo)
  3. ./server/logs (diretório do servidor)
  4. ./backend/logs (diretório backend)
  5. /var/log (logs do sistema no Linux/Mac)
  6. C:\logs (logs do sistema no Windows)

📋 Exemplos de Uso

Uma vez configurado com seu cliente MCP, você pode usar comandos em linguagem natural:

Comandos Básicos

  • "Verifique meus logs do servidor"
  • "Há algum erro nos logs?"
  • "Qual é o status do meu servidor?"
  • "Mostre-me os arquivos de log disponíveis"

Comandos Avançados

  • "Mostre-me as últimas 50 linhas do error.log"
  • "Pesquise nos logs por 'conexão com banco de dados'"
  • "Monitore o access.log para detectar alterações"
  • "Encontre todas as entradas de log contendo 'TypeError'"

🏗️ Exemplos de Estrutura de Projeto

Projeto Node.js Padrão

your-project/
├── logs/
│   ├── combined.log    # Main application log
│   ├── error.log      # Error log
│   └── access.log     # Access log (optional)
├── .cursor/
│   └── mcp.json       # MCP configuration
├── src/
└── package.json

Estrutura Monorepo

your-monorepo/
├── apps/
│   └── backend/
│       └── logs/
│           ├── combined.log
│           └── error.log
├── .cursor/
│   └── mcp.json
└── package.json

🔍 Formatos de Log Suportados

O servidor funciona com qualquer arquivo de log baseado em texto e pode analisar:

  • Logs Winston (formato JSON e texto)
  • Logs de acesso Morgan
  • Logs Pino
  • Logs Bunyan
  • Logs de aplicações personalizadas
  • Logs do sistema
  • Qualquer arquivo .log ou .txt

Exemplos de Formatos de Log

Formato de Texto Winston:

2024-01-15 10:30:45 [INFO]: Server started on port 3000
2024-01-15 10:30:50 [ERROR]: Database connection failed

Formato JSON Winston:

{"level":"info","message":"Server started","timestamp":"2024-01-15T10:30:45.123Z"}
{"level":"error","message":"Database connection failed","timestamp":"2024-01-15T10:30:50.456Z"}

🛡️ Segurança

  • Acesso somente leitura - O servidor apenas lê arquivos de log, nunca escreve ou modifica
  • Escopo de diretório - Acessa apenas arquivos no diretório de logs especificado
  • Sem acesso à rede - Opera inteiramente em arquivos locais
  • Respeito a permissões - Respeita as permissões do sistema de arquivos

🚀 Desempenho

  • Leitura eficiente de arquivos - Usa streaming para arquivos de log grandes
  • Consciente de memória - Não carrega arquivos inteiros na memória
  • Busca rápida - Algoritmos otimizados de busca de texto
  • Dependências mínimas - Usa apenas módulos integrados do Node.js

🤝 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 amazing feature')
  4. Envie para a branch (git push origin feature/amazing-feature)
  5. Abra um Pull Request

📄 Licença

Este projeto é licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.

🐛 Solução de Problemas

O servidor mostra status vermelho/erro

  • Verifique se o diretório de logs existe e está acessível
  • Verifique se os arquivos de log têm permissões de leitura adequadas
  • Garanta que a versão do Node.js seja 14 ou superior
  • Verifique se o caminho do servidor está correto na sua configuração MCP

Nenhuma ferramenta disponível

  • Reinicie seu cliente MCP (Cursor, Claude, VS Code)
  • Verifique se a sintaxe da configuração MCP é JSON válido
  • Verifique se o servidor MCP está respondendo (teste com echo '{"jsonrpc":"2.0","method":"initialize","id":1}' | npx local-logs-mcp-server)

Arquivos de log não encontrados

  • Defina a variável de ambiente LOGS_DIR correta
  • Certifique-se de que sua aplicação está realmente escrevendo em arquivos de log
  • Verifique se as extensões de arquivo correspondem à configuração LOG_EXTENSIONS
  • Verifique se as permissões do diretório permitem leitura

Problemas Comuns com o Diretório de Logs

Problema: "Diretório de logs não encontrado"

# Solution: Set explicit path
export LOGS_DIR="/path/to/your/logs"

Problema: "Nenhum arquivo de log encontrado"

# Solution: Check file extensions
export LOG_EXTENSIONS=".log,.txt,.out"

📚 Exemplos

Configuração Completa do Cursor

  1. Instale globalmente:

    npm install -g local-logs-mcp-server
    
  2. Adicione ao .cursor/mcp.json:

    {
      "mcpServers": {
        "local-logs": {
          "command": "local-logs-mcp",
          "env": {
            "LOGS_DIR": "./logs"
          }
        }
      }
    }
    
  3. Reinicie o Cursor e teste:

    • Pergunte: "Verifique meus logs do servidor"

Configuração Completa do Claude Desktop

  1. Abra a configuração do Claude Desktop:

    # Mac
    open ~/Library/Application\ Support/Claude/claude_desktop_config.json
    
    # Windows
    notepad %APPDATA%\Claude\claude_desktop_config.json
    
  2. Adicione a configuração:

    {
      "mcpServers": {
        "local-logs": {
          "command": "npx",
          "args": ["-y", "local-logs-mcp-server"],
          "env": {
            "LOGS_DIR": "/Users/yourusername/projects/myapp/logs"
          }
        }
      }
    }
    
  3. Reinicie o Claude Desktop

🔗 Projetos Relacionados


Feito com ❤️ para a comunidade MCP