mcp-code-context 3.5.1 → 3.5.2
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/CHANGELOG.md +3 -3
- package/CHANGELOG_v3.3.0.md +1 -1
- package/SECURITY.md +14 -14
- package/dist/src/core/engine.d.ts +1 -1
- package/dist/src/core/engine.js +1 -1
- package/dist/src/core/validator.d.ts +1 -1
- package/dist/src/core/validator.js +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +8 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/operations/compress.d.ts +1 -1
- package/dist/src/operations/compress.js +1 -1
- package/dist/src/operations/confirmationStore.d.ts +10 -2
- package/dist/src/operations/confirmationStore.js +40 -2
- package/dist/src/operations/confirmationStore.js.map +1 -1
- package/dist/src/operations/read.d.ts +1 -1
- package/dist/src/operations/read.js +1 -1
- package/dist/src/operations/write.d.ts +2 -2
- package/dist/src/operations/write.js +2 -2
- package/dist/src/parsers/base.d.ts +1 -1
- package/dist/src/parsers/base.js +1 -1
- package/dist/src/parsers/dartTreeSitter.d.ts +1 -1
- package/dist/src/parsers/dartTreeSitter.js +1 -1
- package/dist/src/parsers/php.d.ts +1 -1
- package/dist/src/parsers/php.js +1 -1
- package/dist/src/parsers/python.d.ts +1 -1
- package/dist/src/parsers/python.js +1 -1
- package/dist/src/parsers/registry.d.ts +1 -1
- package/dist/src/parsers/registry.js +1 -1
- package/dist/src/parsers/typescript.d.ts +1 -1
- package/dist/src/parsers/typescript.js +1 -1
- package/dist/src/utils/auditLogger.d.ts +1 -1
- package/dist/src/utils/auditLogger.js +1 -1
- package/dist/src/utils/backupManager.d.ts +1 -1
- package/dist/src/utils/backupManager.js +1 -1
- package/dist/src/utils/constants.d.ts +1 -1
- package/dist/src/utils/constants.js +1 -1
- package/dist/src/utils/diff.d.ts +1 -1
- package/dist/src/utils/diff.js +1 -1
- package/dist/src/utils/fileLock.d.ts +1 -1
- package/dist/src/utils/fileLock.js +1 -1
- package/dist/src/utils/rateLimiter.d.ts +1 -1
- package/dist/src/utils/rateLimiter.js +1 -1
- package/dist/src/utils/safeRegex.d.ts +1 -1
- package/dist/src/utils/safeRegex.js +1 -1
- package/dist/src/utils/streaming.d.ts +1 -1
- package/dist/src/utils/streaming.js +1 -1
- package/dist/src/utils/telemetry.d.ts +1 -1
- package/dist/src/utils/telemetry.js +1 -1
- package/llms.txt +5 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [3.5.
|
|
3
|
+
## [3.5.2] - 2026-04-24
|
|
4
4
|
|
|
5
5
|
### 🔒 PRODUCTION HARDENING - Security & Infrastructure Complete
|
|
6
6
|
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
- **Security**: SecurityValidator enforced on all 13 handlers
|
|
31
31
|
- **Architecture**: Middleware pipeline (RateLimiter → FileLock → Execute → AuditLog → Telemetry)
|
|
32
32
|
- **Parsers**: Removed 300+ lines of duplicated replaceSymbol code
|
|
33
|
-
- **Version**: Synchronized all version strings to 3.5.
|
|
33
|
+
- **Version**: Synchronized all version strings to 3.5.2
|
|
34
34
|
|
|
35
35
|
### Performance
|
|
36
36
|
- Streaming I/O for files >5MB (prevents memory exhaustion)
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
- ✅ All security tests passing
|
|
50
50
|
- ✅ All rate limiter tests passing
|
|
51
51
|
- ✅ All file lock tests passing
|
|
52
|
-
- ✅ All v3.5.
|
|
52
|
+
- ✅ All v3.5.2 feature tests passing
|
|
53
53
|
- ✅ TypeScript: 0 compilation errors
|
|
54
54
|
- ✅ Build: Clean production dist
|
|
55
55
|
|
package/CHANGELOG_v3.3.0.md
CHANGED
package/SECURITY.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Security Policy - mcp-code-context v3.5.
|
|
1
|
+
# Security Policy - mcp-code-context v3.5.2
|
|
2
2
|
|
|
3
|
-
## 🔒 Security Improvements in v3.5.
|
|
3
|
+
## 🔒 Security Improvements in v3.5.2
|
|
4
4
|
|
|
5
5
|
This release addresses **all critical security vulnerabilities** from comprehensive adversarial audit, implements full middleware pipeline, and hardens all 13 tool handlers.
|
|
6
6
|
|
|
@@ -10,11 +10,11 @@ This release addresses **all critical security vulnerabilities** from comprehens
|
|
|
10
10
|
|
|
11
11
|
### 1. Path Traversal (HIGH)
|
|
12
12
|
**CVSS Score**: 8.1 (High)
|
|
13
|
-
**Status**: ✅ FIXED in v3.2.0, **hardened in v3.5.
|
|
13
|
+
**Status**: ✅ FIXED in v3.2.0, **hardened in v3.5.2**
|
|
14
14
|
|
|
15
15
|
**Description**: Path traversal check occurred BEFORE path normalization, allowing bypass with absolute paths.
|
|
16
16
|
|
|
17
|
-
**Fix**: Check boundary AFTER `path.resolve()` normalization. In v3.5.
|
|
17
|
+
**Fix**: Check boundary AFTER `path.resolve()` normalization. In v3.5.2, **all 13 handlers** now require `projectRoot` and validate via `SecurityValidator`.
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
@@ -40,7 +40,7 @@ This release addresses **all critical security vulnerabilities** from comprehens
|
|
|
40
40
|
|
|
41
41
|
### 4. ReDoS in searchPattern and readLines (MEDIUM)
|
|
42
42
|
**CVSS Score**: 5.3 (Medium)
|
|
43
|
-
**Status**: ✅ FIXED in v3.5.
|
|
43
|
+
**Status**: ✅ FIXED in v3.5.2
|
|
44
44
|
|
|
45
45
|
**Description**: User-provided regex patterns could cause catastrophic backtracking.
|
|
46
46
|
|
|
@@ -58,7 +58,7 @@ This release addresses **all critical security vulnerabilities** from comprehens
|
|
|
58
58
|
|
|
59
59
|
### 6. extractSymbol API Mismatch (CRITICAL)
|
|
60
60
|
**CVSS Score**: 9.0 (Critical)
|
|
61
|
-
**Status**: ✅ FIXED in v3.5.
|
|
61
|
+
**Status**: ✅ FIXED in v3.5.2
|
|
62
62
|
|
|
63
63
|
**Description**: `read.ts` passed `content` as `symbolName` and real `symbolName` as `className`. Symbol extraction was 100% broken.
|
|
64
64
|
|
|
@@ -68,7 +68,7 @@ This release addresses **all critical security vulnerabilities** from comprehens
|
|
|
68
68
|
|
|
69
69
|
### 7. Handlers Without Path Validation (HIGH)
|
|
70
70
|
**CVSS Score**: 8.5 (High)
|
|
71
|
-
**Status**: ✅ FIXED in v3.5.
|
|
71
|
+
**Status**: ✅ FIXED in v3.5.2
|
|
72
72
|
|
|
73
73
|
**Description**: `readLines`, `searchPattern`, `analyzeImpact`, `getSemanticRepoMap` had no path boundary check.
|
|
74
74
|
|
|
@@ -78,7 +78,7 @@ This release addresses **all critical security vulnerabilities** from comprehens
|
|
|
78
78
|
|
|
79
79
|
### 8. renameSymbol Arbitrary Write (HIGH)
|
|
80
80
|
**CVSS Score**: 8.0 (High)
|
|
81
|
-
**Status**: ✅ FIXED in v3.5.
|
|
81
|
+
**Status**: ✅ FIXED in v3.5.2
|
|
82
82
|
|
|
83
83
|
**Description**: `renameSymbol` wrote dependent files without SecurityValidator check, using non-atomic writes.
|
|
84
84
|
|
|
@@ -88,7 +88,7 @@ This release addresses **all critical security vulnerabilities** from comprehens
|
|
|
88
88
|
|
|
89
89
|
### 9. LCS Diff OOM (MEDIUM)
|
|
90
90
|
**CVSS Score**: 5.0 (Medium)
|
|
91
|
-
**Status**: ✅ FIXED in v3.5.
|
|
91
|
+
**Status**: ✅ FIXED in v3.5.2
|
|
92
92
|
|
|
93
93
|
**Description**: LCS diff algorithm is O(n²) memory — 10K-line files cause OOM.
|
|
94
94
|
|
|
@@ -101,16 +101,16 @@ This release addresses **all critical security vulnerabilities** from comprehens
|
|
|
101
101
|
### Defense in Depth
|
|
102
102
|
|
|
103
103
|
1. **Input Validation**
|
|
104
|
-
- Path boundary enforcement on ALL handlers (v3.5.
|
|
104
|
+
- Path boundary enforcement on ALL handlers (v3.5.2)
|
|
105
105
|
- File size limits (10MB per file, 50MB total)
|
|
106
106
|
- Regex sanitization + timeout (1s limit)
|
|
107
107
|
|
|
108
|
-
2. **Two-Phase Write Workflow** (v3.5.
|
|
108
|
+
2. **Two-Phase Write Workflow** (v3.5.2)
|
|
109
109
|
- Phase 1: Dry-run returns diff + confirmation token
|
|
110
110
|
- Phase 2: Apply with token (5-minute expiry)
|
|
111
111
|
- Max 50 pending operations
|
|
112
112
|
|
|
113
|
-
3. **Middleware Pipeline** (v3.5.
|
|
113
|
+
3. **Middleware Pipeline** (v3.5.2)
|
|
114
114
|
- Rate limiting (token bucket per operation)
|
|
115
115
|
- File locking (prevents concurrent writes)
|
|
116
116
|
- Audit logging (persistent `.mcp-audit-logs/`)
|
|
@@ -160,7 +160,7 @@ node dist-tests/tests/test-security.js
|
|
|
160
160
|
- [x] Syntax validation
|
|
161
161
|
- [x] Bounded memory in compress
|
|
162
162
|
|
|
163
|
-
### v3.5.
|
|
163
|
+
### v3.5.2 ✅
|
|
164
164
|
- [x] Regex timeout enforcement (safeRegexTest)
|
|
165
165
|
- [x] Rate limiting (token bucket)
|
|
166
166
|
- [x] File locking (concurrent write prevention)
|
|
@@ -174,4 +174,4 @@ node dist-tests/tests/test-security.js
|
|
|
174
174
|
---
|
|
175
175
|
|
|
176
176
|
**Last Updated**: 2026-04-24
|
|
177
|
-
**Version**: 3.5.
|
|
177
|
+
**Version**: 3.5.2
|
package/dist/src/core/engine.js
CHANGED
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* mcp-code-context v3.5.
|
|
3
|
+
* mcp-code-context v3.5.2 - Tree-sitter WASM Edition
|
|
4
4
|
*
|
|
5
5
|
* Production-ready with:
|
|
6
6
|
* - Tree-sitter WASM for 100% AST accuracy (TypeScript, Python, PHP, Dart)
|
|
@@ -28,7 +28,7 @@ import { streamFile } from "./utils/streaming.js";
|
|
|
28
28
|
import { BackupManager } from "./utils/backupManager.js";
|
|
29
29
|
import * as fs from "node:fs/promises";
|
|
30
30
|
const SERVER_NAME = "mcp-code-context";
|
|
31
|
-
const SERVER_VERSION = "3.5.
|
|
31
|
+
const SERVER_VERSION = "3.5.2";
|
|
32
32
|
// Global instances
|
|
33
33
|
let engine;
|
|
34
34
|
let registry;
|
|
@@ -396,6 +396,8 @@ async function handleTwoPhaseWrite(args, operationName, executeWrite) {
|
|
|
396
396
|
const result = await executeWrite();
|
|
397
397
|
if (!result.success)
|
|
398
398
|
throw new Error(result.error);
|
|
399
|
+
// Warn if a previous token for this file is being superseded
|
|
400
|
+
const hadConflict = globalConfirmationStore.hasConflictingPending(String(args.filePath));
|
|
399
401
|
const newToken = globalConfirmationStore.storePending({
|
|
400
402
|
filePath: String(args.filePath),
|
|
401
403
|
operation: operationName,
|
|
@@ -404,10 +406,13 @@ async function handleTwoPhaseWrite(args, operationName, executeWrite) {
|
|
|
404
406
|
diff: result.diff,
|
|
405
407
|
pendingWrites: result.pendingWrites,
|
|
406
408
|
});
|
|
409
|
+
const conflictWarning = hadConflict
|
|
410
|
+
? `\n⚠️ A previous pending token for this file was invalidated. Only this new token is valid.`
|
|
411
|
+
: "";
|
|
407
412
|
return {
|
|
408
413
|
content: [{
|
|
409
414
|
type: "text",
|
|
410
|
-
text: `DRY RUN SUCCESSFUL
|
|
415
|
+
text: `DRY RUN SUCCESSFUL.${conflictWarning}\nTo apply these changes, call this tool again with confirm=true and confirmationToken="${newToken}"\n\nDiff:\n${result.diff}`
|
|
411
416
|
}],
|
|
412
417
|
};
|
|
413
418
|
}
|
package/dist/src/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,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Confirmation Store - v3.5.
|
|
2
|
+
* Confirmation Store - v3.5.2
|
|
3
3
|
* Two-phase write: dry-run preview → confirm with token
|
|
4
4
|
* Stores pending write operations with auto-expiry
|
|
5
5
|
*/
|
|
@@ -21,7 +21,9 @@ export interface PendingOperation {
|
|
|
21
21
|
declare class ConfirmationStore {
|
|
22
22
|
private pending;
|
|
23
23
|
/**
|
|
24
|
-
* Store a pending write operation and return a confirmation token
|
|
24
|
+
* Store a pending write operation and return a confirmation token.
|
|
25
|
+
* Invalidates any existing pending token for the same file(s) —
|
|
26
|
+
* prevents stale tokens from overwriting newer changes.
|
|
25
27
|
*/
|
|
26
28
|
storePending(params: {
|
|
27
29
|
filePath: string;
|
|
@@ -38,6 +40,11 @@ declare class ConfirmationStore {
|
|
|
38
40
|
* Retrieve and consume a pending operation by token
|
|
39
41
|
*/
|
|
40
42
|
consumePending(token: string): PendingOperation | null;
|
|
43
|
+
/**
|
|
44
|
+
* Check if any pending token exists for the given file path (without consuming).
|
|
45
|
+
* Use before Phase 1 to warn the user of a stale pending operation.
|
|
46
|
+
*/
|
|
47
|
+
hasConflictingPending(filePath: string): boolean;
|
|
41
48
|
/**
|
|
42
49
|
* Check if a token exists (without consuming)
|
|
43
50
|
*/
|
|
@@ -46,6 +53,7 @@ declare class ConfirmationStore {
|
|
|
46
53
|
* Get count of pending operations
|
|
47
54
|
*/
|
|
48
55
|
getPendingCount(): number;
|
|
56
|
+
private normalizePath;
|
|
49
57
|
/**
|
|
50
58
|
* Remove expired entries
|
|
51
59
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Confirmation Store - v3.5.
|
|
2
|
+
* Confirmation Store - v3.5.2
|
|
3
3
|
* Two-phase write: dry-run preview → confirm with token
|
|
4
4
|
* Stores pending write operations with auto-expiry
|
|
5
5
|
*/
|
|
@@ -9,10 +9,30 @@ const MAX_PENDING = 50;
|
|
|
9
9
|
class ConfirmationStore {
|
|
10
10
|
pending = new Map();
|
|
11
11
|
/**
|
|
12
|
-
* Store a pending write operation and return a confirmation token
|
|
12
|
+
* Store a pending write operation and return a confirmation token.
|
|
13
|
+
* Invalidates any existing pending token for the same file(s) —
|
|
14
|
+
* prevents stale tokens from overwriting newer changes.
|
|
13
15
|
*/
|
|
14
16
|
storePending(params) {
|
|
15
17
|
this.cleanup();
|
|
18
|
+
// Collect all file paths this operation touches
|
|
19
|
+
const affectedPaths = new Set();
|
|
20
|
+
affectedPaths.add(this.normalizePath(params.filePath));
|
|
21
|
+
for (const pw of params.pendingWrites ?? []) {
|
|
22
|
+
affectedPaths.add(this.normalizePath(pw.filePath));
|
|
23
|
+
}
|
|
24
|
+
// Invalidate any existing token that overlaps with these paths
|
|
25
|
+
for (const [existingToken, op] of this.pending.entries()) {
|
|
26
|
+
const opPaths = new Set();
|
|
27
|
+
opPaths.add(this.normalizePath(op.filePath));
|
|
28
|
+
for (const pw of op.pendingWrites ?? []) {
|
|
29
|
+
opPaths.add(this.normalizePath(pw.filePath));
|
|
30
|
+
}
|
|
31
|
+
const hasOverlap = [...affectedPaths].some(p => opPaths.has(p));
|
|
32
|
+
if (hasOverlap) {
|
|
33
|
+
this.pending.delete(existingToken);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
16
36
|
const token = crypto.randomBytes(16).toString("hex");
|
|
17
37
|
const now = Date.now();
|
|
18
38
|
this.pending.set(token, {
|
|
@@ -52,6 +72,21 @@ class ConfirmationStore {
|
|
|
52
72
|
this.pending.delete(token);
|
|
53
73
|
return op;
|
|
54
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Check if any pending token exists for the given file path (without consuming).
|
|
77
|
+
* Use before Phase 1 to warn the user of a stale pending operation.
|
|
78
|
+
*/
|
|
79
|
+
hasConflictingPending(filePath) {
|
|
80
|
+
this.cleanup();
|
|
81
|
+
const normalized = this.normalizePath(filePath);
|
|
82
|
+
for (const op of this.pending.values()) {
|
|
83
|
+
if (this.normalizePath(op.filePath) === normalized)
|
|
84
|
+
return true;
|
|
85
|
+
if (op.pendingWrites?.some(pw => this.normalizePath(pw.filePath) === normalized))
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
55
90
|
/**
|
|
56
91
|
* Check if a token exists (without consuming)
|
|
57
92
|
*/
|
|
@@ -67,6 +102,9 @@ class ConfirmationStore {
|
|
|
67
102
|
this.cleanup();
|
|
68
103
|
return this.pending.size;
|
|
69
104
|
}
|
|
105
|
+
normalizePath(filePath) {
|
|
106
|
+
return filePath.replace(/\\/g, '/').toLowerCase();
|
|
107
|
+
}
|
|
70
108
|
/**
|
|
71
109
|
* Remove expired entries
|
|
72
110
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirmationStore.js","sourceRoot":"","sources":["../../../src/operations/confirmationStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAetC,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AAC7C,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,MAAM,iBAAiB;IACb,OAAO,GAAkC,IAAI,GAAG,EAAE,CAAC;IAE3D
|
|
1
|
+
{"version":3,"file":"confirmationStore.js","sourceRoot":"","sources":["../../../src/operations/confirmationStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Write Operations - v3.5.
|
|
2
|
+
* Write Operations - v3.5.2
|
|
3
3
|
* FIXES: SecurityValidator in renameSymbol, atomic writes, AST-based positioning
|
|
4
4
|
* CRITICAL: renameSymbol Phase 1 is now pure-functional (no disk writes)
|
|
5
5
|
*/
|
|
@@ -53,7 +53,7 @@ export declare function insertCode(options: InsertOptions): Promise<WriteResult>
|
|
|
53
53
|
export declare function removeSymbol(options: RemoveOptions): Promise<WriteResult>;
|
|
54
54
|
/**
|
|
55
55
|
* Rename symbol using AST-aware replacement
|
|
56
|
-
* v3.5.
|
|
56
|
+
* v3.5.2 - CRITICAL FIX: Pure-functional Phase 1 (no writes to disk)
|
|
57
57
|
* All changes are accumulated in pendingWrites for Phase 2 confirmation.
|
|
58
58
|
*/
|
|
59
59
|
export declare function renameSymbol(params: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Write Operations - v3.5.
|
|
2
|
+
* Write Operations - v3.5.2
|
|
3
3
|
* FIXES: SecurityValidator in renameSymbol, atomic writes, AST-based positioning
|
|
4
4
|
* CRITICAL: renameSymbol Phase 1 is now pure-functional (no disk writes)
|
|
5
5
|
*/
|
|
@@ -173,7 +173,7 @@ export async function removeSymbol(options) {
|
|
|
173
173
|
}
|
|
174
174
|
/**
|
|
175
175
|
* Rename symbol using AST-aware replacement
|
|
176
|
-
* v3.5.
|
|
176
|
+
* v3.5.2 - CRITICAL FIX: Pure-functional Phase 1 (no writes to disk)
|
|
177
177
|
* All changes are accumulated in pendingWrites for Phase 2 confirmation.
|
|
178
178
|
*/
|
|
179
179
|
export async function renameSymbol(params) {
|
package/dist/src/parsers/base.js
CHANGED
package/dist/src/parsers/php.js
CHANGED
package/dist/src/utils/diff.d.ts
CHANGED
package/dist/src/utils/diff.js
CHANGED
package/llms.txt
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# mcp-code-context v3.5.
|
|
1
|
+
# mcp-code-context v3.5.2
|
|
2
2
|
|
|
3
3
|
> A Model Context Protocol (MCP) server with **Tree-sitter WASM parsers** for 100% AST accuracy. Zero native dependencies. Production-ready with middleware pipeline.
|
|
4
4
|
|
|
5
|
-
## What's New in v3.5.
|
|
5
|
+
## What's New in v3.5.2
|
|
6
6
|
|
|
7
7
|
🔒 **Production Hardening**:
|
|
8
8
|
- ✅ Two-phase write workflow (dry-run + confirmation token)
|
|
@@ -142,13 +142,13 @@ This MCP server solves two problems:
|
|
|
142
142
|
- `steps` (optional): Number of versions to go back (1-5, default: 1).
|
|
143
143
|
**What it does:** Reverts the file to the state it was in before the last 1-5 modifications.
|
|
144
144
|
|
|
145
|
-
### Write Tools (v3.5.
|
|
145
|
+
### Write Tools (v3.5.2 Two-Phase Workflow)
|
|
146
146
|
|
|
147
147
|
All write tools follow a **Two-Phase Workflow**:
|
|
148
148
|
1. **Phase 1 (Preview)**: Call without a token to get a unified `diff` and a `confirmationToken`.
|
|
149
149
|
2. **Phase 2 (Apply)**: Call with `confirmationToken` and `confirm: true` to apply the changes.
|
|
150
150
|
|
|
151
|
-
**Important Notes (v3.5.
|
|
151
|
+
**Important Notes (v3.5.2):**
|
|
152
152
|
- ✅ **Windows CRLF Support**: Fully resolved. All operations work correctly on Windows files with CRLF line endings.
|
|
153
153
|
- ✅ **Parameter Brace Handling**: Methods with braces in parameters (e.g., `{int? cart}`) are now handled correctly.
|
|
154
154
|
|
|
@@ -236,7 +236,7 @@ All write tools follow a **Two-Phase Workflow**:
|
|
|
236
236
|
5. **Phase 2: Apply Edit** → Verify the diff, then call with the token and `confirm: true`.
|
|
237
237
|
6. **Recovery** → Use `rollback_file` if needed.
|
|
238
238
|
|
|
239
|
-
### Additional Tools (v3.5.
|
|
239
|
+
### Additional Tools (v3.5.2)
|
|
240
240
|
|
|
241
241
|
#### 11. `parse_file`
|
|
242
242
|
**Purpose:** Parse a file using Tree-sitter and extract all symbols.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-code-context",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.2",
|
|
4
4
|
"description": "Powerful MCP server with Tree-sitter WASM parsers for 100% AST accuracy. Zero native dependencies. Production-ready with streaming, telemetry, audit logging, rate limiting, file locking, and ReDoS protection. Supports TypeScript, JavaScript, PHP, Dart, and Python.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/index.js",
|