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 initWhat 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.
| Detection | Generated behavior |
|---|---|
Root tsconfig.json | Enables the whole-program tsc adapter. |
| Oxlint configuration | Enables the file-local Oxlint adapter. |
biome.json or biome.jsonc | Enables the optional file-local Biome adapter. |
| One nearby MCP client | Offers to merge the Signalint server entry after confirmation. |
| Several or no unambiguous clients | Asks 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 signalintOn native Windows, wrap npx with cmd /c:
claude mcp add --scope project signalint -- cmd /c npx --no-install signalint-mcp
claude mcp get signalintFor 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
- Restart or reconnect the MCP client after its configuration changes.
- Call
pingwith{}and confirm the result ispong. - Call
check_projectwith{ "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.