Less noise.More signal.
A clearer feedback loop
for the work ahead.
A local MCP server that turns your JS/TS diagnostics into grouped, prioritized context. Keep your toolchain. Give your agent the signal.

Two groups to investigate.
Not fifty-two separate distractions.
Illustrated benchmark. Not a live scan or a root-cause verdict.
npm install --save-dev signalint-mcp@1.2.1LOCAL STDIOOPEN SOURCE / MITNODE ≥ 22.12
YOUR WORKFLOW.Setup guides
Read the pattern.
Keep the detail.
A smaller thing to read. A concrete place to start. Inspect the example, then switch to the raw excerpt.
check_projectMCP TOOLLess to read. More to act on.
1.4P1Type mismatchTS2322·21 issues across 11 files
src/file01.ts:3:14Type 'string' is not assignable to type 'number'.
Investigate whether these TS2322 occurrences share a cause.P5Unused variablesno-unused-vars·31 issues across 11 files
Inspect the repeated no-unused-vars diagnostics.
Use get_issue_detail for matching normalized diagnostics.tsc --pretty falseEXCERPTType 'string' is not assignable to type 'number'.
Type 'string' is not assignable to type 'number'.
Type 'string' is not assignable to type 'number'.
Type 'string' is not assignable to type 'number'.
Context.
Not a compiler dump.
Group repeated rules. Put higher-priority issues first. Request matching diagnostics when you need to investigate.
- 01Grouped by rule & scope
- 02Ranked P1 → P5
- 03Normalized detail on demand
Counts are bounded, not every response’s byte size. Read the limits.
86.9% fewer bytes in this fixture.
94.9% fewer bytes in this fixture.
Audit rerun, not a universal guarantee. 52 issues · 11 files · 2 clusters. Pretty JSON bytes ≠ MCP wire traffic or model tokens; paths and serialization affect size.
A check is a baseline.
Not the end.
Save the context. Make the edit. Compare what changed, then check what was actually covered.
- 01Keep the baseline
check_projectSave the check ID, scope and engine outcomes.
- 02Verify your edit
after_edit_checkCheck changed files against an optional baseline.
- 03Read the delta
compare_diagnosticsIntroduced. Resolved. Unchanged. Confirm coverage.
A little further
into the workflow.
Use the parts you need.
Read the boundaries first.
After-edit hooks
Host-shaped feedback. Preview the configuration; review the policy limits.
Workspace planning
Opt-in pnpm discovery, dependency ordering and partitioned TypeScript state.
Supplied live diagnostics
Normalize supplied LSP or external language reports. No built-in watcher.
Explicit patch transactions
Stage replacement content, then apply. Adjacent replacements; in-process best-effort rollback.
Your toolchain.
Still your toolchain.
Signalint runs in your project environment. Your agent may use remote models. The boundary matters.
Your toolchain
Use the engines your project configures.
Signalint
Normalize.
Group & prioritize.
Retain & compare.
Built for the
next check.
Not just a smaller first response. A more useful way to return to the work.
Auto switches every 8 seconds.
Interact to pause; press play to resume.
Use ↑ / ↓ to explore.
The pattern comes first.
Repeated diagnostics become rule-based clusters. Systemic errors come before lower-priority warnings; matching normalized details are available when you need them.
Clustering & prioritiesA rule-and-scope heuristic, not a proven root cause.
A match, not a shortcut.
Reuse results when the engine’s cache key matches. File checks filter displayed paths; TypeScript still checks its configured program and uses a bounded source-metadata fingerprint.
Cache behavior & limitsContent, compiler inputs and scope have documented edges.
Some errors come back.
A diagnostic disappears, then returns. Or a file keeps triggering the same rule. Persistent session history exposes these patterns without claiming the repair is correct.
Loop & churn detectionAbsent in one check does not mean fixed or fully checked.
A small setup.
A useful next step.
Bring your engines. Connect your client. Make your first check count.
- 01Add Signalint
A dev dependency alongside the diagnostic engines you choose.
- 02Initialize your project
Detect engine configuration and select your MCP client.
- 03Inspect the environment
Doctor reports a limited set of setup checks.
Engines are optional peers, not bundled promises. Install the ones your project needs.
npm install --save-dev signalint-mcp@1.2.1npx signalint-mcp initnpx --no-install signalint doctorpnpm add -D signalint-mcp@1.2.1pnpm exec signalint initpnpm exec signalint doctoryarn add -D signalint-mcp@1.2.1yarn run signalint inityarn run signalint doctorBring your project's engines: Oxlint, TypeScript, Biome, or ESLint. Signalint no longer bundles Oxlint/TypeScript. Engine setup
Current package. Verified guidance.
- Latest on npm
- v1.2.1
- Package requires Node
- >=22.12.0
- Project last updated
- Oct 11, 2026
- Docs verified against
- v1.2.1
Saved project snapshot. Live metadata refreshes when available.
The published package differs from the verified docs edition. Read the release notes before applying these examples.