Signalint

io.github.TranQui004由 GitHub 帳號 TranQui004 發布v1.2.1更新於 Oct 24, 2026

Local stdio MCP server for cached, loop-aware JS/TS diagnostics (Oxlint, tsc, Biome, ESLint).

已驗證STDIO僅桌面開發者工具資料與分析

概覽

AI 產生的概覽

本機 MCP 伺服器,執行 JS/TS 檢查器與編譯器,為編碼助理提供精簡、依優先級分群的診斷、驗證差異與迴圈偵測。

可以做什麼
執行全專案或增量檢查(含快取),依檢查 ID 取得完整問題詳情,並查看工作階段中的迴圈與規則反覆狀況。讀取不可變的診斷快照,比較基準檢查與目前檢查,得出新增、已解決與未變動的問題。接收外部 LSP 或編譯器診斷,並讀取帶來源資訊的即時緩衝診斷。在記憶體中暫存修正方案,套用到磁碟或捨棄。
適用情境
適合 AI 編碼助理在 JavaScript 或 TypeScript 儲存庫中工作時使用:讓它看到精簡、依優先級排序的 lint 與型別錯誤,而非大量原始編譯輸出;確認一次修改是減少問題而非只是挪動問題;避免重複同一種失敗的修正。
執行需求
透過 stdio 在本機執行,通常使用 npx signalint-mcp。需要 Node.js 22.12.0 或更新版本。專案需自行安裝診斷引擎(typescript、oxlint、eslint 和/或 @biomejs/biome),伺服器不自帶。初次使用執行 npx signalint init,會產生 signalint.config.json 並設定已安裝的 MCP 用戶端。僅支援桌面用戶端。
安裝前請注意
apply_diagnostic_fix 工具被標記為會變更且具破壞性:它會寫入檔案,僅有行程內盡力回滾,中斷時沒有持久化的當機復原。預覽與捨棄工具不會寫入磁碟。初始化會寫入設定檔並修改 MCP 用戶端設定,安裝掛鉤會改變宿主行為。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

Signalint

[CI] [npm version] [License: MIT] [Node.js]

Signalint is a reliable, read-only-by-default diagnostic intelligence layer for AI coding agents (Claude Code, Cursor, Codex, VS Code) and CI workflows.

Instead of flooding an agent's context window with thousands of raw compiler lines, Signalint normalizes diagnostics across compilers, linters, and language servers into bounded, priority-clustered issue summaries, calculates verification deltas against explicit baselines, and detects oscillating fix loops.


Key Differentiators

  • 13 Complete MCP Tools: From incremental checks and immutable snapshots to live diagnostic ingestion and journaled transactional fix application.
  • Verification Deltas: Exact arithmetic on introduced, resolved, and unchanged diagnostics with semantic identity matching that survives line shifts.
  • Immutable Snapshots & Concurrency Safety: Isolated in-memory snapshot store keyed by checkId eliminates race collisions during concurrent checks.
  • Monorepo-Aware Planning: Unites package manifests (pnpm-workspace.yaml) parsed via pure-JS YAML with glob negation exclusions and TypeScript Project References, ordering checks topologically.
  • Multi-Source Provenance: Distinguishes compiler, linter, and editor/LSP diagnostics across JavaScript, TypeScript, Python (Ruff/Mypy), Rust (Clippy), and Go (GolangCI-Lint).
  • Portable Host Hooks: Native verify-after-change adapters for Claude Code, Cursor, Codex, and VS Code.
  • In-Memory Previews & In-Process Rollback: In-memory previews never touch disk; apply uses per-file adjacent temporary-file replacement, pre-write drift detection, and in-process best-effort rollback for multi-file writes (does not claim persistent crash recovery if aborted abruptly).

Quick Start

1. Requirements

  • Node.js >= 22.12.0 (utilizes native node:sqlite).
  • Your project installs its own diagnostic engines (typescript, oxlint, eslint, and/or @biomejs/biome). Signalint detects project-local installations and ships no bundled engines.

2. Initialize in your repository

