@nielspeter/sonarlint-mcp-server 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/errors.d.ts.map +1 -1
  3. package/dist/errors.js +10 -4
  4. package/dist/errors.js.map +1 -1
  5. package/dist/index.js +68 -49
  6. package/dist/index.js.map +1 -1
  7. package/dist/resources/session.d.ts +1 -1
  8. package/dist/resources/session.d.ts.map +1 -1
  9. package/dist/resources/session.js +22 -18
  10. package/dist/resources/session.js.map +1 -1
  11. package/dist/sloop-bridge.d.ts +14 -0
  12. package/dist/sloop-bridge.d.ts.map +1 -1
  13. package/dist/sloop-bridge.js +103 -89
  14. package/dist/sloop-bridge.js.map +1 -1
  15. package/dist/state.d.ts +2 -3
  16. package/dist/state.d.ts.map +1 -1
  17. package/dist/state.js +2 -2
  18. package/dist/state.js.map +1 -1
  19. package/dist/tools/analyze-content.d.ts.map +1 -1
  20. package/dist/tools/analyze-content.js +17 -17
  21. package/dist/tools/analyze-content.js.map +1 -1
  22. package/dist/tools/analyze-file.d.ts.map +1 -1
  23. package/dist/tools/analyze-file.js +16 -18
  24. package/dist/tools/analyze-file.js.map +1 -1
  25. package/dist/tools/analyze-files.d.ts.map +1 -1
  26. package/dist/tools/analyze-files.js +71 -96
  27. package/dist/tools/analyze-files.js.map +1 -1
  28. package/dist/tools/apply-all-quick-fixes.d.ts.map +1 -1
  29. package/dist/tools/apply-all-quick-fixes.js +71 -141
  30. package/dist/tools/apply-all-quick-fixes.js.map +1 -1
  31. package/dist/tools/apply-quick-fix.d.ts.map +1 -1
  32. package/dist/tools/apply-quick-fix.js +13 -84
  33. package/dist/tools/apply-quick-fix.js.map +1 -1
  34. package/dist/tools/health-check.d.ts.map +1 -1
  35. package/dist/tools/health-check.js +30 -22
  36. package/dist/tools/health-check.js.map +1 -1
  37. package/dist/tools/list-active-rules.d.ts.map +1 -1
  38. package/dist/tools/list-active-rules.js +25 -15
  39. package/dist/tools/list-active-rules.js.map +1 -1
  40. package/dist/types.d.ts +1 -1
  41. package/dist/utils/config.d.ts +32 -0
  42. package/dist/utils/config.d.ts.map +1 -0
  43. package/dist/utils/config.js +54 -0
  44. package/dist/utils/config.js.map +1 -0
  45. package/dist/utils/file-registration.d.ts.map +1 -1
  46. package/dist/utils/file-registration.js +2 -2
  47. package/dist/utils/file-registration.js.map +1 -1
  48. package/dist/utils/filesystem.js +8 -8
  49. package/dist/utils/filesystem.js.map +1 -1
  50. package/dist/utils/formatting.d.ts +1 -1
  51. package/dist/utils/formatting.d.ts.map +1 -1
  52. package/dist/utils/formatting.js +2 -4
  53. package/dist/utils/formatting.js.map +1 -1
  54. package/dist/utils/language.js +11 -11
  55. package/dist/utils/language.js.map +1 -1
  56. package/dist/utils/quick-fix.d.ts +14 -0
  57. package/dist/utils/quick-fix.d.ts.map +1 -0
  58. package/dist/utils/quick-fix.js +48 -0
  59. package/dist/utils/quick-fix.js.map +1 -0
  60. package/dist/utils/scope.d.ts +4 -0
  61. package/dist/utils/scope.d.ts.map +1 -1
  62. package/dist/utils/scope.js +8 -7
  63. package/dist/utils/scope.js.map +1 -1
  64. package/dist/utils/sloop.d.ts +4 -3
  65. package/dist/utils/sloop.d.ts.map +1 -1
  66. package/dist/utils/sloop.js +22 -13
  67. package/dist/utils/sloop.js.map +1 -1
  68. package/dist/utils/transforms.d.ts +1 -1
  69. package/dist/utils/transforms.d.ts.map +1 -1
  70. package/dist/utils/transforms.js.map +1 -1
  71. package/package.json +12 -2
  72. package/scripts/generate-rules-doc.mjs +86 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,30 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [0.5.0](https://github.com/nielspeter/sonarlint-mcp-server/compare/v0.4.1...v0.5.0) (2026-04-02)
6
+
7
+
8
+ ### Features
9
+
10
+ * add sonarlint.json config file support and ESLint/Prettier setup ([140a885](https://github.com/nielspeter/sonarlint-mcp-server/commit/140a8857e8305c880b82a07f35b93fbd90d46f97))
11
+
12
+ ### [0.4.1](https://github.com/nielspeter/sonarlint-mcp-server/compare/v0.4.0...v0.4.1) (2026-03-30)
13
+
14
+
15
+ ### Features
16
+
17
+ * add basePath parameter for relative paths and globs in check_files ([3fbc1ff](https://github.com/nielspeter/sonarlint-mcp-server/commit/3fbc1ff2737c12b174818bc9ba31cd38c79ba695))
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * resolve 15 sonarlint issues across codebase ([be91de6](https://github.com/nielspeter/sonarlint-mcp-server/commit/be91de6d3da6b7c38e2a7720e5285f57137f3d81))
23
+
24
+
25
+ ### Code Refactoring
26
+
27
+ * reduce cognitive complexity to zero sonarlint issues ([213aad6](https://github.com/nielspeter/sonarlint-mcp-server/commit/213aad634427b302c31d23ab2f9dbaa7ebe1f138))
28
+
5
29
  ## [0.4.0](https://github.com/nielspeter/sonarlint-mcp-server/compare/v0.3.1...v0.4.0) (2026-03-30)
6
30
 
7
31
 
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;IAG1B,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,OAAO;gBAF3B,OAAO,EAAE,MAAM,EACR,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,OAAe;CAKtC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO;;;;;;EA0B7C"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;IAG1B,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,OAAO;gBAF3B,OAAO,EAAE,MAAM,EACR,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,OAAe;CAKtC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO;;;;;;EA6B7C"}
package/dist/errors.js CHANGED
@@ -18,23 +18,29 @@ export class SloopError extends Error {
18
18
  * Handle tool errors and format them for MCP responses
19
19
  */
20
20
  export function handleToolError(error) {
21
- console.error("[MCP] Error handling tool call:", error);
21
+ console.error('[MCP] Error handling tool call:', error);
22
22
  if (error instanceof SloopError) {
23
23
  return {
24
24
  content: [
25
25
  {
26
- type: "text",
26
+ type: 'text',
27
27
  text: `❌ **Error**: ${error.userMessage}`,
28
28
  },
29
29
  ],
30
30
  isError: true,
31
31
  };
32
32
  }
33
- const errorMessage = error instanceof Error ? error.message : String(error);
33
+ let errorMessage;
34
+ if (error instanceof Error)
35
+ errorMessage = error.message;
36
+ else if (typeof error === 'string')
37
+ errorMessage = error;
38
+ else
39
+ errorMessage = JSON.stringify(error);
34
40
  return {
35
41
  content: [
36
42
  {
37
- type: "text",
43
+ type: 'text',
38
44
  text: `❌ **Error**: ${errorMessage}`,
39
45
  },
40
46
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IAG1B;IACA;IAHT,YACE,OAAe,EACR,WAAmB,EACnB,cAAuB,KAAK;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,gBAAW,GAAX,WAAW,CAAQ;QACnB,gBAAW,GAAX,WAAW,CAAiB;QAGnC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;IAExD,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,gBAAgB,KAAK,CAAC,WAAW,EAAE;iBAC1C;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5E,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,gBAAgB,YAAY,EAAE;aACrC;SACF;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IAG1B;IACA;IAHT,YACE,OAAe,EACR,WAAmB,EACnB,cAAuB,KAAK;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,gBAAW,GAAX,WAAW,CAAQ;QACnB,gBAAW,GAAX,WAAW,CAAiB;QAGnC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;IAExD,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,gBAAgB,KAAK,CAAC,WAAW,EAAE;iBAC1C;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,YAAoB,CAAC;IACzB,IAAI,KAAK,YAAY,KAAK;QAAE,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;SACpD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,YAAY,GAAG,KAAK,CAAC;;QACpD,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAE1C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,gBAAgB,YAAY,EAAE;aACrC;SACF;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
package/dist/index.js CHANGED
@@ -1,37 +1,42 @@
1
1
  #!/usr/bin/env node
2
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
- import { z } from "zod";
5
- import { handleToolError } from "./errors.js";
2
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
+ import { z } from 'zod';
5
+ import { handleToolError } from './errors.js';
6
6
  // LLMs sometimes pass arrays as JSON strings — coerce transparently
7
- const stringArray = z.preprocess((val) => typeof val === 'string' ? JSON.parse(val) : val, z.array(z.string()));
8
- import { registerResources } from "./resources/session.js";
9
- import { handleAnalyzeFile } from "./tools/analyze-file.js";
10
- import { handleAnalyzeFiles } from "./tools/analyze-files.js";
11
- import { handleAnalyzeContent } from "./tools/analyze-content.js";
12
- import { handleListActiveRules } from "./tools/list-active-rules.js";
13
- import { handleHealthCheck } from "./tools/health-check.js";
14
- import { handleApplyQuickFix } from "./tools/apply-quick-fix.js";
15
- import { handleApplyAllQuickFixes } from "./tools/apply-all-quick-fixes.js";
16
- import { getSloopBridge } from "./state.js";
17
- import { readFileSync } from "fs";
18
- import { fileURLToPath } from "url";
19
- import { dirname, join } from "path";
7
+ const stringArray = z.preprocess((val) => (typeof val === 'string' ? JSON.parse(val) : val), z.array(z.string()));
8
+ import { registerResources } from './resources/session.js';
9
+ import { handleAnalyzeFile } from './tools/analyze-file.js';
10
+ import { handleAnalyzeFiles } from './tools/analyze-files.js';
11
+ import { handleAnalyzeContent } from './tools/analyze-content.js';
12
+ import { handleListActiveRules } from './tools/list-active-rules.js';
13
+ import { handleHealthCheck } from './tools/health-check.js';
14
+ import { handleApplyQuickFix } from './tools/apply-quick-fix.js';
15
+ import { handleApplyAllQuickFixes } from './tools/apply-all-quick-fixes.js';
16
+ import { getSloopBridge } from './state.js';
17
+ import { readFileSync } from 'fs';
18
+ import { fileURLToPath } from 'url';
19
+ import { dirname, join } from 'path';
20
20
  const __filename = fileURLToPath(import.meta.url);
21
21
  const __dirname = dirname(__filename);
22
22
  const packageJson = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf-8'));
23
23
  // Initialize the MCP server
24
24
  const server = new McpServer({
25
- name: "sonarlint-mcp-server",
25
+ name: 'sonarlint-mcp-server',
26
26
  version: packageJson.version,
27
27
  });
28
28
  // Register tool: check_quality
29
29
  server.registerTool('check_quality', {
30
- description: "Check a file for code quality issues — bugs, code smells, security vulnerabilities, and complexity problems. Like having SonarLint in your IDE. Use after writing or modifying code to catch issues early. Returns issues with exact line numbers, severity, and available quick fixes. For multiple files use check_files.",
30
+ description: 'Check a file for code quality issues — bugs, code smells, security vulnerabilities, and complexity problems. Like having SonarLint in your IDE. Use after writing or modifying code to catch issues early. Returns issues with exact line numbers, severity, and available quick fixes. For multiple files use check_files.',
31
31
  inputSchema: {
32
- filePath: z.string().describe("Absolute path to the file to analyze (e.g., /path/to/file.js)"),
33
- minSeverity: z.enum(["INFO", "MINOR", "MAJOR", "CRITICAL", "BLOCKER"]).optional().describe("Minimum severity level to include. Filters out issues below this level. Default: INFO (show all)"),
34
- excludeRules: stringArray.optional().describe("List of rule IDs to exclude (e.g., ['typescript:S1135', 'javascript:S125'])"),
32
+ filePath: z.string().describe('Absolute path to the file to analyze (e.g., /path/to/file.js)'),
33
+ minSeverity: z
34
+ .enum(['INFO', 'MINOR', 'MAJOR', 'CRITICAL', 'BLOCKER'])
35
+ .optional()
36
+ .describe('Minimum severity level to include. Filters out issues below this level. Default: INFO (show all)'),
37
+ excludeRules: stringArray
38
+ .optional()
39
+ .describe("List of rule IDs to exclude (e.g., ['typescript:S1135', 'javascript:S125'])"),
35
40
  },
36
41
  }, async (args) => {
37
42
  try {
@@ -43,12 +48,21 @@ server.registerTool('check_quality', {
43
48
  });
44
49
  // Register tool: check_files
45
50
  server.registerTool('check_files', {
46
- description: "Check multiple files for code quality issues in one call — bugs, code smells, security vulnerabilities. Use when reviewing or modifying several files. Supports glob patterns (e.g. 'src/**/*.ts'). Output is compact: only files with issues are shown, clean files get a summary count. For a single file use check_quality.",
51
+ description: "Check multiple files for code quality issues in one call — bugs, code smells, security vulnerabilities. Use when reviewing or modifying several files. Supports glob patterns (e.g. 'src/**/*.ts'). When using relative paths or globs, provide basePath so they resolve correctly. Output is compact: only files with issues are shown, clean files get a summary count. For a single file use check_quality.",
47
52
  inputSchema: {
48
53
  filePaths: stringArray.describe("Array of file paths or glob patterns to analyze (e.g., ['/path/to/file.ts', 'src/**/*.js'])"),
49
- groupByFile: z.boolean().optional().default(true).describe("Group issues by file in output (default: true)"),
50
- minSeverity: z.enum(["INFO", "MINOR", "MAJOR", "CRITICAL", "BLOCKER"]).optional().describe("Minimum severity level to include. Filters out issues below this level. Default: INFO (show all)"),
51
- excludeRules: stringArray.optional().describe("List of rule IDs to exclude (e.g., ['typescript:S1135', 'javascript:S125'])"),
54
+ basePath: z
55
+ .string()
56
+ .optional()
57
+ .describe("Project root directory for resolving relative paths and globs (e.g., '/Users/me/project'). Required when filePaths contains relative paths."),
58
+ groupByFile: z.boolean().optional().default(true).describe('Group issues by file in output (default: true)'),
59
+ minSeverity: z
60
+ .enum(['INFO', 'MINOR', 'MAJOR', 'CRITICAL', 'BLOCKER'])
61
+ .optional()
62
+ .describe('Minimum severity level to include. Filters out issues below this level. Default: INFO (show all)'),
63
+ excludeRules: stringArray
64
+ .optional()
65
+ .describe("List of rule IDs to exclude (e.g., ['typescript:S1135', 'javascript:S125'])"),
52
66
  },
53
67
  }, async (args) => {
54
68
  try {
@@ -62,8 +76,10 @@ server.registerTool('check_files', {
62
76
  server.registerTool('check_code', {
63
77
  description: "Check code quality of a code snippet or content you have in hand — catches bugs, code smells, security issues, and complexity problems. Use to validate code before writing it to disk, review generated code, or check code you've read into context. No file on disk needed.",
64
78
  inputSchema: {
65
- content: z.string().describe("The code content to analyze"),
66
- language: z.enum(["javascript", "typescript", "python", "java", "go", "php", "ruby"]).describe("Programming language of the content"),
79
+ content: z.string().describe('The code content to analyze'),
80
+ language: z
81
+ .enum(['javascript', 'typescript', 'python', 'java', 'go', 'php', 'ruby'])
82
+ .describe('Programming language of the content'),
67
83
  fileName: z.string().optional().describe("Optional filename for context (e.g., 'MyComponent.tsx')"),
68
84
  },
69
85
  }, async (args) => {
@@ -76,9 +92,12 @@ server.registerTool('check_code', {
76
92
  });
77
93
  // Register tool: list_rules
78
94
  server.registerTool('list_rules', {
79
- description: "List all active code quality rules with ID, name, and severity. Use to look up what a rule means (e.g., S3776 = Cognitive Complexity), discover what issues can be detected, or see which rules apply to a language. Covers bugs, code smells, security vulnerabilities, and security hotspots.",
95
+ description: 'List all active code quality rules with ID, name, and severity. Use to look up what a rule means (e.g., S3776 = Cognitive Complexity), discover what issues can be detected, or see which rules apply to a language. Covers bugs, code smells, security vulnerabilities, and security hotspots.',
80
96
  inputSchema: {
81
- language: z.enum(["javascript", "typescript", "python", "java", "go", "php", "ruby"]).optional().describe("Filter rules by language (optional)"),
97
+ language: z
98
+ .enum(['javascript', 'typescript', 'python', 'java', 'go', 'php', 'ruby'])
99
+ .optional()
100
+ .describe('Filter rules by language (optional)'),
82
101
  },
83
102
  }, async (args) => {
84
103
  try {
@@ -102,10 +121,10 @@ server.registerTool('health_check', {
102
121
  });
103
122
  // Register tool: fix_issue
104
123
  server.registerTool('fix_issue', {
105
- description: "Automatically fix one specific code quality issue. Applies the SonarLint-suggested fix for the issue at the given file, line, and rule. The file is modified directly. To fix all issues in a file at once, use fix_all_issues instead.",
124
+ description: 'Automatically fix one specific code quality issue. Applies the SonarLint-suggested fix for the issue at the given file, line, and rule. The file is modified directly. To fix all issues in a file at once, use fix_all_issues instead.',
106
125
  inputSchema: {
107
- filePath: z.string().describe("Absolute path to the file to fix"),
108
- line: z.number().describe("Line number of the issue"),
126
+ filePath: z.string().describe('Absolute path to the file to fix'),
127
+ line: z.number().describe('Line number of the issue'),
109
128
  rule: z.string().describe("Rule ID (e.g., 'javascript:S3504')"),
110
129
  },
111
130
  }, async (args) => {
@@ -118,9 +137,9 @@ server.registerTool('fix_issue', {
118
137
  });
119
138
  // Register tool: fix_all_issues
120
139
  server.registerTool('fix_all_issues', {
121
- description: "Automatically fix all code quality issues in a file that have available quick fixes. Applies all SonarLint-suggested fixes in one operation. Returns what was fixed and what remains (some issues require manual fixes like reducing complexity).",
140
+ description: 'Automatically fix all code quality issues in a file that have available quick fixes. Applies all SonarLint-suggested fixes in one operation. Returns what was fixed and what remains (some issues require manual fixes like reducing complexity).',
122
141
  inputSchema: {
123
- filePath: z.string().describe("Absolute path to the file to fix"),
142
+ filePath: z.string().describe('Absolute path to the file to fix'),
124
143
  },
125
144
  }, async (args) => {
126
145
  try {
@@ -134,15 +153,15 @@ server.registerTool('fix_all_issues', {
134
153
  registerResources(server);
135
154
  // Graceful shutdown
136
155
  async function shutdown() {
137
- console.error("[MCP] Shutting down...");
156
+ console.error('[MCP] Shutting down...');
138
157
  const sloopBridge = getSloopBridge();
139
158
  if (sloopBridge) {
140
159
  try {
141
160
  await sloopBridge.disconnect();
142
- console.error("[MCP] SLOOP bridge disconnected");
161
+ console.error('[MCP] SLOOP bridge disconnected');
143
162
  }
144
163
  catch (error) {
145
- console.error("[MCP] Error disconnecting SLOOP:", error);
164
+ console.error('[MCP] Error disconnecting SLOOP:', error);
146
165
  }
147
166
  }
148
167
  process.exit(0);
@@ -151,22 +170,22 @@ process.on('SIGINT', shutdown);
151
170
  process.on('SIGTERM', shutdown);
152
171
  // Start the server
153
172
  async function main() {
154
- console.error("[MCP] Starting SonarLint MCP Server...");
173
+ console.error('[MCP] Starting SonarLint MCP Server...');
155
174
  console.error(`[MCP] Version: ${packageJson.version}`);
156
- console.error("[MCP] Mode: Standalone (no IDE required)");
157
- console.error("[MCP] Tools: check_quality, check_files, check_code, list_rules, fix_issue, fix_all_issues, health_check");
158
- console.error("[MCP] Features:");
159
- console.error("[MCP] - Session storage for multi-turn conversations");
160
- console.error("[MCP] - Batch analysis for multiple files");
161
- console.error("[MCP] - Content analysis (unsaved files)");
162
- console.error("[MCP] - MCP resources for persistent results");
163
- console.error("[MCP] - Quick fixes support");
175
+ console.error('[MCP] Mode: Standalone (no IDE required)');
176
+ console.error('[MCP] Tools: check_quality, check_files, check_code, list_rules, fix_issue, fix_all_issues, health_check');
177
+ console.error('[MCP] Features:');
178
+ console.error('[MCP] - Session storage for multi-turn conversations');
179
+ console.error('[MCP] - Batch analysis for multiple files');
180
+ console.error('[MCP] - Content analysis (unsaved files)');
181
+ console.error('[MCP] - MCP resources for persistent results');
182
+ console.error('[MCP] - Quick fixes support');
164
183
  const transport = new StdioServerTransport();
165
184
  await server.connect(transport);
166
- console.error("[MCP] Server ready! Waiting for tool calls...");
185
+ console.error('[MCP] Server ready! Waiting for tool calls...');
167
186
  }
168
187
  main().catch((error) => {
169
- console.error("[MCP] Fatal error:", error);
188
+ console.error('[MCP] Fatal error:', error);
170
189
  process.exit(1);
171
190
  });
172
191
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * MCP resource registration for session and batch analysis results
3
3
  */
4
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
5
  /**
6
6
  * Get all session resources (both session and batch analysis results)
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/resources/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAoB,MAAM,yCAAyC,CAAC;AAKtF;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAuBjH;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6DzD"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/resources/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAoB,MAAM,yCAAyC,CAAC;AAKtF;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAuBjH;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiEzD"}
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * MCP resource registration for session and batch analysis results
3
3
  */
4
- import { ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
5
- import { basename } from "path";
6
- import { createHash } from "crypto";
7
- import { sessionResults, batchResults } from "../state.js";
4
+ import { ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import { basename } from 'path';
6
+ import { createHash } from 'crypto';
7
+ import { sessionResults, batchResults } from '../state.js';
8
8
  /**
9
9
  * Get all session resources (both session and batch analysis results)
10
10
  */
@@ -16,7 +16,7 @@ export function getSessionResources() {
16
16
  uri: `sonarlint://session/${resourceId}`,
17
17
  name: `Analysis: ${basename(filePath)}`,
18
18
  description: `${result.summary.total} issues found`,
19
- mimeType: "application/json",
19
+ mimeType: 'application/json',
20
20
  });
21
21
  }
22
22
  for (const [batchId, result] of batchResults) {
@@ -24,7 +24,7 @@ export function getSessionResources() {
24
24
  uri: `sonarlint://batch/${batchId}`,
25
25
  name: `Batch Analysis: ${result.summary.totalFiles} files`,
26
26
  description: `${result.summary.totalIssues} total issues`,
27
- mimeType: "application/json",
27
+ mimeType: 'application/json',
28
28
  });
29
29
  }
30
30
  return resources;
@@ -36,23 +36,25 @@ export function registerResources(server) {
36
36
  // Register a dynamic resource template for session results
37
37
  server.registerResource('session-analysis', new ResourceTemplate('sonarlint://session/{resourceId}', {
38
38
  list: () => ({
39
- resources: getSessionResources().filter(r => r.uri.startsWith('sonarlint://session/'))
40
- })
39
+ resources: getSessionResources().filter((r) => r.uri.startsWith('sonarlint://session/')),
40
+ }),
41
41
  }), {
42
42
  title: 'SonarLint Session Analysis',
43
43
  description: 'Analysis results from the current session',
44
- mimeType: 'application/json'
44
+ mimeType: 'application/json',
45
45
  }, async (uri, { resourceId }) => {
46
46
  // Find matching result
47
47
  for (const [filePath, result] of sessionResults) {
48
48
  const fileResourceId = createHash('md5').update(filePath).digest('hex').substring(0, 8);
49
49
  if (fileResourceId === String(resourceId)) {
50
50
  return {
51
- contents: [{
51
+ contents: [
52
+ {
52
53
  uri: uri.href,
53
- mimeType: "application/json",
54
+ mimeType: 'application/json',
54
55
  text: JSON.stringify(result, null, 2),
55
- }],
56
+ },
57
+ ],
56
58
  };
57
59
  }
58
60
  }
@@ -61,21 +63,23 @@ export function registerResources(server) {
61
63
  // Register a dynamic resource template for batch results
62
64
  server.registerResource('batch-analysis', new ResourceTemplate('sonarlint://batch/{batchId}', {
63
65
  list: () => ({
64
- resources: getSessionResources().filter(r => r.uri.startsWith('sonarlint://batch/'))
65
- })
66
+ resources: getSessionResources().filter((r) => r.uri.startsWith('sonarlint://batch/')),
67
+ }),
66
68
  }), {
67
69
  title: 'SonarLint Batch Analysis',
68
70
  description: 'Batch analysis results',
69
- mimeType: 'application/json'
71
+ mimeType: 'application/json',
70
72
  }, async (uri, { batchId }) => {
71
73
  const result = batchResults.get(String(batchId));
72
74
  if (result) {
73
75
  return {
74
- contents: [{
76
+ contents: [
77
+ {
75
78
  uri: uri.href,
76
- mimeType: "application/json",
79
+ mimeType: 'application/json',
77
80
  text: JSON.stringify(result, null, 2),
78
- }],
81
+ },
82
+ ],
79
83
  };
80
84
  }
81
85
  throw new Error(`Batch resource not found: ${batchId}`);
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/resources/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/resources/session.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,10 @@ interface SloopConfig {
5
5
  storageRoot?: string;
6
6
  workDir?: string;
7
7
  autoInitialize?: boolean;
8
+ standaloneRuleConfig?: Record<string, {
9
+ isActive: boolean;
10
+ paramValueByKey: Record<string, string>;
11
+ }>;
8
12
  }
9
13
  export declare class SloopBridge extends EventEmitter {
10
14
  private process;
@@ -22,6 +26,11 @@ export declare class SloopBridge extends EventEmitter {
22
26
  private setupMessageHandlers;
23
27
  private processMessages;
24
28
  private handleMessage;
29
+ private handleResponse;
30
+ private handleNotification;
31
+ private onRaiseIssues;
32
+ private onRaiseHotspots;
33
+ private onAnalysisReadiness;
25
34
  private handleClientRequest;
26
35
  private sendResponse;
27
36
  sendRequest(method: string, params?: any): Promise<any>;
@@ -36,6 +45,11 @@ export declare class SloopBridge extends EventEmitter {
36
45
  * Returns a map of rule key -> rule definition.
37
46
  */
38
47
  listAllStandaloneRulesDefinitions(): Promise<any>;
48
+ getStandaloneRuleDetails(ruleKey: string): Promise<any>;
49
+ updateStandaloneRulesConfiguration(ruleConfigByKey: Record<string, {
50
+ isActive: boolean;
51
+ paramValueByKey: Record<string, string>;
52
+ }>): Promise<void>;
39
53
  /**
40
54
  * Wait for a scope to become ready for analysis.
41
55
  * SLOOP emits didChangeAnalysisReadiness after processing addConfigurationScope.
@@ -1 +1 @@
1
- {"version":3,"file":"sloop-bridge.d.ts","sourceRoot":"","sources":["../src/sloop-bridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAQtC,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAI3B;IACL,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsF;IAC7G,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;gBAE3C,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,WAAgB;IAwB1D,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,gBAAgB;IAUlB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwE9B,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,aAAa;IAiErB,OAAO,CAAC,mBAAmB;IAqD3B,OAAO,CAAC,YAAY;IAgBd,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAyC7D,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI;IAuBpD,OAAO,CAAC,cAAc;YAeR,UAAU;IAoFxB,OAAO,CAAC,gBAAgB;IAQxB,WAAW,IAAI,OAAO;IAIhB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAejC;;;OAGG;IACG,iCAAiC,IAAI,OAAO,CAAC,GAAG,CAAC;IAIvD;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpE,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,IAAI;IAYzF,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;CA4DrF"}
1
+ {"version":3,"file":"sloop-bridge.d.ts","sourceRoot":"","sources":["../src/sloop-bridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAQtC,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;CACvG;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAO5B;IACJ,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CACwC;IAC/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;gBAE3C,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,WAAgB;IAyB1D,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,gBAAgB;IAUlB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA2E9B,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,mBAAmB;IA+C3B,OAAO,CAAC,YAAY;IAgBd,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAyC7D,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI;IAuBpD,OAAO,CAAC,cAAc;YAaR,UAAU;IAoFxB,OAAO,CAAC,gBAAgB;IAQxB,WAAW,IAAI,OAAO;IAIhB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAejC;;;OAGG;IACG,iCAAiC,IAAI,OAAO,CAAC,GAAG,CAAC;IAIjD,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvD,kCAAkC,CACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,GAC9F,OAAO,CAAC,IAAI,CAAC;IAIhB;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpE,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,IAAI;IAczF,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;CA2DrF"}