Local Logs MCP Server

MCP para monitorear registros de aplicaciones locales con seguimiento en tiempo real, rastreo de errores y capacidades de búsqueda de registros.

Documentación

Servidor MCP de Logs Locales

Un servidor de Protocolo de Contexto de Modelo (MCP) para monitorear logs de aplicaciones locales con seguimiento en tiempo real, seguimiento de errores y capacidades de búsqueda de logs.

Perfecto para monitorear aplicaciones Node.js, servidores web o cualquier aplicación que escriba en archivos de log.

License Node Version

✨ Características

  • 📁 Descubrimiento de Archivos de Log - Encuentra y lista automáticamente los archivos de log disponibles
  • 📜 Seguimiento de Logs en Tiempo Real - Obtén las últimas N líneas de cualquier archivo de log
  • ⚠️ Monitoreo de Errores - Revisa rápidamente los logs de errores para detectar problemas
  • 📊 Estado del Servidor - Obtén un resumen del estado del servidor a partir del análisis de logs
  • 👀 Observación de Logs - Monitorea archivos de log para detectar cambios
  • 🔍 Búsqueda de Logs - Busca patrones de texto específicos en los logs
  • 🔧 Configurable - Soporta directorios de logs personalizados y extensiones de archivo
  • 🚀 Configuración Fácil - Funciona con Cursor, Claude Desktop, VS Code Copilot y más

🛠️ Herramientas Disponibles

HerramientaDescripciónParámetros
get_log_filesLista los archivos de log disponibles con metadatosNinguno
tail_logObtiene las últimas N líneas de un archivo de logfilename, lines
get_errorsObtiene las entradas de error recientes del loglines
get_server_statusResumen del estado del servidor a partir de los logsNinguno
watch_logMonitorea un archivo de log para detectar cambiosfilename
search_logsBusca texto en archivos de logquery, filename, lines

📦 Instalación

🚀 Configuración en un Solo 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

¡Eso es todo! El script de instalación descargará el archivo del servidor directamente y configurará Cursor automáticamente. ¡Solo reinicia Cursor y estarás listo!

Alternativa: Configuración en Dos Comandos

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

Alternativa: Configuración Manual

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

Uso con NPX (Sin Instalación)

npx local-logs-mcp-server

Instalación Manual

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

⚙️ Configuración

✅ Configuración Automática (Predeterminada)

¡El paquete configura Cursor automáticamente por ti! No se necesita configuración manual.

🔧 Configuración Manual (Si es necesario)

Para Cursor IDE

Agrega a tu .cursor/mcp.json (específico del proyecto) o a la configuración global de MCP:

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

Para Claude Desktop

Agrega a tu configuración de MCP de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json en Mac):

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

Para VS Code (GitHub Copilot)

Agrega a tu .vscode/mcp.json:

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

Para Windsurf (Codium)

Agrega a tu configuración de MCP de Windsurf:

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

🔧 Variables de Entorno

VariableDescripciónPredeterminado
LOGS_DIRDirectorio que contiene los archivos de logAuto-detectado (ver abajo)
LOG_EXTENSIONSExtensiones de archivos de log separadas por comas.log,.txt

Auto-Detección del Directorio de Logs

Si LOGS_DIR no se especifica, el servidor busca automáticamente logs en este orden de prioridad:

  1. ./logs (directorio actual)
  2. ./apps/backend/logs (estructura de monorepo)
  3. ./server/logs (directorio del servidor)
  4. ./backend/logs (directorio backend)
  5. /var/log (logs del sistema en Linux/Mac)
  6. C:\logs (logs del sistema en Windows)

📋 Ejemplos de Uso

Una vez configurado con tu cliente MCP, puedes usar comandos en lenguaje natural:

Comandos Básicos

  • "Revisa mis logs del servidor"
  • "¿Hay errores en los logs?"
  • "¿Cuál es el estado de mi servidor?"
  • "Muéstrame los archivos de log disponibles"

