@sensegrep/mcp 0.1.10 → 0.1.12

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.
package/dist/server.js CHANGED
@@ -6,6 +6,7 @@ import path from "node:path";
6
6
  import { fileURLToPath, pathToFileURL } from "node:url";
7
7
  let corePromise = null;
8
8
  let toolPromise = null;
9
+ let cachedTools = null;
9
10
  const WATCH_INTERVAL_MS = 60_000;
10
11
  let watchHandle = null;
11
12
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
@@ -87,79 +88,144 @@ async function stopWatch() {
87
88
  watchHandle = null;
88
89
  }
89
90
  }
90
- const tools = [
91
- {
92
- name: "sensegrep.search",
93
- description: "Semantic + structural code search with optional regex filters. Automatically uses the embedding model from the index.",
94
- inputSchema: {
95
- type: "object",
96
- properties: {
97
- query: { type: "string", description: "Search query" },
98
- pattern: { type: "string", description: "Regex pattern filter" },
99
- limit: { type: "number", description: "Max results (default: 20)" },
100
- include: { type: "string", description: "File glob filter (e.g., 'src/**/*.ts')" },
101
- symbol: { type: "string", description: "Filter by symbol name" },
102
- name: { type: "string", description: "Alias for symbol name" },
103
- symbolType: {
104
- type: "string",
105
- enum: ["function", "class", "method", "interface", "type", "variable", "namespace", "enum"],
106
- description: "Filter by symbol type",
91
+ async function generateTools() {
92
+ if (cachedTools)
93
+ return cachedTools;
94
+ const core = await loadCore();
95
+ const caps = core.getLanguageCapabilities();
96
+ // Format variants for description
97
+ const variantDesc = caps.variants
98
+ .slice(0, 10)
99
+ .map((v) => `${v.name} (${v.languages.join("/")})`)
100
+ .join(", ");
101
+ cachedTools = [
102
+ {
103
+ name: "sensegrep.search",
104
+ description: `Semantic + structural code search. Languages: ${caps.languages.join(", ")}`,
105
+ inputSchema: {
106
+ type: "object",
107
+ properties: {
108
+ query: { type: "string", description: "Search query" },
109
+ pattern: { type: "string", description: "Regex pattern filter" },
110
+ limit: { type: "number", description: "Max results (default: 20)" },
111
+ include: { type: "string", description: "File glob filter (e.g., 'src/**/*.ts')" },
112
+ symbol: { type: "string", description: "Filter by symbol name" },
113
+ name: { type: "string", description: "Alias for symbol name" },
114
+ symbolType: {
115
+ type: "string",
116
+ enum: [...caps.symbolTypes],
117
+ description: "Semantic symbol type",
118
+ },
119
+ variant: {
120
+ type: "string",
121
+ description: `Language-specific variant. Available: ${variantDesc}...`,
122
+ },
123
+ decorator: {
124
+ type: "string",
125
+ description: `Filter by decorator (${caps.decorators.slice(0, 5).join(", ")}...)`,
126
+ },
127
+ isExported: { type: "boolean", description: "Only exported symbols" },
128
+ isAsync: { type: "boolean", description: "Only async functions/methods" },
129
+ isStatic: { type: "boolean", description: "Only static methods" },
130
+ isAbstract: { type: "boolean", description: "Only abstract classes/methods" },
131
+ minComplexity: { type: "number", description: "Minimum cyclomatic complexity" },
132
+ maxComplexity: { type: "number", description: "Maximum cyclomatic complexity" },
133
+ minScore: { type: "number", description: "Minimum relevance score 0-1" },
134
+ maxPerFile: { type: "number", description: "Max results per file (default: 1)" },
135
+ maxPerSymbol: { type: "number", description: "Max results per symbol (default: 1)" },
136
+ hasDocumentation: { type: "boolean", description: "Require documentation" },
137
+ language: {
138
+ type: "string",
139
+ enum: [...caps.languages],
140
+ description: "Filter by programming language",
141
+ },
142
+ parentScope: { type: "string", description: "Parent scope/class name" },
143
+ imports: { type: "string", description: "Filter by imported module name" },
144
+ rerank: { type: "boolean", description: "Enable cross-encoder reranking" },
145
+ rootDir: { type: "string", description: "Root directory (default: cwd)" },
107
146
  },
108
- isExported: { type: "boolean", description: "Only exported symbols" },
109
- minComplexity: { type: "number", description: "Minimum cyclomatic complexity" },
110
- maxComplexity: { type: "number", description: "Maximum cyclomatic complexity" },
111
- minScore: { type: "number", description: "Minimum relevance score 0-1" },
112
- maxPerFile: { type: "number", description: "Max results per file (default: 1)" },
113
- maxPerSymbol: { type: "number", description: "Max results per symbol (default: 1)" },
114
- hasDocumentation: { type: "boolean", description: "Require documentation" },
115
- language: {
116
- type: "string",
117
- enum: ["typescript", "javascript", "tsx", "jsx"],
118
- description: "Filter by language",
147
+ required: ["query"],
148
+ },
149
+ },
150
+ {
151
+ name: "sensegrep.languages",
152
+ description: "List supported languages, detect project languages, or show available variants",
153
+ inputSchema: {
154
+ type: "object",
155
+ properties: {
156
+ detect: { type: "boolean", description: "Detect languages in project" },
157
+ variants: { type: "boolean", description: "Show all variants by language" },
158
+ rootDir: { type: "string", description: "Root directory for detection" },
119
159
  },
120
- parentScope: { type: "string", description: "Parent scope/class name" },
121
- imports: { type: "string", description: "Filter by imported module name (e.g., 'react')" },
122
- rerank: { type: "boolean", description: "Enable cross-encoder reranking" },
123
- rootDir: { type: "string", description: "Root directory (default: cwd)" },
124
160
  },
125
- required: ["query"],
126
161
  },
127
- },
128
- {
129
- name: "sensegrep.index",
130
- description: "Create or update a semantic index for the given root directory.",
131
- inputSchema: {
132
- type: "object",
133
- properties: {
134
- rootDir: { type: "string", description: "Root directory to index" },
135
- mode: {
136
- type: "string",
137
- enum: ["incremental", "full"],
138
- description: "Index mode (default: incremental)",
162
+ {
163
+ name: "sensegrep.detect_duplicates",
164
+ description: "Detect logical duplicates using the existing semantic index.",
165
+ inputSchema: {
166
+ type: "object",
167
+ properties: {
168
+ rootDir: { type: "string", description: "Root directory (default: cwd)" },
169
+ threshold: { type: "number", description: "Minimum similarity 0.0-1.0 (default: 0.85)" },
170
+ scope: { type: "string", description: "Scope: function, method, all (or comma-separated)" },
171
+ language: { type: "string", description: "Filter by language (comma-separated)" },
172
+ crossLanguage: { type: "boolean", description: "Detect duplicates across languages (default: off)" },
173
+ ignoreTests: { type: "boolean", description: "Ignore test files" },
174
+ crossFileOnly: { type: "boolean", description: "Only report cross-file duplicates" },
175
+ onlyExported: { type: "boolean", description: "Only exported symbols" },
176
+ excludePattern: { type: "string", description: "Exclude symbols matching regex" },
177
+ minLines: { type: "number", description: "Minimum lines (default: 10)" },
178
+ minComplexity: { type: "number", description: "Minimum complexity (default: 0)" },
179
+ ignoreAcceptablePatterns: { type: "boolean", description: "Do not ignore acceptable duplicates" },
180
+ normalizeIdentifiers: { type: "boolean", description: "Normalize identifiers (default: true)" },
181
+ rankByImpact: { type: "boolean", description: "Rank by impact (default: true)" },
182
+ limit: { type: "number", description: "Max duplicates to show (default: 10)" },
183
+ showCode: { type: "boolean", description: "Show code snippets" },
184
+ verbose: { type: "boolean", description: "Show detailed output" },
185
+ quiet: { type: "boolean", description: "Only show summary" },
186
+ json: { type: "boolean", description: "Return raw JSON result" },
139
187
  },
140
188
  },
141
189
  },
142
- },
143
- {
144
- name: "sensegrep.stats",
145
- description: "Get index stats for the given root directory.",
146
- inputSchema: {
147
- type: "object",
148
- properties: {
149
- rootDir: { type: "string", description: "Root directory" },
190
+ {
191
+ name: "sensegrep.index",
192
+ description: "Create or update a semantic index for the given root directory.",
193
+ inputSchema: {
194
+ type: "object",
195
+ properties: {
196
+ rootDir: { type: "string", description: "Root directory to index" },
197
+ mode: {
198
+ type: "string",
199
+ enum: ["incremental", "full"],
200
+ description: "Index mode (default: incremental)",
201
+ },
202
+ languages: { type: "string", description: "Languages to index (comma-separated, or 'auto')" },
203
+ },
150
204
  },
151
205
  },
152
- },
153
- ];
206
+ {
207
+ name: "sensegrep.stats",
208
+ description: "Get index stats for the given root directory.",
209
+ inputSchema: {
210
+ type: "object",
211
+ properties: {
212
+ rootDir: { type: "string", description: "Root directory" },
213
+ },
214
+ },
215
+ },
216
+ ];
217
+ return cachedTools;
218
+ }
154
219
  const server = new Server({
155
220
  name: "sensegrep",
156
- version: "0.1.6",
221
+ version: "0.1.11",
157
222
  }, {
158
223
  capabilities: {
159
224
  tools: {},
160
225
  },
161
226
  });
162
227
  server.setRequestHandler(ListToolsRequestSchema, async () => {
228
+ const tools = await generateTools();
163
229
  return { tools };
164
230
  });
165
231
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
@@ -185,6 +251,46 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
185
251
  content: [{ type: "text", text: res.output }],
186
252
  };
187
253
  }
254
+ if (name === "sensegrep.languages") {
255
+ const core = await loadCore();
256
+ const { getLanguageCapabilities, getVariantsGroupedByLanguage, detectProjectLanguages, formatDetectedLanguages, getAllLanguages, } = core;
257
+ const lines = [];
258
+ if (args?.detect) {
259
+ const detected = await detectProjectLanguages(rootDir);
260
+ if (detected.length === 0) {
261
+ lines.push("No supported languages detected.");
262
+ }
263
+ else {
264
+ lines.push(formatDetectedLanguages(detected));
265
+ lines.push("");
266
+ lines.push(`Recommendation: Use --languages ${detected.map((d) => d.language).join(",")}`);
267
+ }
268
+ }
269
+ else if (args?.variants) {
270
+ const variantsByLang = getVariantsGroupedByLanguage();
271
+ lines.push("Variants by language:\n");
272
+ for (const [lang, variants] of variantsByLang) {
273
+ lines.push(` ${lang}:`);
274
+ for (const v of variants) {
275
+ lines.push(` - ${v.name.padEnd(15)} ${v.description}`);
276
+ }
277
+ lines.push("");
278
+ }
279
+ }
280
+ else {
281
+ const all = getAllLanguages();
282
+ const caps = getLanguageCapabilities();
283
+ lines.push("Supported languages:\n");
284
+ for (const lang of all) {
285
+ lines.push(` ✅ ${lang.displayName} (${lang.extensions.join(", ")})`);
286
+ }
287
+ lines.push("");
288
+ lines.push(`Symbol types: ${caps.symbolTypes.join(", ")}`);
289
+ lines.push(`Variants: ${caps.variants.length} total`);
290
+ lines.push(`Decorators: ${caps.decorators.length} total`);
291
+ }
292
+ return { content: [{ type: "text", text: lines.join("\n") }] };
293
+ }
188
294
  if (name === "sensegrep.index") {
189
295
  const { core } = await loadTool();
190
296
  const { Indexer, Instance } = core;
@@ -207,6 +313,172 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
207
313
  content: [{ type: "text", text }],
208
314
  };
209
315
  }
316
+ if (name === "sensegrep.detect_duplicates" || name === "sensegrep.detect-duplicates") {
317
+ const { core } = await loadTool();
318
+ const { DuplicateDetector, Instance } = core;
319
+ const minThreshold = typeof args?.threshold === "number" ? Number(args.threshold) : 0.85;
320
+ let scopeFilter;
321
+ const scopeRaw = args?.scope;
322
+ if (scopeRaw) {
323
+ const scopeStr = String(scopeRaw).toLowerCase();
324
+ if (scopeStr === "all") {
325
+ scopeFilter = [];
326
+ }
327
+ else if (scopeStr === "function") {
328
+ scopeFilter = ["function"];
329
+ }
330
+ else if (scopeStr === "method") {
331
+ scopeFilter = ["method"];
332
+ }
333
+ else {
334
+ scopeFilter = scopeStr.split(",").map((s) => s.trim());
335
+ }
336
+ }
337
+ else {
338
+ scopeFilter = ["function", "method"];
339
+ }
340
+ const normalizeIdentifiers = typeof args?.normalizeIdentifiers === "boolean"
341
+ ? Boolean(args.normalizeIdentifiers)
342
+ : true;
343
+ const rankByImpact = typeof args?.rankByImpact === "boolean" ? Boolean(args.rankByImpact) : true;
344
+ const options = {
345
+ path: rootDir,
346
+ thresholds: {
347
+ exact: 0.98,
348
+ high: 0.9,
349
+ medium: 0.85,
350
+ low: minThreshold,
351
+ },
352
+ scopeFilter,
353
+ ignoreTests: Boolean(args?.ignoreTests),
354
+ crossFileOnly: Boolean(args?.crossFileOnly),
355
+ onlyExported: Boolean(args?.onlyExported),
356
+ excludePattern: args?.excludePattern ? String(args.excludePattern) : undefined,
357
+ minLines: typeof args?.minLines === "number" ? Number(args.minLines) : 10,
358
+ minComplexity: typeof args?.minComplexity === "number" ? Number(args.minComplexity) : 0,
359
+ ignoreAcceptablePatterns: Boolean(args?.ignoreAcceptablePatterns),
360
+ normalizeIdentifiers,
361
+ rankByImpact,
362
+ };
363
+ const showCode = Boolean(args?.showCode);
364
+ const verbose = Boolean(args?.verbose);
365
+ const quiet = Boolean(args?.quiet);
366
+ const limit = typeof args?.limit === "number" ? Number(args.limit) : 10;
367
+ const result = await Instance.provide({
368
+ directory: rootDir,
369
+ fn: () => DuplicateDetector.detect(options),
370
+ });
371
+ if (args?.json) {
372
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
373
+ }
374
+ const lines = [];
375
+ if (!quiet) {
376
+ lines.push("Detecting logical duplicates...");
377
+ lines.push(`Path: ${rootDir}`);
378
+ lines.push(`Threshold: ${minThreshold}`);
379
+ lines.push(`Scope: ${scopeFilter?.join(", ") || "all"}`);
380
+ if (options.crossFileOnly)
381
+ lines.push("Filter: cross-file only");
382
+ if (options.onlyExported)
383
+ lines.push("Filter: exported only");
384
+ if (options.excludePattern)
385
+ lines.push(`Filter: exclude pattern /${options.excludePattern}/`);
386
+ lines.push("");
387
+ lines.push("━".repeat(80));
388
+ lines.push("DUPLICATE DETECTION RESULTS");
389
+ lines.push("━".repeat(80));
390
+ lines.push(`Total duplicates: ${result.summary.totalDuplicates}`);
391
+ const formatPct = (value) => (value * 100).toFixed(1);
392
+ const thresholds = options.thresholds;
393
+ const critical = result.duplicates.filter((d) => d.similarity >= thresholds.exact).length;
394
+ const high = result.duplicates.filter((d) => d.similarity >= thresholds.high && d.similarity < thresholds.exact).length;
395
+ const medium = result.duplicates.filter((d) => d.similarity >= thresholds.medium && d.similarity < thresholds.high).length;
396
+ const low = result.duplicates.filter((d) => d.similarity >= thresholds.low && d.similarity < thresholds.medium).length;
397
+ if (critical > 0) {
398
+ lines.push(` 🔥 Critical (≥${formatPct(thresholds.exact)}%): ${critical} ← Exact duplicates, refactor NOW`);
399
+ }
400
+ if (high > 0) {
401
+ lines.push(` ⚠️ High (${formatPct(thresholds.high)}–${formatPct(thresholds.exact)}%): ${high} ← Very similar, should review`);
402
+ }
403
+ if (medium > 0) {
404
+ lines.push(` ℹ️ Medium (${formatPct(thresholds.medium)}–${formatPct(thresholds.high)}%): ${medium} ← Similar, investigate`);
405
+ }
406
+ if (low > 0) {
407
+ lines.push(` 💡 Low (${formatPct(thresholds.low)}–${formatPct(thresholds.medium)}%): ${low} ← Somewhat similar`);
408
+ }
409
+ lines.push("");
410
+ lines.push(`Files affected: ${result.summary.filesAffected}`);
411
+ lines.push(`Potential savings: ${result.summary.totalSavings} lines`);
412
+ lines.push("");
413
+ }
414
+ if (result.duplicates.length === 0) {
415
+ lines.push("✅ No significant duplicates found!");
416
+ return { content: [{ type: "text", text: lines.join("\n") }] };
417
+ }
418
+ if (quiet) {
419
+ return { content: [{ type: "text", text: lines.join("\n") }] };
420
+ }
421
+ const topDuplicates = result.duplicates.slice(0, limit);
422
+ lines.push(`Top ${topDuplicates.length} duplicates (ranked by impact):`);
423
+ lines.push("");
424
+ for (let i = 0; i < topDuplicates.length; i++) {
425
+ const dup = topDuplicates[i];
426
+ const similarity = dup.similarity ?? 0;
427
+ const level = dup.level ?? "";
428
+ let emoji = "💡";
429
+ let label = "LOW";
430
+ if (similarity >= options.thresholds.exact || level === "exact") {
431
+ emoji = "🔥";
432
+ label = "CRITICAL";
433
+ }
434
+ else if (level === "high") {
435
+ emoji = "⚠️ ";
436
+ label = "HIGH";
437
+ }
438
+ else if (level === "medium") {
439
+ emoji = "ℹ️ ";
440
+ label = "MEDIUM";
441
+ }
442
+ lines.push(`${emoji} #${i + 1} - ${label} (${(similarity * 100).toFixed(1)}% similar)`);
443
+ if (verbose) {
444
+ lines.push(` Impact: ${dup.impact.totalLines} lines × ${dup.impact.complexity.toFixed(1)} complexity × ${dup.impact.fileCount} files = ${dup.impact.score.toFixed(0)} score`);
445
+ lines.push(` Potential savings: ${dup.impact.estimatedSavings} lines`);
446
+ }
447
+ for (const inst of dup.instances) {
448
+ const relPath = inst.file.replace(rootDir, "").replace(/^[/\\]/, "");
449
+ const linesCount = inst.endLine - inst.startLine + 1;
450
+ lines.push(` ${relPath}:${inst.startLine}-${inst.endLine} (${inst.symbol}, ${linesCount} lines)`);
451
+ }
452
+ if (showCode || verbose) {
453
+ lines.push("");
454
+ for (let j = 0; j < dup.instances.length; j++) {
455
+ const inst = dup.instances[j];
456
+ const relPath = inst.file.replace(rootDir, "").replace(/^[/\\]/, "");
457
+ lines.push(` ┌─ ${String.fromCharCode(65 + j)}: ${relPath}:${inst.startLine}`);
458
+ const codeLines = String(inst.content ?? "").split("\n");
459
+ const maxLines = showCode && !verbose ? 15 : 30;
460
+ const displayLines = codeLines.slice(0, maxLines);
461
+ for (const line of displayLines) {
462
+ lines.push(` │ ${line}`);
463
+ }
464
+ if (codeLines.length > maxLines) {
465
+ lines.push(` │ ... (${codeLines.length - maxLines} more lines)`);
466
+ }
467
+ lines.push(" └─");
468
+ }
469
+ }
470
+ lines.push("");
471
+ }
472
+ if (result.duplicates.length > limit) {
473
+ lines.push(`... and ${result.duplicates.length - limit} more duplicates`);
474
+ lines.push(`Use --limit ${result.duplicates.length} to see all`);
475
+ lines.push("");
476
+ }
477
+ if (result.acceptableDuplicates && result.acceptableDuplicates.length > 0) {
478
+ lines.push(`💡 ${result.acceptableDuplicates.length} acceptable duplicates ignored (simple validations, guards, etc.)`);
479
+ }
480
+ return { content: [{ type: "text", text: lines.join("\n") }] };
481
+ }
210
482
  if (name === "sensegrep.stats") {
211
483
  const { core } = await loadTool();
212
484
  const { Indexer, Instance } = core;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,30 +1,30 @@
1
1
  {
2
2
  "name": "@sensegrep/mcp",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "type": "module",
5
- "main": "./dist/server.js",
6
- "bin": {
7
- "sensegrep-mcp": "dist/server.js"
8
- },
5
+ "main": "./dist/server.js",
6
+ "bin": {
7
+ "sensegrep-mcp": "dist/server.js"
8
+ },
9
9
  "types": "./dist/server.d.ts",
10
10
  "files": [
11
11
  "dist"
12
12
  ],
13
- "scripts": {
14
- "build": "tsc -p tsconfig.json",
15
- "prepublishOnly": "node ../../build.js"
16
- },
13
+ "scripts": {
14
+ "build": "tsc -p tsconfig.json",
15
+ "prepublishOnly": "node ../../build.js"
16
+ },
17
17
  "engines": {
18
18
  "node": ">=18"
19
19
  },
20
- "dependencies": {
21
- "@modelcontextprotocol/sdk": "^1.25.1",
22
- "@sensegrep/core": "^0.1.10",
23
- "zod": "^4.2.1"
24
- },
25
- "publishConfig": {
26
- "access": "public"
27
- },
20
+ "dependencies": {
21
+ "@modelcontextprotocol/sdk": "^1.25.1",
22
+ "@sensegrep/core": "^0.1.12",
23
+ "zod": "^4.2.1"
24
+ },
25
+ "publishConfig": {
26
+ "access": "public"
27
+ },
28
28
  "license": "Apache-2.0",
29
29
  "repository": {
30
30
  "type": "git",