Skip to main content
Glama
crunchtools

mcp-syslog

by crunchtools

mcp-syslog-crunchtools

crunchtools/syslog가 수집한 로그를 위한 MCP 서버입니다.

RT #1460을 위해 특정 공백을 해소하고자 만들어졌습니다: Hermes는 Nagios에서 페이지를 받고 서비스를 재시작할 수 있지만, 서비스의 로그를 읽을 수 없습니다. 그렇기에 모든 조치는 맹목적인 재시작입니다. 이 서버는 그것을 정보에 기반한 조치로 바꿉니다.

기능

도구

무엇을 알려주는가

syslog_sources_tool

무엇을 쿼리할 수 있는가?

syslog_search_tool

이 서비스에서 최근 15분간의 ERR를 보여줍니다

syslog_grep_tool

이 문자열이 전체 플릿에 어디에 나타나는가?

syslog_tail_tool

이 서비스의 가장 최근 줄은 무엇인가?

syslog_context_tool

03:14경에 모든 것이 무슨 로그를 남겼는가?

syslog_stats_tool

어떤 서비스가 가장 시끄럽고, 실제로는 어떤 것이 비정상인가?

Related MCP server: cloudwatch-mcp

분류(triage) 루프

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

source 없이 사용하는 syslog_context_tool이 그 존재 가치를 발휘합니다. 한 번에 모든 소스를 아우르기 때문에, “앱이 죽었다”는 것과 “데이터베이스 컨테이너가 4초 전에 OOM이 발생했다”는 것이 서로 연결됩니다.

설계 노트

모든 결과는 제한되어 있고, 그 사실을 명시합니다. 로그는 무한하지만 이 출력은 모델의 컨텍스트 창에 들어갑니다. 각 도구는 결과 수에 상한을 두고, 검토하는 줄 수도 제한하며, 어느 한도에 도달하면 그 사실을 답변에 주석으로 표기합니다:

[!] 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.

그 주석은 중요한 역할을 합니다. “오류가 벌어지지 않았음”과 “검색을 중단했음”을 구분할 수 없는 호출자는 빈 결과에서 잘못된 결론을 내리기 때문입니다. 그리고 이 서버는 수정 결정에 정보를 제공하기 위해 존재합니다.

시각 필터는 비용이 절감됩니다. 수집기가 파일 이름에 날짜를 넣기 때문에, 10분 분량의 질의는 90일간의 기록을 읽는 대신 파일 하나만 열면 됩니다.

소스 이름은 신뢰할 수 없습니다. 소스 이름은 모델에서 오며 파일 시스템 경로를 만드는 데 사용됩니다. 각 이름은 해석된 후 여전히 로그 루트 안에 있는지 확인되는데, 이는 트래버설, 절대 경로, 트리 밖을 가리키는 심볼릭 링크를 걸러냅니다 — tests/test_security.py를 참고하세요.

심각도는 “최소한 이 정도는 심함”을 의미합니다. severity="ERR"는 ERR, CRIT, ALERT 및 EMERG를 반환합니다. 인식되지 않는 심각도는 버리지 않고 유지됩니다. 이해하지 못하는 줄을 숨기는 것이 보여주는 것보다 나쁘다는 기준에 따른 것입니다. 그러나 syslog_stats_tool에서는 오류로 계산하지 않습니다. 그렇게 하지 않으면 정상 서비스가 오류율 57%로 보고될 수 있기 때문입니다.

심각도는 나쁜 상태를 뜻하지 않습니다. Podman은 컨테이너가 stderr에 쓰는 모든 것을 err 우선순위로 기록하며, 많은 서비스는 일상적인 INFO를 그곳에 남깁니다. lotor에서 mcp-trentina는 완전히 정상임에도 약 65%의 “ERR”를 기록합니다:

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

수집기는 journal을 충실히 보고하고 있으며, journal은 파일 디스크립터를 보고합니다. 메시지를 읽고, 오류율의 절대값보다 오류율의 변화를 우선하세요. 이 주의사항은 서버의 MCP 지침에도 포함되어 있어, 이 서버를 조회하는 에이전트도 동일한 안내를 받습니다.

두 가지 줄 형식이 파싱됩니다. 수집기는 2026-08-23 이전에는 다섯 개 필드를, 이후에는 여섯 개 필드를 생성했습니다. 이전 줄도 90일간 유지됩니다. 한 줄이 어느 구성을 사용하는지는 필드 수를 세어서 결정되지 않고, 실제 심각도 표시가 존재하는 위치로 결정됩니다.

로그 형식

수집기는 공백으로 구분된 여섯 개 필드를 기록합니다:

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

source는 로그 스트림(보통 컨테이너 이름)입니다. program은 그 내부의 프로세스로, systemd 컨테이너에서 httpd, php-fpm, mariadb가 모두 한 서비스 이름 아래 묶일 때 중요한 구분 기준입니다.

구성

변수

기본값

설명

SYSLOG_LOG_ROOT

/logs

수집기 로그 루트, 읽기 전용 마운트

SYSLOG_MAX_RESULTS

200

호출당 반환 항목 수 상한

SYSLOG_SCAN_LIMIT

2000000

호출당 검토하는 줄 수 상한

자격 증명이 없습니다. 서버는 읽기 전용 바인드 마운트에서 파일을 읽을 뿐입니다.

실행

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

필수로 지정합니다. 이 서버는 쓸 필요가 전혀 없으며, 읽기 전용 마운트는 이 서버의 버그가 보존해야 하는 포렌식 기록을 파괴할 수 없음을 보장합니다.

개발

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