Skip to main content
Glama
crunchtools

mcp-syslog

by crunchtools

mcp-syslog-crunchtools

Servidor MCP para los logs recopilados por crunchtools/syslog.

Construido para RT #1460, para cerrar una brecha concreta: Nagios avisa a Hermes y Hermes puede reiniciar un servicio, pero no puede leer los logs del servicio — así que toda corrección es un reinicio a ciegas. Esto la convierte en una corrección informada.

Capacidades

Herramienta

Qué responde

syslog_sources_tool

¿Qué puedo consultar?

syslog_search_tool

Muéstrame los ERR de este servicio en los últimos 15 minutos

syslog_grep_tool

¿Dónde aparece esta cadena en toda la flota?

syslog_tail_tool

¿Cuáles son las líneas más recientes de este servicio?

syslog_context_tool

¿Qué decía todo alrededor de las 03:14?

syslog_stats_tool

¿Qué servicio es el más ruidoso y cuál está realmente en mal estado?

Related MCP server: cloudwatch-mcp

El bucle de triaje

nagios_current_problems_tool          → what is broken
syslog_search_tool(source=…,          → why it broke
                   severity="ERR",
                   since="15m")
syslog_context_tool(timestamp=…)      → what else was happening at that moment
nagios_schedule_check_tool            → confirm the fix

syslog_context_tool sin un source es el que justifica su valor. Abarca todas las fuentes a la vez, que es como se conecta "la aplicación se ha caído" con "el contenedor de la base de datos se quedó sin memoria (OOM) cuatro segundos antes".

Notas de diseño

Cada resultado está limitado y avisa cuando lo está. Los logs no tienen límite y esta salida va a parar a la ventana de contexto de un modelo. Cada herramienta limita sus resultados, limita cuántas líneas escaneará y anota la respuesta cuando se alcanza cualquiera de los límites:

[!] Stopped after the 2,000,000-line scan limit, so this result is INCOMPLETE
    and an empty or short result does not mean nothing happened.

Esa anotación es esencial. Quien realiza la llamada no sepa distinguir entre "no ha habido errores" y "he dejado de buscar" sacará una conclusión equivocada de un resultado vacío — y este servidor existe para fundamentar las decisiones de corrección.

El filtrado por tiempo es barato. El colector pone la fecha en el nombre del archivo, así que una consulta de diez minutos abre un solo archivo en lugar de leer noventa días de historial.

Los nombres de las fuentes no son fiables. Vienen de un modelo y se usan para construir una ruta del sistema de archivos. Cada una se resuelve y luego se confirma que sigue dentro de la raíz de los logs, lo que detecta el traversal de rutas, las rutas absolutas y los enlaces simbólicos que apuntan fuera del árbol — ver tests/test_security.py.

La severidad es "al menos este nivel". severity="ERR" devuelve ERR, CRIT, ALERT y EMERG. Una severidad no reconocida se mantiene en lugar de descartarse, porque ocultar una línea que no entiendes es peor que mostrarla — pero no se cuenta como error en syslog_stats_tool, o un servicio sano reportaría una tasa de error del 57%.

La severidad no es maldad. Podman registra cualquier cosa que un contenedor escribe en stderr con prioridad err, y no son pocos los servicios que registran ahí un INFO rutinario. En lotor, mcp-trentina ronda el 65% de "ERR" mientras está completamente sano:

PRIORITY=3 | 2026-08-23 15:55:24 INFO  httpx: HTTP Request: GET https://... "200 OK"

El colector es fiel al registro del journal; el journal está informando del descriptor de archivo. Lee el mensaje y prefiere un cambio en la tasa de errores a su valor absoluto. Esta misma advertencia está en las instrucciones MCP del servidor, para que un agente que lo consulte reciba exactamente esa indicación.

Se procesan dos formatos de línea. El colector emitía cinco campos antes de 2026-08-23 y seis después, y las líneas antiguas permanecen en retención durante 90 días. La disposición que usa una línea se decide según dónde se encuentre una severidad real, no contando campos.

Formato de logs

El colector escribe seis campos separados por espacios:

2026-08-23T15:41:52+00:00 crunchtools.com crunchtools.com httpd ERR AH00169: caught SIGTERM
└─ timestamp ───────────┘ └─ host ──────┘ └─ source ────┘ └prog┘ └sev┘ └─ message ────────┘

source es el flujo de logs — normalmente un nombre de contenedor. program es el proceso dentro de él, algo relevante para los contenedores systemd donde httpd, php-fpm y mariadb se archivan bajo un mismo nombre de servicio.

Configuración

Variable

Predeterminado

Propósito

SYSLOG_LOG_ROOT

/logs

Raíz de logs, montada en solo lectura

SYSLOG_MAX_RESULTS

200

Límite de entradas devueltas por llamada

SYSLOG_SCAN_LIMIT

2000000

Límite de líneas examinadas por llamada

No hay credenciales: el servidor lee archivos de un bind mount de solo lectura.

Ejecución

podman run -d --name mcp-syslog \
  --network crunchtools \
  -p 127.0.0.1:8027:8027 \
  -v /srv/syslog.crunchtools.com/data/logs:/logs:ro \
  quay.io/crunchtools/mcp-syslog:latest \
  --transport streamable-http --host 0.0.0.0 --port 8027

Monta :ro. Este servidor nunca necesita escribir, y un montaje de solo lectura hace que un error aquí no pueda destruir el registro forense que existe para proteger.

Desarrollo

uv sync
uv run ruff check src tests
uv run mypy src
uv run pytest -v
Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides comprehensive logging and monitoring capabilities for MCP services with real-time log tailing, advanced search, error analysis, and anomaly detection. Enables centralized log aggregation, correlation tracking, and health monitoring across all MCP ecosystem services.
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables querying and analyzing logs from multiple remote Unix hosts via the Log Collector API, with tools for search, error detection, and summary generation.
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides telemetry tools for retrieving recent logs and system metrics to support root-cause analysis of infrastructure incidents. Enables autonomous incident triage with grounded verification and human-in-the-loop remediation.
    1

View all related MCP servers

Related MCP Connectors

  • Read-only access to Auralogs production logs: search logs, inspect errors, review AI analyses.

  • Investigate errors, track deployments, analyze performance, and manage application monitoring

  • Software component catalog: search your org's services, docs, APIs, dependencies, and ownership.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/crunchtools/mcp-syslog'

If you have feedback or need assistance with the MCP directory API, please join our Discord server