Comandos Avanzados

  • "Muéstrame las últimas 50 líneas de error.log"
  • "Busca en los logs 'conexión de base de datos'"
  • "Monitorea access.log para detectar cambios"
  • "Encuentra todas las entradas de log que contengan 'TypeError'"

🏗️ Ejemplos de Estructura de Proyecto

Proyecto Node.js Estándar

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

Estructura de Monorepo

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

🔍 Formatos de Log Soportados

El servidor funciona con cualquier archivo de log basado en texto y puede analizar:

  • Logs de Winston (formato JSON y texto)
  • Logs de acceso de Morgan
  • Logs de Pino
  • Logs de Bunyan
  • Logs de aplicaciones personalizadas
  • Logs del sistema
  • Cualquier archivo .log o .txt

Ejemplos de Formatos de Log

Formato de Texto de 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 de 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"}

🛡️ Seguridad

  • Acceso de solo lectura - El servidor solo lee archivos de log, nunca escribe ni modifica
  • Alcance del directorio - Solo accede a archivos en el directorio de logs especificado
  • Sin acceso a red - Opera completamente en archivos locales
  • Respeto de permisos - Respeta los permisos del sistema de archivos

🚀 Rendimiento

  • Lectura eficiente de archivos - Usa streaming para archivos de log grandes
  • Consciente de la memoria - No carga archivos completos en memoria
  • Búsqueda rápida - Algoritmos de búsqueda de texto optimizados
  • Dependencias mínimas - Solo usa módulos integrados de Node.js

🤝 Contribuciones

  1. Haz un fork del repositorio
  2. Crea tu rama de características (git checkout -b feature/amazing-feature)
  3. Haz commit de tus cambios (git commit -m 'Add amazing feature')
  4. Haz push a la rama (git push origin feature/amazing-feature)
  5. Abre una Solicitud de Extracción (Pull Request)

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.

🐛 Solución de Problemas

El servidor muestra estado rojo/error

  • Verifica que el directorio de logs exista y sea accesible
  • Verifica que los archivos de log tengan permisos de lectura adecuados
  • Asegúrate de que la versión de Node.js sea 14 o superior
  • Verifica que la ruta del servidor sea correcta en tu configuración de MCP

No hay herramientas disponibles

  • Reinicia tu cliente MCP (Cursor, Claude, VS Code)
  • Verifica que la sintaxis de la configuración de MCP sea JSON válido
  • Verifica que el servidor MCP esté respondiendo (prueba con echo '{"jsonrpc":"2.0","method":"initialize","id":1}' | npx local-logs-mcp-server)

Archivos de log no encontrados

  • Configura la variable de entorno LOGS_DIR correcta
  • Asegúrate de que tu aplicación esté escribiendo realmente en archivos de log
  • Verifica que las extensiones de archivo coincidan con la configuración de LOG_EXTENSIONS
  • Verifica que los permisos del directorio permitan la lectura

Problemas Comunes con el Directorio de Logs

Problema: "Directorio de logs no encontrado"

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

Problema: "No se encontraron archivos de log"

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

📚 Ejemplos

Configuración Completa de Cursor

  1. Instala globalmente:

    npm install -g local-logs-mcp-server
    
  2. Agrega a .cursor/mcp.json:

    {
      "mcpServers": {
        "local-logs": {
          "command": "local-logs-mcp",
          "env": {
            "LOGS_DIR": "./logs"
          }
        }
      }
    }
    
  3. Reinicia Cursor y prueba:

    • Pregunta: "Revisa mis logs del servidor"

Configuración Completa de Claude Desktop

  1. Abre la configuración de Claude Desktop:

    # Mac
    open ~/Library/Application\ Support/Claude/claude_desktop_config.json
    
    # Windows
    notepad %APPDATA%\Claude\claude_desktop_config.json
    
  2. Agrega la configuración:

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

🔗 Proyectos Relacionados


Hecho con ❤️ para la comunidad MCP