sh
npx signalint init

This detects your project's linters/compilers, generates signalint.config.json, and configures your installed MCP clients.

3. Add to MCP Clients

Add Signalint to your MCP configuration (e.g. claude_desktop_config.json, .cursor/mcp.json):

json
{  "mcpServers": {    "signalint": {      "command": "npx",      "args": ["-y", "signalint-mcp"]    }  }}

Complete MCP Tools Catalog

Signalint exposes 13 strictly typed MCP tools over stdio:

ToolCategorySafety AnnotationDescription
pingDiagnosticsRead-only (idempotent)Verifies server responsiveness and canonical project root path.
check_projectDiagnosticsRead-only (idempotent)Full project/workspace scan across all enabled engines.
check_filesDiagnosticsRead-only (idempotent)Fast incremental check on specific files using content-hash caching.
get_issue_detailDiagnosticsRead-only (idempotent)Retrieves full, unomitted issue records anchored to an immutable checkId.
get_loop_statusDiagnosticsRead-only (idempotent)Returns oscillating fix signatures and rule churn detected in the session.
get_diagnostic_snapshotSnapshotsRead-only (idempotent)Retrieves complete state and metrics for an immutable check snapshot.
compare_diagnosticsDeltasRead-only (idempotent)Computes verification delta between a baseline check and a current check.
after_edit_checkDeltasRead-only (idempotent)Runs incremental check on edited files and diffs against a baseline check.
ingest_diagnosticsLive / LSPRead-only (openWorld: false)Ingests external LSP or compiler diagnostics into Signalint's clustering model.
get_live_diagnosticsLive / LSPRead-only (idempotent)Returns active buffered diagnostics with source provenance.
preview_diagnostic_fixTransactionsRead-only (destructive: false)Stages proposed code fixes in-memory. Does not write to disk.
apply_diagnostic_fixTransactionsMutating (destructive: true)Per-file adjacent temp replacement, pre-write drift check, and in-process best-effort rollback.
discard_diagnostic_fixTransactionsRead-only (idempotent)Drops an in-memory fix transaction without touching disk.

See docs/mcp-contract.md for full JSON Schemas and error codes.


CLI Commands

Signalint includes a comprehensive command-line interface:

sh
# Run a project diagnostic scan:npx signalint check .npx signalint check src/ --format github    # GitHub Actions annotations
# View session statistics and cache economics:npx signalint stats
# Verify local engine availability and configuration:npx signalint doctor
# Manage host verify-after-change hooks:npx signalint hooks preview --runtime claudenpx signalint hooks install --runtime cursor --confirmnpx signalint hooks run --runtime claude --payload '<json-event>'

Monorepo Support

Signalint natively understands multi-package monorepos:

  • Configure "monorepoMode": "auto" in signalint.config.json to detect pnpm-workspace.yaml via pure-JS YAML parsing with glob negation exclusions (!).
  • Strictly differentiates local workspace packages (workspace:*) from external npm registry dependencies.
  • Builds a topological dependency graph uniting package manifests and TypeScript project references.
  • Caches whole-program TypeScript builds in isolated per-package directories (.signalint/cache/tsc/<project-id>/).
  • Changes to a shared package automatically invalidate dependent packages while keeping independent siblings cached.

See docs/monorepo.md for configuration and architecture.


Verify-After-Change Hooks

Automate post-edit verification without creating infinite agent loops:

  • Native adapters for Claude Code, Cursor, Codex, and VS Code.
  • Emits bounded context into prompt windows and blocks only on unresolved syntax/type errors.

See docs/hooks.md for setup instructions.


Documentation Index


License

MIT © 2026 Tran Trong Qui

來源:README.md,提交 6327008

工具

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

版本歷史

6
  1. v1.2.1最新Oct 11, 2026
  2. v1.2.0Oct 10, 2026
  3. v1.1.2Oct 8, 2026
  4. v1.1.0Oct 8, 2026
  5. v1.0.0Oct 6, 2026
  6. v0.4.2Sep 16, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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