@j0hanz/filesystem-context-mcp 1.0.6 → 1.0.8
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/config/types.d.ts +18 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/instructions.md +145 -181
- package/dist/lib/directory-helpers.d.ts +5 -0
- package/dist/lib/directory-helpers.d.ts.map +1 -0
- package/dist/lib/directory-helpers.js +39 -0
- package/dist/lib/directory-helpers.js.map +1 -0
- package/dist/lib/file-operations.d.ts.map +1 -1
- package/dist/lib/file-operations.js +32 -265
- package/dist/lib/file-operations.js.map +1 -1
- package/dist/lib/formatters.d.ts +12 -0
- package/dist/lib/formatters.d.ts.map +1 -1
- package/dist/lib/formatters.js +27 -0
- package/dist/lib/formatters.js.map +1 -1
- package/dist/lib/fs-helpers.d.ts +2 -1
- package/dist/lib/fs-helpers.d.ts.map +1 -1
- package/dist/lib/fs-helpers.js +24 -6
- package/dist/lib/fs-helpers.js.map +1 -1
- package/dist/lib/mcp-logger.d.ts +11 -0
- package/dist/lib/mcp-logger.d.ts.map +1 -0
- package/dist/lib/mcp-logger.js +45 -0
- package/dist/lib/mcp-logger.js.map +1 -0
- package/dist/lib/path-validation.d.ts +1 -6
- package/dist/lib/path-validation.d.ts.map +1 -1
- package/dist/lib/path-validation.js.map +1 -1
- package/dist/lib/search-helpers.d.ts +13 -0
- package/dist/lib/search-helpers.d.ts.map +1 -0
- package/dist/lib/search-helpers.js +181 -0
- package/dist/lib/search-helpers.js.map +1 -0
- package/dist/lib/sorting.d.ts +12 -0
- package/dist/lib/sorting.d.ts.map +1 -0
- package/dist/lib/sorting.js +41 -0
- package/dist/lib/sorting.js.map +1 -0
- package/dist/prompts/analyze-codebase.d.ts.map +1 -1
- package/dist/prompts/analyze-codebase.js +124 -38
- package/dist/prompts/analyze-codebase.js.map +1 -1
- package/dist/prompts/filesystem-query.d.ts.map +1 -1
- package/dist/prompts/filesystem-query.js +123 -68
- package/dist/prompts/filesystem-query.js.map +1 -1
- package/dist/prompts/find-duplicates.d.ts.map +1 -1
- package/dist/prompts/find-duplicates.js +56 -47
- package/dist/prompts/find-duplicates.js.map +1 -1
- package/dist/prompts/project-overview.d.ts.map +1 -1
- package/dist/prompts/project-overview.js +106 -35
- package/dist/prompts/project-overview.js.map +1 -1
- package/dist/prompts/search-and-replace.d.ts.map +1 -1
- package/dist/prompts/search-and-replace.js +104 -57
- package/dist/prompts/search-and-replace.js.map +1 -1
- package/dist/prompts/shared.d.ts +11 -0
- package/dist/prompts/shared.d.ts.map +1 -0
- package/dist/prompts/shared.js +32 -0
- package/dist/prompts/shared.js.map +1 -0
- package/dist/resources/index.d.ts +3 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +54 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/schemas/inputs.d.ts.map +1 -1
- package/dist/schemas/inputs.js +11 -7
- package/dist/schemas/inputs.js.map +1 -1
- package/dist/schemas/outputs.d.ts +10 -8
- package/dist/schemas/outputs.d.ts.map +1 -1
- package/dist/schemas/outputs.js +2 -0
- package/dist/schemas/outputs.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +22 -15
- package/dist/server.js.map +1 -1
- package/dist/tools/analyze-directory.d.ts.map +1 -1
- package/dist/tools/analyze-directory.js +12 -5
- package/dist/tools/analyze-directory.js.map +1 -1
- package/dist/tools/directory-tree.d.ts.map +1 -1
- package/dist/tools/directory-tree.js +15 -3
- package/dist/tools/directory-tree.js.map +1 -1
- package/dist/tools/get-file-info.d.ts.map +1 -1
- package/dist/tools/get-file-info.js +4 -1
- package/dist/tools/get-file-info.js.map +1 -1
- package/dist/tools/list-allowed-dirs.d.ts.map +1 -1
- package/dist/tools/list-allowed-dirs.js +15 -2
- package/dist/tools/list-allowed-dirs.js.map +1 -1
- package/dist/tools/list-directory.d.ts.map +1 -1
- package/dist/tools/list-directory.js +15 -8
- package/dist/tools/list-directory.js.map +1 -1
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +6 -2
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/read-media-file.d.ts.map +1 -1
- package/dist/tools/read-media-file.js +4 -1
- package/dist/tools/read-media-file.js.map +1 -1
- package/dist/tools/read-multiple-files.d.ts.map +1 -1
- package/dist/tools/read-multiple-files.js +6 -2
- package/dist/tools/read-multiple-files.js.map +1 -1
- package/dist/tools/search-content.d.ts.map +1 -1
- package/dist/tools/search-content.js +42 -5
- package/dist/tools/search-content.js.map +1 -1
- package/dist/tools/search-files.d.ts.map +1 -1
- package/dist/tools/search-files.js +14 -5
- package/dist/tools/search-files.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import * as nodePath from 'node:path';
|
|
2
2
|
import { createErrorResponse, ErrorCode } from '../lib/errors.js';
|
|
3
3
|
import { searchContent } from '../lib/file-operations.js';
|
|
4
|
-
import { formatContentMatches } from '../lib/formatters.js';
|
|
4
|
+
import { formatContentMatches, formatOperationSummary, } from '../lib/formatters.js';
|
|
5
|
+
import { logger } from '../lib/mcp-logger.js';
|
|
5
6
|
import { SearchContentInputSchema, SearchContentOutputSchema, } from '../schemas/index.js';
|
|
6
7
|
export function registerSearchContentTool(server) {
|
|
7
8
|
server.registerTool('search_content', {
|
|
8
9
|
title: 'Search Content',
|
|
9
|
-
description: 'Search for text
|
|
10
|
+
description: 'Search for text patterns within file contents using regular expressions (grep-like). ' +
|
|
11
|
+
'Returns matching lines with optional context (contextLines parameter). ' +
|
|
12
|
+
'Use isLiteral=true for exact string matching, wholeWord=true to avoid partial matches. ' +
|
|
13
|
+
'Filter files with filePattern glob (e.g., "**/*.ts" for TypeScript only). ' +
|
|
14
|
+
'Automatically skips binary files unless skipBinary=false.',
|
|
10
15
|
inputSchema: SearchContentInputSchema,
|
|
11
16
|
outputSchema: SearchContentOutputSchema,
|
|
12
17
|
annotations: {
|
|
@@ -15,7 +20,9 @@ export function registerSearchContentTool(server) {
|
|
|
15
20
|
openWorldHint: true,
|
|
16
21
|
},
|
|
17
22
|
}, async ({ path, pattern, filePattern, excludePatterns, caseSensitive, maxResults, maxFileSize, maxFilesScanned, timeoutMs, skipBinary, contextLines, wholeWord, isLiteral, }) => {
|
|
23
|
+
const toolLogger = 'search_content';
|
|
18
24
|
try {
|
|
25
|
+
logger.info(`Starting search: pattern="${pattern}" in "${path}"`, toolLogger);
|
|
19
26
|
const result = await searchContent(path, pattern, {
|
|
20
27
|
filePattern,
|
|
21
28
|
excludePatterns,
|
|
@@ -54,14 +61,44 @@ export function registerSearchContentTool(server) {
|
|
|
54
61
|
stoppedReason: result.summary.stoppedReason,
|
|
55
62
|
},
|
|
56
63
|
};
|
|
64
|
+
logger.info(`Search complete: ${result.summary.matches} matches in ${result.summary.filesMatched} files (${result.summary.filesScanned} scanned)`, toolLogger);
|
|
65
|
+
// Build text output with truncation notice for better error recovery feedback
|
|
66
|
+
let textOutput = formatContentMatches(result.matches);
|
|
67
|
+
// Determine truncation reason and tip
|
|
68
|
+
let truncatedReason;
|
|
69
|
+
let tip;
|
|
70
|
+
if (result.summary.truncated) {
|
|
71
|
+
if (result.summary.stoppedReason === 'timeout') {
|
|
72
|
+
truncatedReason = 'search timed out';
|
|
73
|
+
tip =
|
|
74
|
+
'Increase timeoutMs, use more specific filePattern, or add excludePatterns to narrow scope.';
|
|
75
|
+
}
|
|
76
|
+
else if (result.summary.stoppedReason === 'maxResults') {
|
|
77
|
+
truncatedReason = `reached max results limit (${result.summary.matches})`;
|
|
78
|
+
}
|
|
79
|
+
else if (result.summary.stoppedReason === 'maxFiles') {
|
|
80
|
+
truncatedReason = `reached max files limit (${result.summary.filesScanned} scanned)`;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
textOutput += formatOperationSummary({
|
|
84
|
+
truncated: result.summary.truncated,
|
|
85
|
+
truncatedReason,
|
|
86
|
+
tip,
|
|
87
|
+
skippedTooLarge: result.summary.skippedTooLarge,
|
|
88
|
+
skippedBinary: result.summary.skippedBinary,
|
|
89
|
+
skippedInaccessible: result.summary.skippedInaccessible,
|
|
90
|
+
linesSkippedDueToRegexTimeout: result.summary.linesSkippedDueToRegexTimeout,
|
|
91
|
+
});
|
|
92
|
+
if (result.summary.truncated && !tip) {
|
|
93
|
+
textOutput += `\nScanned ${result.summary.filesScanned} files, found ${result.summary.matches} matches in ${result.summary.filesMatched} files.`;
|
|
94
|
+
}
|
|
57
95
|
return {
|
|
58
|
-
content: [
|
|
59
|
-
{ type: 'text', text: formatContentMatches(result.matches) },
|
|
60
|
-
],
|
|
96
|
+
content: [{ type: 'text', text: textOutput }],
|
|
61
97
|
structuredContent: structured,
|
|
62
98
|
};
|
|
63
99
|
}
|
|
64
100
|
catch (error) {
|
|
101
|
+
logger.error(`Search failed: ${String(error)}`, toolLogger);
|
|
65
102
|
return createErrorResponse(error, ErrorCode.E_UNKNOWN, path);
|
|
66
103
|
}
|
|
67
104
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-content.js","sourceRoot":"","sources":["../../src/tools/search-content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AAItC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"search-content.js","sourceRoot":"","sources":["../../src/tools/search-content.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-files.d.ts","sourceRoot":"","sources":["../../src/tools/search-files.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"search-files.d.ts","sourceRoot":"","sources":["../../src/tools/search-files.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAazE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuE/D"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import * as path from 'node:path';
|
|
2
2
|
import { createErrorResponse, ErrorCode } from '../lib/errors.js';
|
|
3
3
|
import { searchFiles } from '../lib/file-operations.js';
|
|
4
|
-
import { formatSearchResults } from '../lib/formatters.js';
|
|
4
|
+
import { formatOperationSummary, formatSearchResults, } from '../lib/formatters.js';
|
|
5
5
|
import { SearchFilesInputSchema, SearchFilesOutputSchema, } from '../schemas/index.js';
|
|
6
6
|
export function registerSearchFilesTool(server) {
|
|
7
7
|
server.registerTool('search_files', {
|
|
8
8
|
title: 'Search Files',
|
|
9
|
-
description: '
|
|
9
|
+
description: 'Find files matching a glob pattern within a directory tree. ' +
|
|
10
|
+
'Pattern examples: "**/*.ts" (all TypeScript files), "src/**/*.{js,jsx}" (JS/JSX in src), ' +
|
|
11
|
+
'"**/test/**" (all test directories). Returns paths, types, sizes, and modification dates. ' +
|
|
12
|
+
'Use excludePatterns to skip directories like node_modules.',
|
|
10
13
|
inputSchema: SearchFilesInputSchema,
|
|
11
14
|
outputSchema: SearchFilesOutputSchema,
|
|
12
15
|
annotations: {
|
|
@@ -37,10 +40,16 @@ export function registerSearchFilesTool(server) {
|
|
|
37
40
|
skippedInaccessible: result.summary.skippedInaccessible,
|
|
38
41
|
},
|
|
39
42
|
};
|
|
43
|
+
// Build text output with truncation notice for better error recovery feedback
|
|
44
|
+
let textOutput = formatSearchResults(result.results);
|
|
45
|
+
textOutput += formatOperationSummary({
|
|
46
|
+
truncated: result.summary.truncated,
|
|
47
|
+
truncatedReason: `reached max results limit (${result.summary.matched} returned)`,
|
|
48
|
+
tip: 'Increase maxResults, use more specific pattern, or add excludePatterns to narrow scope.',
|
|
49
|
+
skippedInaccessible: result.summary.skippedInaccessible,
|
|
50
|
+
});
|
|
40
51
|
return {
|
|
41
|
-
content: [
|
|
42
|
-
{ type: 'text', text: formatSearchResults(result.results) },
|
|
43
|
-
],
|
|
52
|
+
content: [{ type: 'text', text: textOutput }],
|
|
44
53
|
structuredContent: structured,
|
|
45
54
|
};
|
|
46
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-files.js","sourceRoot":"","sources":["../../src/tools/search-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAIlC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"search-files.js","sourceRoot":"","sources":["../../src/tools/search-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAIlC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,8DAA8D;YAC9D,2FAA2F;YAC3F,4FAA4F;YAC5F,4DAA4D;QAC9D,WAAW,EAAE,sBAAsB;QACnC,YAAY,EAAE,uBAAuB;QACrC,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,EACL,IAAI,EAAE,QAAQ,EACd,OAAO,EACP,eAAe,EACf,UAAU,EACV,MAAM,EACN,QAAQ,GACT,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE;gBACnE,UAAU;gBACV,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;YACH,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,IAAI;gBACR,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAClC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC;oBAC5C,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE;iBACpC,CAAC,CAAC;gBACH,OAAO,EAAE;oBACP,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;oBAC/B,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;oBACnC,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,mBAAmB;iBACxD;aACF,CAAC;YAEF,8EAA8E;YAC9E,IAAI,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrD,UAAU,IAAI,sBAAsB,CAAC;gBACnC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;gBACnC,eAAe,EAAE,8BAA8B,MAAM,CAAC,OAAO,CAAC,OAAO,YAAY;gBACjF,GAAG,EAAE,yFAAyF;gBAC9F,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,mBAAmB;aACxD,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBAC7C,iBAAiB,EAAE,UAAU;aAC9B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CACxB,KAAK,EACL,SAAS,CAAC,iBAAiB,EAC3B,QAAQ,CACT,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED