Skip to main content
Glama

local_lint_summary

Read-only

Summarize long linter, test, or CI logs with a local model, grouping results by file and error type without loading full output into context.

Instructions

PREFER this tool over reading the file with Read when the file is large (>200 lines / >10 KB) and you only need a grouped summary, not the literal content. If you ran a command with long output, dump it to a file and pass 'path'.

Summarizes linter/test/CI output with a local model, without spending Claude's context.

Meant for long, noisy logs (ESLint, clippy, pytest, tsc, CI). Pass 'path' and the file is read
server-side, so the full log does NOT enter Claude's context: only a summary grouped by file
comes back, with the count per error type/rule and the most important first. Alternatively
pass 'text'. Routes automatically to the mechanical model (short) or the long-context model
(long).

Args:
    path: Path to the lint/test output file (read server-side). Use this or 'text'.
    text: Lint/test output as text.
    max_words: Maximum length of the summary in words.

Input Schema

NameRequiredDescriptionDefault
pathNo
textNo
max_wordsNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnlyHint/openWorldHint, but the description discloses substantial extra behavior: the file is read server-side, the raw log never enters Claude's context, output is grouped by file with per-rule counts, most important first, and it auto-routes between a mechanical and long-context model.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the key selection rule ('PREFER this tool over reading the file with Read...') before elaborating. It is a bit long and the Args section partly repeats schema titles, but every major sentence adds usable context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be described, and the description covers selection criteria, input modes, server-side reading, and routing. Nothing an agent needs in order to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, and it does for path (read server-side) and text (alternative input), including their mutual exclusivity. max_words is only restated in the args list with no added nuance, so it falls slightly short of full compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Summarizes) and resource (linter/test/CI output) and immediately differentiates itself from reading files with Read. An agent can distinguish it from siblings like local_summarize or local_extract without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to prefer this tool ('large file >200 lines / >10 KB and you only need a grouped summary, not the literal content') and names the alternative (Read). It also gives routing guidance (path vs text, automatic model selection), leaving nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.