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

トリアージループ

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日分の履歴を読むのではなく、1つのファイルを開くだけで済みます。

ソース名は信頼しません。 ソース名はモデルから渡され、ファイルシステムのパスを組み立てるために使われますません。そのため、各ソース名を解決した上で、ログのルートディレクトリ内部にあることを確認します。これにより、パストラバーサル、絶対パス、ツリーの外方を指すシンボリンクを検出できます。tests/test_security.py を参照してください。

重大度は「これ以上の深刻さ」を意味します。 severity="ERR" は ERR、CRIT、ALERT、EMERG を返します。認識できない重大度は捨てずに残します。理解できない1行であっても、隠してしまう方が表示するよりも悪いからです。ただし、それは syslog_stats_tool のエラーとしては数えません。数えた場合、正常なサービスでもエラー率が57%になってしまいます。

重大度は悪いことを意味しません。 Podmanは、コンテナが stderr に書き込んだものを、優先度 err として記録します。多くのサービスがそこに定例の INFO を記録しています。lotor 上の `mcp-trentXX は、完全に正常でありながら65%が「ERR」として記録されいます。

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

コレクタはジャーナルを忠実に報告しており、ジャーナルはファイル記子を報告しています。メッセージを読み、エラー率の絶対値ではなく、その変化に注目してください。この注意点はサーバーの MCP インタラクションにも含まれているため、問い合わせるエージェントにも同じことが伝わります。

2種類の行形式を解析します。 コレクタは 2026-08-23 より前は5つのフィールドを、それ以降は6つのフィールドを出力しています。古い行は90日間保持されます。ある行がどのレイアウトかを決めるのは、フィールド数ではなく、実際の重大度がどこに位置するかです。

ログ形式

コレクタは、スペース区切りの6つのフィールドを書き出します。

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コンテナでは httpdphp-fpmmariadb のすべてが1つのサービス名にまとめられるため、重要です。

設定

変数

既定値

目的

SYSLOG_LOG_ROOT

/logs

コレクタのログ・ルート。読み取り専用でマウント

SYSLOG_MAX_RESULTS

200

1回の呼び出しで返すエントリ数の上限

SYSLOG_SCAN_LIMIT

2000000

1回の呼び出しで検査する行数の上限

認証情報は不要です。このサーバーは読み取り専用のバインドマウントからファイルを読むだけです。

実行

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

:ro でマウントします。このサーバーが書き込みを行う必要は一切ありません。読み取り専用でマウントしておくことは、万が一このサーバーにバグがあっても、保護すべき証拠の記録を破壊してしまわないようにするためです。

開発

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