Jarroba Tools · Logs

io.github.Invarato由 GitHub 帳號 Invarato 發布v0.3.0更新於 Oct 29, 2026

Lets your AI read a CI log far too big for its context. 12 tools, takes a file path.

已驗證STDIO僅桌面開發者工具安全與監控

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理依檔案路徑分析超大的 CI 或生產日誌,不必把日誌貼進上下文。

可以做什麼
  • 分析日誌檔:格式、事件數、等級、時間範圍、含根因的錯誤、高頻模式
  • 偵測趨勢:哪些模式暴增、哪些是新出現、哪些已停止出現
  • 檢視某一時刻前後的上下文,並找出區分某組事件的欄位=值組合
  • 把日誌行歸併為範本(含稀有範本),並依字元預算精簡日誌
  • 解析 Java、Python、Node、Go、.NET、Rust、Ruby、PHP 的堆疊追蹤
  • 檢查日誌品質、轉換格式、依時間排序輪替日誌,以及檢查或建議日誌設定檔
適用情境
適合在排查失敗的 CI 執行或生產事故時使用,尤其是日誌大到無法貼上的情況;也適合讓助理直接回答關於磁碟上日誌檔的問題,而不必為重複行耗費上下文。
執行需求
透過 npx 從 npm 套件 @jarroba/mcp-logs 以 stdio 在本機執行,需要 Node.js,首次下載需要網路。無需帳號、端點或 API 金鑰。選用環境變數 JARROBA_MCP_DOMAINS 可選擇要發布哪些工具領域。
安裝前請注意
這些工具能讀取啟動程序可讀的任何檔案,因此權限等同於 MCP 主機。回傳給模型的日誌內容會進入其上下文且未經淨化,惡意日誌文字構成間接提示注入管道。lint 輸出會遮蔽密鑰,但日誌本身仍被完整讀取。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Jarroba Tools · Logs,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

@jarroba/mcp-logs

An MCP server that lets your AI read a log it could never fit in its context.

bash
claude mcp add jarroba-logs -- npx -y @jarroba/mcp-logs
jsonc
// Claude Desktop, Cursor, Cline, VS Code…{ "mcpServers": { "jarroba-logs": { "command": "npx", "args": ["-y", "@jarroba/mcp-logs"] } } }

12 tools · ~5.5k tokens of context · stdio, runs on your machine · nothing is uploaded.

Why this exists

Every log tool for an AI takes pasted text. A production or CI log is tens or hundreds of MB, so pasting is not an option — and the interesting part is never the part you would have pasted.

These tools take a file path. The server runs in Node, so it opens the file itself and hands back only what fits. An agent debugging a red CI run cannot read the log; it can ask questions about it.

The tools

log_analyzeFormat, number of events (a 40-line stack trace is one), levels, time range, errors with their root cause resolved, most frequent patterns.
log_trendsWhen did it start. Compares each pattern against itself, not against total volume — in a busy service everything rises at 9am and nothing happened. Returns what spiked, what is new, and what stopped appearing: the last one raises no counter anywhere and is often the worse news.
log_aroundWhat else clustered around a moment. What started before is a candidate explanation; what came after is usually a consequence. Correlation is not causation, and order is what separates them.
log_distinguishWhat sets a group of events apart from the rest: the field=value pairs over-represented in it (by default, in the errors). Of 300 errors, 92% on version=2.4.1 against 4% of the rest is the deploy that broke it — found without reading 300 errors. Unique-per-event fields are skipped: they identify, they do not distinguish.
log_patternsGroups lines into templates (Drain): "connected to 10.0.0.1" and "connected to 10.0.0.7" are one message. Also returns the rare ones, which is usually what you were looking for.
log_reduceCuts to a character budget keeping errors with their full trace, the window before, and whatever appears only once. Repeats collapse to [xN]. For handing a big log to a model without spending the context on the same line repeated.
log_stacktraceJava/JVM, Python, Node, Go, .NET, Rust, Ruby, PHP: the Caused by chain, the root cause, and the first frame of your code — inferred from the trace if you do not say.
log_lintWhether the log is well written, not what happened: secrets printed, one line flooding the file, timestamps with no time zone (which make two machines impossible to correlate), the clock going backwards, no request id. Secrets come back masked.
log_convertJSON / logfmt / syslog 5424 / CSV / OpenTelemetry / ECS — saying up front what the conversion loses.
log_rotationPuts rotated logs in time order. Rotation numbering runs backwards against time (app.log.3 is older than app.log.1) and alphabetically app.log.10 sorts before app.log.9. Use it first, or you read them backwards.
log_profile_check
log_profile_suggest
A reusable profile describing how your team's logs look. check returns every error with its exact field, so a model can correct itself in one pass.

Make your agent use it (Claude Code hook)

An agent with these tools will still Read a 300 MB log out of habit. hooks/big-log-read.mjs is a PreToolUse hook that stops a Read of a big log (by name: *.log, rotated *.log.N[.gz], *.jsonl, anything under logs/; by size: 2 MB, JT_BIG_LOG_BYTES to change it) and tells the agent to call log_analyze / log_reduce with the path instead. Everything else goes through untouched.

json
{ "hooks": { "PreToolUse": [ { "matcher": "Read", "hooks": [  { "type": "command", "command": "node /path/to/big-log-read.mjs" } ] } ] } }

Two things it will not do

  • It will not invent the server's time zone. That is not in the log, and guessing it shifts the entire timeline without anyone noticing. log_profile_suggest says so instead of filling it in.
  • It will not tell you how long anything took if the log has no timestamps. It says it cannot.

Privacy, and an honest note

Transport is stdio: your MCP host launches this as a subprocess and talks over stdin/stdout. There is no endpoint, no account and no telemetry. npx downloads the package from npm to your machine the first time; after that nothing goes out.

Two things worth knowing rather than discovering:

  • These tools read whatever the process that launched them can read. That is the point — it is how a 200 MB log becomes answerable — so they are exactly as privileged as your MCP host.
  • What a tool returns enters your model's context. A log file with hostile text inside it is an indirect prompt-injection channel, the same way a web page is. Nothing here sanitizes that.

Every tool declares MCP annotations: all are readOnlyHint: true, and all are openWorldHint: true because the answer comes from the disk rather than from the arguments.

More

Part of Jarroba Tools — the same engine as the web tools, so the answer is identical. Want everything (90 tools, databases, diagrams, test auditing, SPARQL)? @jarroba/mcp.

MIT — see LICENSE. Source: github.com/Invarato/jarroba-mcp.

來源:mcp/packages/logs/README.md,提交 b94171a

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

10
  1. v0.3.0最新Oct 29, 2026
  2. v0.2.0Oct 23, 2026
  3. v0.1.11Oct 21, 2026
  4. v0.1.10Oct 18, 2026
  5. v0.1.9Oct 9, 2026
  6. v0.1.7Oct 2, 2026
  7. v0.1.6Sep 29, 2026
  8. v0.1.5Sep 26, 2026
  9. v0.1.4Sep 16, 2026
  10. v0.1.2Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分