Setupv0.2.0 / schema 1.1

Setup & clients

Install Signalint, generate project-aware defaults, connect Claude Code, Cursor, or Antigravity, and verify the stdio handshake.

Install in the checked project

Run setup from the JavaScript or TypeScript project Signalint should inspect. Node.js 20.19+ or 22.12+ is required; TypeScript checks also require a root tsconfig.json.

npm install --save-dev signalint-mcp
npx signalint-mcp init

What init detects

npx signalint-mcp init inspects the project before writing anything. It enables TypeScript only when a root tsconfig.json exists, enables Biome when its configuration exists, and uses Oxlint as the fallback when no configured linter is detected.

DetectionGenerated behavior
Root tsconfig.jsonEnables the whole-program tsc adapter.
Oxlint configurationEnables the file-local Oxlint adapter.
biome.json or biome.jsoncEnables the optional file-local Biome adapter.
One nearby MCP clientOffers to merge the Signalint server entry after confirmation.
Several or no unambiguous clientsAsks which client to use or prints exact snippets to copy.

Manual Signalint configuration

If you do not use init, create signalint.config.json at the project root. Every supported field is documented in the configuration reference.

{
  "engines": {
    "oxlint": true,
    "tsc": true,
    "biome": false
  },
  "ignore": ["node_modules/**", "dist/**", ".signalint/**"],
  "timeoutsMs": {
    "oxlint": 30000,
    "tsc": 120000,
    "biome": 30000
  }
}

Claude Code

Project scope creates a shareable .mcp.json. On macOS or Linux:

claude mcp add --scope project signalint -- npx --no-install signalint-mcp
claude mcp get signalint

On native Windows, wrap npx with cmd /c:

claude mcp add --scope project signalint -- cmd /c npx --no-install signalint-mcp
claude mcp get signalint

For scope behavior and client-side troubleshooting, see the Claude Code MCP documentation.

Cursor

Create .cursor/mcp.json in the checked project:

{
  "mcpServers": {
    "signalint": {
      "command": "npx",
      "args": ["--no-install", "signalint-mcp"]
    }
  }
}

On native Windows, use "command": "cmd" and "args": ["/c", "npx", "--no-install", "signalint-mcp"]. Open Cursor's MCP settings and enable signalint. See the Cursor MCP documentation for configuration locations and status controls.

Antigravity

Antigravity commonly stores its Windows configuration at %USERPROFILE%\.gemini\antigravity\mcp_config.json. Init can update it after confirmation. The equivalent manual Windows entry is:

{
  "mcpServers": {
    "signalint": {
      "command": "cmd",
      "args": ["/c", "npx", "--no-install", "signalint-mcp"],
      "cwd": "<absolute-path-to-your-project>"
    }
  }
}

On macOS or Linux, use "command": "npx" with ["--no-install", "signalint-mcp"]. Always set cwd to the absolute project root, then reconnect or restart Antigravity.

Verify the connection

  1. Restart or reconnect the MCP client after its configuration changes.
  2. Call ping with {} and confirm the result is pong.
  3. Call check_project with { "paths": ["."] }.

Signalint writes cache and session artifacts under .signalint/. Keep the directory out of version control.

Verify without an MCP client

npx --no-install signalint check .

The command exits with code 1 when diagnostics are found; that is expected check behavior rather than a CLI crash.