file-organizer-mcp 3.3.3 → 3.3.4
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 +5 -0
- package/README.md +1 -1
- package/dist/src/config.js +16 -16
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.js +97 -97
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
package/dist/src/config.js
CHANGED
|
@@ -7,7 +7,7 @@ import path from "path";
|
|
|
7
7
|
import fs from "fs";
|
|
8
8
|
import { logger } from "./utils/logger.js";
|
|
9
9
|
export const CONFIG = {
|
|
10
|
-
VERSION: "3.3.
|
|
10
|
+
VERSION: "3.3.4",
|
|
11
11
|
// Security Settings
|
|
12
12
|
security: {
|
|
13
13
|
enablePathValidation: true,
|
|
@@ -144,21 +144,21 @@ export function loadUserConfig() {
|
|
|
144
144
|
// Handle specific JSON parse errors
|
|
145
145
|
if (errorMessage.includes("JSON") ||
|
|
146
146
|
errorMessage.includes("Unexpected token")) {
|
|
147
|
-
logger.error(`
|
|
148
|
-
⚠️ CONFIG FILE CORRUPTED ⚠️
|
|
149
|
-
|
|
150
|
-
The config file at:
|
|
151
|
-
${configPath}
|
|
152
|
-
|
|
153
|
-
appears to be corrupted or contains invalid JSON.
|
|
154
|
-
Error: ${errorMessage}
|
|
155
|
-
|
|
156
|
-
To fix this:
|
|
157
|
-
1. Backup the corrupted file: cp "${configPath}" "${configPath}.backup"
|
|
158
|
-
2. Delete the corrupted file: rm "${configPath}"
|
|
159
|
-
3. Re-run the setup wizard: npx file-organizer-mcp --setup
|
|
160
|
-
|
|
161
|
-
Your file organization settings will be reset, but your actual files are safe.
|
|
147
|
+
logger.error(`
|
|
148
|
+
⚠️ CONFIG FILE CORRUPTED ⚠️
|
|
149
|
+
|
|
150
|
+
The config file at:
|
|
151
|
+
${configPath}
|
|
152
|
+
|
|
153
|
+
appears to be corrupted or contains invalid JSON.
|
|
154
|
+
Error: ${errorMessage}
|
|
155
|
+
|
|
156
|
+
To fix this:
|
|
157
|
+
1. Backup the corrupted file: cp "${configPath}" "${configPath}.backup"
|
|
158
|
+
2. Delete the corrupted file: rm "${configPath}"
|
|
159
|
+
3. Re-run the setup wizard: npx file-organizer-mcp --setup
|
|
160
|
+
|
|
161
|
+
Your file organization settings will be reset, but your actual files are safe.
|
|
162
162
|
`.trim());
|
|
163
163
|
}
|
|
164
164
|
else {
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* File Organizer MCP Server v3.
|
|
3
|
+
* File Organizer MCP Server v3.3.4
|
|
4
4
|
*
|
|
5
5
|
* A powerful, security-hardened Model Context Protocol server for intelligent file organization.
|
|
6
6
|
* Features 7-layer path validation, file categorization, duplicate detection, and more.
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* npx file-organizer-mcp --version - Show version
|
|
12
12
|
* npx file-organizer-mcp --help - Show help
|
|
13
13
|
*
|
|
14
|
-
* @version 3.
|
|
14
|
+
* @version 3.3.4
|
|
15
15
|
* @license MIT
|
|
16
16
|
*/
|
|
17
17
|
export {};
|
package/dist/src/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* File Organizer MCP Server v3.
|
|
3
|
+
* File Organizer MCP Server v3.3.4
|
|
4
4
|
*
|
|
5
5
|
* A powerful, security-hardened Model Context Protocol server for intelligent file organization.
|
|
6
6
|
* Features 7-layer path validation, file categorization, duplicate detection, and more.
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* npx file-organizer-mcp --version - Show version
|
|
12
12
|
* npx file-organizer-mcp --help - Show help
|
|
13
13
|
*
|
|
14
|
-
* @version 3.
|
|
14
|
+
* @version 3.3.4
|
|
15
15
|
* @license MIT
|
|
16
16
|
*/
|
|
17
17
|
import { logger } from "./utils/logger.js";
|
|
@@ -22,18 +22,18 @@ const MIN_NODE_VERSION = 18;
|
|
|
22
22
|
const currentNodeVersion = process.versions.node;
|
|
23
23
|
const majorVersion = parseInt(currentNodeVersion.split(".")[0] || "0", 10);
|
|
24
24
|
if (majorVersion < MIN_NODE_VERSION) {
|
|
25
|
-
logger.error(`
|
|
26
|
-
╔══════════════════════════════════════════════════════════════════╗
|
|
27
|
-
║ ERROR: Node.js version ${currentNodeVersion.padEnd(8)} is not supported ║
|
|
28
|
-
╠══════════════════════════════════════════════════════════════════╣
|
|
29
|
-
║ File Organizer MCP requires Node.js ${MIN_NODE_VERSION} or higher ║
|
|
30
|
-
║ ║
|
|
31
|
-
║ To upgrade: ║
|
|
32
|
-
║ • Visit: https://nodejs.org/ ║
|
|
33
|
-
║ • Or use a version manager: ║
|
|
34
|
-
║ - nvm (Linux/Mac): nvm install ${MIN_NODE_VERSION} && nvm use ${MIN_NODE_VERSION} ║
|
|
35
|
-
║ - nvm-windows: nvm install ${MIN_NODE_VERSION}.0.0 && nvm use ${MIN_NODE_VERSION}.0.0 ║
|
|
36
|
-
╚══════════════════════════════════════════════════════════════════╝
|
|
25
|
+
logger.error(`
|
|
26
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
27
|
+
║ ERROR: Node.js version ${currentNodeVersion.padEnd(8)} is not supported ║
|
|
28
|
+
╠══════════════════════════════════════════════════════════════════╣
|
|
29
|
+
║ File Organizer MCP requires Node.js ${MIN_NODE_VERSION} or higher ║
|
|
30
|
+
║ ║
|
|
31
|
+
║ To upgrade: ║
|
|
32
|
+
║ • Visit: https://nodejs.org/ ║
|
|
33
|
+
║ • Or use a version manager: ║
|
|
34
|
+
║ - nvm (Linux/Mac): nvm install ${MIN_NODE_VERSION} && nvm use ${MIN_NODE_VERSION} ║
|
|
35
|
+
║ - nvm-windows: nvm install ${MIN_NODE_VERSION}.0.0 && nvm use ${MIN_NODE_VERSION}.0.0 ║
|
|
36
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
37
37
|
`.trim());
|
|
38
38
|
process.exit(1);
|
|
39
39
|
}
|
|
@@ -49,28 +49,28 @@ const distIndexPath = path.join(__dirname, "index.js");
|
|
|
49
49
|
const distServerPath = path.join(__dirname, "server.js");
|
|
50
50
|
if (!fs.existsSync(distIndexPath) || !fs.existsSync(distServerPath)) {
|
|
51
51
|
const packageRoot = path.resolve(__dirname, "..");
|
|
52
|
-
logger.error(`
|
|
53
|
-
╔══════════════════════════════════════════════════════════════════╗
|
|
54
|
-
║ INSTALLATION INCOMPLETE ║
|
|
55
|
-
╠══════════════════════════════════════════════════════════════════╣
|
|
56
|
-
║ The server files (dist/) are missing or incomplete. ║
|
|
57
|
-
║ ║
|
|
58
|
-
║ Common causes: ║
|
|
59
|
-
║ • npm install --ignore-scripts (skipped prepare script) ║
|
|
60
|
-
║ • Global install without proper build step ║
|
|
61
|
-
║ • Installing from GitHub without devDependencies ║
|
|
62
|
-
║ • Package corruption during download ║
|
|
63
|
-
║ ║
|
|
64
|
-
║ How to fix: ║
|
|
65
|
-
║ ║
|
|
66
|
-
║ For regular users: ║
|
|
67
|
-
║ npm uninstall -g file-organizer-mcp ║
|
|
68
|
-
║ npm install -g file-organizer-mcp ║
|
|
69
|
-
║ ║
|
|
70
|
-
║ For GitHub/source installs: ║
|
|
71
|
-
║ cd "${packageRoot}" ║
|
|
72
|
-
║ npm install && npm run build ║
|
|
73
|
-
╚══════════════════════════════════════════════════════════════════╝
|
|
52
|
+
logger.error(`
|
|
53
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
54
|
+
║ INSTALLATION INCOMPLETE ║
|
|
55
|
+
╠══════════════════════════════════════════════════════════════════╣
|
|
56
|
+
║ The server files (dist/) are missing or incomplete. ║
|
|
57
|
+
║ ║
|
|
58
|
+
║ Common causes: ║
|
|
59
|
+
║ • npm install --ignore-scripts (skipped prepare script) ║
|
|
60
|
+
║ • Global install without proper build step ║
|
|
61
|
+
║ • Installing from GitHub without devDependencies ║
|
|
62
|
+
║ • Package corruption during download ║
|
|
63
|
+
║ ║
|
|
64
|
+
║ How to fix: ║
|
|
65
|
+
║ ║
|
|
66
|
+
║ For regular users: ║
|
|
67
|
+
║ npm uninstall -g file-organizer-mcp ║
|
|
68
|
+
║ npm install -g file-organizer-mcp ║
|
|
69
|
+
║ ║
|
|
70
|
+
║ For GitHub/source installs: ║
|
|
71
|
+
║ cd "${packageRoot}" ║
|
|
72
|
+
║ npm install && npm run build ║
|
|
73
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
74
74
|
`.trim());
|
|
75
75
|
process.exit(1);
|
|
76
76
|
}
|
|
@@ -85,30 +85,30 @@ for (const dep of criticalDeps) {
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
if (missingDeps.length > 0) {
|
|
88
|
-
logger.error(`
|
|
89
|
-
╔══════════════════════════════════════════════════════════════════╗
|
|
90
|
-
║ INCOMPLETE DEPENDENCIES ║
|
|
91
|
-
╠══════════════════════════════════════════════════════════════════╣
|
|
92
|
-
║ Required packages failed to install: ║
|
|
93
|
-
║ ║
|
|
94
|
-
${missingDeps.map((d) => `║ • ${d.padEnd(59)}║`).join("\n")}
|
|
95
|
-
║ ║
|
|
96
|
-
║ Common causes: ║
|
|
97
|
-
║ • npm install --production (skipped dependencies) ║
|
|
98
|
-
║ • Network interruption during install ║
|
|
99
|
-
║ • npm cache corruption ║
|
|
100
|
-
║ ║
|
|
101
|
-
║ How to fix: ║
|
|
102
|
-
║ ║
|
|
103
|
-
║ rm -rf node_modules package-lock.json ║
|
|
104
|
-
║ npm cache clean --force ║
|
|
105
|
-
║ npm install ║
|
|
106
|
-
║ ║
|
|
107
|
-
║ For global installs: ║
|
|
108
|
-
║ npm uninstall -g file-organizer-mcp ║
|
|
109
|
-
║ npm cache clean --force ║
|
|
110
|
-
║ npm install -g file-organizer-mcp ║
|
|
111
|
-
╚══════════════════════════════════════════════════════════════════╝
|
|
88
|
+
logger.error(`
|
|
89
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
90
|
+
║ INCOMPLETE DEPENDENCIES ║
|
|
91
|
+
╠══════════════════════════════════════════════════════════════════╣
|
|
92
|
+
║ Required packages failed to install: ║
|
|
93
|
+
║ ║
|
|
94
|
+
${missingDeps.map((d) => `║ • ${d.padEnd(59)}║`).join("\n")}
|
|
95
|
+
║ ║
|
|
96
|
+
║ Common causes: ║
|
|
97
|
+
║ • npm install --production (skipped dependencies) ║
|
|
98
|
+
║ • Network interruption during install ║
|
|
99
|
+
║ • npm cache corruption ║
|
|
100
|
+
║ ║
|
|
101
|
+
║ How to fix: ║
|
|
102
|
+
║ ║
|
|
103
|
+
║ rm -rf node_modules package-lock.json ║
|
|
104
|
+
║ npm cache clean --force ║
|
|
105
|
+
║ npm install ║
|
|
106
|
+
║ ║
|
|
107
|
+
║ For global installs: ║
|
|
108
|
+
║ npm uninstall -g file-organizer-mcp ║
|
|
109
|
+
║ npm cache clean --force ║
|
|
110
|
+
║ npm install -g file-organizer-mcp ║
|
|
111
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
112
112
|
`.trim());
|
|
113
113
|
process.exit(1);
|
|
114
114
|
}
|
|
@@ -123,18 +123,18 @@ async function main() {
|
|
|
123
123
|
const args = process.argv.slice(2);
|
|
124
124
|
// --help flag
|
|
125
125
|
if (args.includes("--help") || args.includes("-h")) {
|
|
126
|
-
logger.info(`
|
|
127
|
-
File Organizer MCP Server v${CONFIG.VERSION}
|
|
128
|
-
|
|
129
|
-
Usage:
|
|
130
|
-
npx file-organizer-mcp [options]
|
|
131
|
-
|
|
132
|
-
Options:
|
|
133
|
-
--setup, -s Run the interactive setup wizard
|
|
134
|
-
--version, -v Show version number
|
|
135
|
-
--help, -h Show this help message
|
|
136
|
-
|
|
137
|
-
For more information, visit: https://github.com/kridaydave/File-Organizer-MCP
|
|
126
|
+
logger.info(`
|
|
127
|
+
File Organizer MCP Server v${CONFIG.VERSION}
|
|
128
|
+
|
|
129
|
+
Usage:
|
|
130
|
+
npx file-organizer-mcp [options]
|
|
131
|
+
|
|
132
|
+
Options:
|
|
133
|
+
--setup, -s Run the interactive setup wizard
|
|
134
|
+
--version, -v Show version number
|
|
135
|
+
--help, -h Show this help message
|
|
136
|
+
|
|
137
|
+
For more information, visit: https://github.com/kridaydave/File-Organizer-MCP
|
|
138
138
|
`);
|
|
139
139
|
process.exit(0);
|
|
140
140
|
}
|
|
@@ -231,34 +231,34 @@ For more information, visit: https://github.com/kridaydave/File-Organizer-MCP
|
|
|
231
231
|
// Provide helpful error messages for common issues
|
|
232
232
|
if (errorMessage.includes("EPIPE") ||
|
|
233
233
|
errorMessage.includes("broken pipe")) {
|
|
234
|
-
logger.error(`
|
|
235
|
-
╔══════════════════════════════════════════════════════════════════╗
|
|
236
|
-
║ CONNECTION ERROR ║
|
|
237
|
-
╠══════════════════════════════════════════════════════════════════╣
|
|
238
|
-
║ The connection to Claude Desktop was broken. ║
|
|
239
|
-
║ ║
|
|
240
|
-
║ Common causes: ║
|
|
241
|
-
║ • Claude Desktop was closed ║
|
|
242
|
-
║ • Another MCP server is using the same stdio transport ║
|
|
243
|
-
║ • The MCP server was restarted too quickly ║
|
|
244
|
-
║ ║
|
|
245
|
-
║ To fix: ║
|
|
246
|
-
║ 1. Restart Claude Desktop ║
|
|
247
|
-
║ 2. Check for duplicate MCP server entries in config ║
|
|
248
|
-
║ 3. Wait a few seconds before restarting ║
|
|
249
|
-
╚══════════════════════════════════════════════════════════════════╝
|
|
234
|
+
logger.error(`
|
|
235
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
236
|
+
║ CONNECTION ERROR ║
|
|
237
|
+
╠══════════════════════════════════════════════════════════════════╣
|
|
238
|
+
║ The connection to Claude Desktop was broken. ║
|
|
239
|
+
║ ║
|
|
240
|
+
║ Common causes: ║
|
|
241
|
+
║ • Claude Desktop was closed ║
|
|
242
|
+
║ • Another MCP server is using the same stdio transport ║
|
|
243
|
+
║ • The MCP server was restarted too quickly ║
|
|
244
|
+
║ ║
|
|
245
|
+
║ To fix: ║
|
|
246
|
+
║ 1. Restart Claude Desktop ║
|
|
247
|
+
║ 2. Check for duplicate MCP server entries in config ║
|
|
248
|
+
║ 3. Wait a few seconds before restarting ║
|
|
249
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
250
250
|
`.trim());
|
|
251
251
|
}
|
|
252
252
|
else if (errorMessage.includes("ECONNREFUSED")) {
|
|
253
|
-
logger.error(`
|
|
254
|
-
╔══════════════════════════════════════════════════════════════════╗
|
|
255
|
-
║ CONNECTION REFUSED ║
|
|
256
|
-
╠══════════════════════════════════════════════════════════════════╣
|
|
257
|
-
║ Could not connect to the MCP transport. ║
|
|
258
|
-
║ ║
|
|
259
|
-
║ This usually means Claude Desktop is not running or ║
|
|
260
|
-
║ the MCP configuration is incorrect. ║
|
|
261
|
-
╚══════════════════════════════════════════════════════════════════╝
|
|
253
|
+
logger.error(`
|
|
254
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
255
|
+
║ CONNECTION REFUSED ║
|
|
256
|
+
╠══════════════════════════════════════════════════════════════════╣
|
|
257
|
+
║ Could not connect to the MCP transport. ║
|
|
258
|
+
║ ║
|
|
259
|
+
║ This usually means Claude Desktop is not running or ║
|
|
260
|
+
║ the MCP configuration is incorrect. ║
|
|
261
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
262
262
|
`.trim());
|
|
263
263
|
}
|
|
264
264
|
throw error;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "file-organizer-mcp",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.4",
|
|
4
4
|
"description": "Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/index.js",
|