mcpField
L
loglens

loglens

ローカル
github.com/CloudCorpRecordsデータ・分析01 週間前に更新

loglens について

loglensは、ホームラボ運用者向けのローカルログ調査CLI兼stdio MCPサーバーです。ネットワークに接続せず、JSONLログを調べられます。

主な機能

  1. 01ログストアの状態確認
  2. 02最新レコードやエラーの表示
  3. 03語句や条件による検索
  4. 04時間・日単位の件数集計
  5. 05指定時刻前後のレコード表示
  6. 06CLIとstdio MCPサーバー

活用シーン

  1. 01ホームラボの最近の動作確認
  2. 02エラーや語句に一致するログの検索
  3. 03時間経過に伴うログ量の確認
  4. 04障害時刻前後のレコード調査

MCP 対応

stdio MCPサーバーとして、状態、最新ログ、エラー、検索、タイムライン、コンテキスト、ヘルプを扱う単一の振り分けツール `cortex` を提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-loglens": {
"command": "npx",
"args": [
"-y",
"@reneturcios/loglens"
]
}
}
}
起動コマンドnpx -y @reneturcios/loglens

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/loglens0.1.0
ocighcr.io/cloudcorprecords/loglens:0.1.0

ツール

1

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
levelstringいいえフィルターに使用するログレベル。
limitintegerいいえ返すレコードの最大数。
querystringいいえログメッセージおよびソースと照合する検索テキスト。
sincestringいいえ時間範囲の開始時刻。ISO-8601 タイムスタンプ形式で指定します。
untilstringいいえ時間範囲の終了時刻。ISO-8601 タイムスタンプ形式で指定します。
actionenumはい実行するアクション:status、tail、errors、search、timeline、context、help のいずれか。status | tail | errors | search | timeline | context | help
bucketenumいいえタイムラインのバケットサイズ:hour または day。hour | day
sourcestringいいえフィルターに使用するログソース名。
timestampstringいいえコンテキスト結果の中心位置を指定するタイムスタンプまたはレコードインデックス。
window_minutesintegerいいえコンテキスト結果のタイムスタンプ前後の時間枠(分)。

詳細

loglens

loglens は、ローカルファイルに保存されたホームラボのログを調査します。ストアに何が保存されているか、直近で何が届いたか、何がエラーになったか、特定の用語を含むもの、時間経過に伴うボリュームの分布、ある時点の前後に何があったかを確認できます。1 つのバイナリで、コマンドラインインターフェースと、単一のアクションディスパッチ型ツール cortex を公開する stdio MCP サーバーの両方を提供します。

これは、ラベル付きのコアサブセットです。モデルにしたツールはカタログ内の 60 個のアクションをディスパッチしますが、loglens が実装しているのはそのうちの 7 個、つまり status、tail、errors、search、timeline、context、help です。残りの 53 個(フリートとトポロジーの表示、AI セッション分析、相関分析と異常分析、エラーの確認、通知、管理機能)は実装していません。help アクションは、実行時に実装済みのサブセットと未実装のアクションを一覧表示します。

ログファイル

レコードは JSONL ファイルに格納されます。各行は 1 つの JSON オブジェクトで、ts(ISO-8601 タイムスタンプ)、level、source、message を含みます。

{"ts":"2026-10-26T09:15:00.000Z","level":"info","source":"docker/web","message":"container started"}
{"ts":"2026-10-26T09:16:12.000Z","level":"error","source":"syslog","message":"disk almost full"}

パスは、CLI の --file、環境変数 LOGLENS_LOG_FILE、./loglens.jsonl の順に使用されます。不正な行(不正な JSON、フィールドの欠落、解析できないタイムスタンプ)はスキップして数に記録されますが、致命的なエラーにはなりません。ファイルが見つからない場合、データアクションでは明確なエラーになります。一方、status は exists: false としてストアの状態を報告し、help はストアを必要としません。すべての処理はローカルで決定論的に行われ、ネットワークには一切アクセスしません。

インストール

npx @reneturcios/loglens status

または、コンテナーイメージを実行します。

docker run -i ghcr.io/cloudcorprecords/loglens

コンテナーはデフォルトで MCP サーバーを起動します(下記を参照)。CLI として使用するには、CLI 引数を渡してください。ログファイルをマウントし、LOGLENS_LOG_FILE にコンテナー内のパスを設定します。

CLI

export LOGLENS_LOG_FILE=/var/log/homelab.jsonl

loglens status
loglens tail --limit 5 --source docker/web
loglens errors --limit 10
loglens search "disk" --since 2026-10-26T00:00:00.000Z
loglens timeline --bucket day
loglens context 2026-10-26T09:16:12.000Z --window-minutes 5
loglens context 12 --limit 3
loglens help

loglens --version

コマンドは JSON の結果を出力します。tail、errors、search はレコードを新しい順に返し、context はファイル内の順序で返します。context は、タイムスタンプ(--window-minutes の範囲内にあるレコード、または最も近いレコードの前後にある --limit 件のレコード)か、単独のレコードインデックス(その位置の前後にある --limit 件のレコード)のどちらかを受け取ります。終了コードは、成功時が 0、操作の失敗時(ログファイルが見つからない場合を含む)が 1、使用方法のエラー時が 2 です。

MCP サーバー

1 つのバイナリで両方の機能を提供します。mcp サブコマンドで stdio MCP サーバーを起動します。

npx -y @reneturcios/loglens mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "loglens": {
      "command": "npx",
      "args": ["-y", "@reneturcios/loglens", "mcp"],
      "env": { "LOGLENS_LOG_FILE": "/absolute/path/to/logs.jsonl" }
    }
  }
}
ツール
ツール入力返される内容
cortexaction(必須。status、tail、errors、search、timeline、context、help のいずれか)、および任意の query、source、level、limit、since、until、bucket(hour または day)、timestamp、window_minutesアクションに応じて、ストアの概要、条件に一致する最新のレコード、時間別または日別のボリュームバケット、ある時点の前後のレコード、またはサブセットのヘルプテキストを返します。

最初の呼び出しには {"action":"status"} が便利です。その後、tail、errors、search、timeline、context で絞り込みます。

開発

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, real temp JSONL files, no network
npm run dev     # run the CLI from source via tsx

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。