@n0zer0d4y/vulcan-file-ops 1.2.9 → 1.2.10
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 +90 -0
- package/dist/server/index.js +5 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,96 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
+
## [1.2.10] - 2026-01-31
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
|
|
16
|
+
- **CRITICAL**: Fixed MCP server toggle failure in Claude Desktop caused by capability mismatch
|
|
17
|
+
- **Root Cause**: Server declared `resources: {}` and `prompts: {}` capabilities but had NO handlers for `resources/list` and `prompts/list` methods
|
|
18
|
+
- Claude Desktop calls these methods after initialization, receives "Method not found" (-32601) errors, and fails to enable the server toggle
|
|
19
|
+
- **Solution**: Removed `resources` and `prompts` capability declarations from both Server constructor and initialize response
|
|
20
|
+
- Per MCP specification: A server MUST NOT declare capabilities for features it does not implement
|
|
21
|
+
- This bug was originally fixed in v1.2.3 but was reintroduced in v1.2.8 when code was restored to v1.2.1 baseline
|
|
22
|
+
- See `local_docs/RCA-Claude-Desktop-MCP-Capability-Mismatch-2026-01-31.md` for complete root cause analysis
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- Server now only declares `tools` capability (which is fully implemented)
|
|
27
|
+
- Removed unused capability declarations that caused protocol compliance issues
|
|
28
|
+
|
|
29
|
+
### References
|
|
30
|
+
|
|
31
|
+
- [MCPcat Guide: Fix MCP Error -32601](https://mcpcat.io/guides/fixing-method-not-found-32601-error/)
|
|
32
|
+
- MCP Protocol Specification: Capability declaration requirements
|
|
33
|
+
|
|
34
|
+
## [1.2.9] - 2026-01-31
|
|
35
|
+
|
|
36
|
+
### Fixed
|
|
37
|
+
|
|
38
|
+
- **CRITICAL**: Fixed protocol version negotiation causing Claude Desktop connection failures
|
|
39
|
+
- Server now returns the protocol version requested by the client instead of hardcoded `LATEST_PROTOCOL_VERSION`
|
|
40
|
+
- Claude Desktop requests `2025-06-18` but previous versions returned `2025-11-25`, causing immediate disconnection
|
|
41
|
+
- This fix ensures compatibility with all MCP clients regardless of their supported protocol version
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
|
|
45
|
+
- Protocol version in initialize response now mirrors client's requested version
|
|
46
|
+
- Added documentation comments explaining protocol version negotiation requirements
|
|
47
|
+
|
|
48
|
+
## [1.2.8] - 2026-01-31
|
|
49
|
+
|
|
50
|
+
### Changed
|
|
51
|
+
|
|
52
|
+
- Restored source code to working v1.2.1 baseline
|
|
53
|
+
- Downgraded `@modelcontextprotocol/sdk` from `^1.25.2` to `1.20.0` for stability
|
|
54
|
+
- Removed experimental console suppression changes that caused issues
|
|
55
|
+
|
|
56
|
+
### Notes
|
|
57
|
+
|
|
58
|
+
- This release reverts problematic changes while maintaining SDK 1.20.0 compatibility
|
|
59
|
+
|
|
60
|
+
## [1.2.7] - 2026-01-31
|
|
61
|
+
|
|
62
|
+
### Fixed
|
|
63
|
+
|
|
64
|
+
- Downgraded `@modelcontextprotocol/sdk` to `1.20.0` to resolve Claude Desktop compatibility issues
|
|
65
|
+
- SDK 1.25.x introduced breaking changes in stdio transport and protocol handling
|
|
66
|
+
|
|
67
|
+
### Changed
|
|
68
|
+
|
|
69
|
+
- Locked SDK version to exact `1.20.0` (removed caret range)
|
|
70
|
+
|
|
71
|
+
## [1.2.6] - 2026-01-31
|
|
72
|
+
|
|
73
|
+
### Fixed
|
|
74
|
+
|
|
75
|
+
- Silenced dotenv debug output that was polluting stdout and corrupting MCP JSON-RPC protocol
|
|
76
|
+
- Added `quiet: true` option to `dotenv.config()` call
|
|
77
|
+
- Improved MCP mode detection logic
|
|
78
|
+
- Changed TTY detection from AND to OR logic: now triggers MCP mode if EITHER stdin OR stdout is piped
|
|
79
|
+
- This fixes edge cases where different shells/platforms report TTY status inconsistently
|
|
80
|
+
|
|
81
|
+
### Changed
|
|
82
|
+
|
|
83
|
+
- Console suppression now activates when any standard stream is piped, not just when both are piped
|
|
84
|
+
|
|
85
|
+
## [1.2.5] - 2026-01-31
|
|
86
|
+
|
|
87
|
+
### Fixed
|
|
88
|
+
|
|
89
|
+
- **CRITICAL**: Fixed ES Module execution order bug causing stdout pollution in MCP mode
|
|
90
|
+
- Console suppression code in `cli.ts` was ineffective due to ES Module static import hoisting
|
|
91
|
+
- Child modules (including `server/index.ts`) were evaluated BEFORE parent module's top-level code
|
|
92
|
+
- Moved console suppression to the top of `server/index.ts` before any imports
|
|
93
|
+
- Deferred `parseArguments()` call from module-level to inside `runServer()` function
|
|
94
|
+
- Added `--help` and `--version` flag detection to preserve CLI functionality
|
|
95
|
+
- See `local_docs/RCA-Claude-Desktop-MCP-Toggle-Failure-2026-01-31.md` for complete root cause analysis
|
|
96
|
+
|
|
97
|
+
### Changed
|
|
98
|
+
|
|
99
|
+
- MCP mode detection now excludes `--help` and `--version` flags to allow CLI usage
|
|
100
|
+
- Reorganized initialization sequence to ensure console suppression happens before any potential output
|
|
101
|
+
|
|
12
102
|
## [1.2.4] - 2026-01-21
|
|
13
103
|
|
|
14
104
|
### Fixed
|
package/dist/server/index.js
CHANGED
|
@@ -382,8 +382,10 @@ const server = new Server({
|
|
|
382
382
|
tools: {
|
|
383
383
|
listChanged: true,
|
|
384
384
|
},
|
|
385
|
-
|
|
386
|
-
prompts
|
|
385
|
+
// CRITICAL: Do NOT declare resources or prompts capabilities
|
|
386
|
+
// We don't implement handlers for resources/list or prompts/list
|
|
387
|
+
// Declaring them causes Claude Desktop to call these methods,
|
|
388
|
+
// receive "Method not found" errors, and fail to enable the toggle
|
|
387
389
|
},
|
|
388
390
|
});
|
|
389
391
|
// Initialize handler - required for MCP protocol
|
|
@@ -397,8 +399,7 @@ server.setRequestHandler(InitializeRequestSchema, async (request) => {
|
|
|
397
399
|
tools: {
|
|
398
400
|
listChanged: true,
|
|
399
401
|
},
|
|
400
|
-
|
|
401
|
-
prompts: {},
|
|
402
|
+
// CRITICAL: Do NOT declare resources or prompts - we don't implement them
|
|
402
403
|
},
|
|
403
404
|
serverInfo: {
|
|
404
405
|
name: "vulcan-file-ops",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n0zer0d4y/vulcan-file-ops",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.10",
|
|
4
4
|
"mcpName": "io.github.n0zer0d4y/vulcan-file-ops",
|
|
5
5
|
"description": "MCP server for AI assistants: read, write, edit, and manage files securely on local filesystem.",
|
|
6
6
|
"license": "MIT",
|