mcp-syslog
mcp-syslog-crunchtools
crunchtools/syslog が収集したログを扱うための MCP サーバーです。
RT #1460 のために作られ、特定のギャップを埋めることを目的としています。Hermes は Nagios にページングされてサービスを再起動することはできますが、そのサービスのログを読むことはできません。そのため、すべての復旧対応が「見えないままの再起動」になります。このサーバーは、それを状況を把握した上での再起動に変えます。
機能
ツール | 回答内容 |
| 何を照会できますか? |
| このサービスの直近15分間の ERR を表示します |
| この文字列はフリート全体のどこに出現しますか? |
| このサービスの最新の行は何ですか? |
| 03:14 頃、すべてのログは何を言っていたのか? |
| どのサービスが最も多くのログを出力し、実際に異常なのはどれか? |
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 fixsource を指定しない 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コンテナでは httpd、php-fpm、mariadb のすべてが1つのサービス名にまとめられるため、重要です。
設定
変数 | 既定値 | 目的 |
|
| コレクタのログ・ルート。読み取り専用でマウント |
|
| 1回の呼び出しで返すエントリ数の上限 |
|
| 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 -vMaintenance
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
- -licenseNot gradedqualityNot gradedmaintenanceProvides 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.
- FlicenseAqualityDmaintenanceEnables searching and analyzing AWS CloudWatch logs with support for configurable log groups, time-based searches, and service-specific log stream filtering.5
- FlicenseNot gradedqualityDmaintenanceEnables querying and analyzing logs from multiple remote Unix hosts via the Log Collector API, with tools for search, error detection, and summary generation.
- FlicenseNot gradedqualityBmaintenanceProvides 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
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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