{"_id":"file-organizer-mcp","_rev":"27-90a95a3d5d87c74b8be96caeffc404a8","name":"file-organizer-mcp","dist-tags":{"beta":"3.0.0-beta.1","latest":"5.0.0"},"versions":{"2.1.0":{"name":"file-organizer-mcp","version":"2.1.0","keywords":["mcp","file-organizer","claude","ai","automation","file-management"],"author":{"name":"Kriday Dave","email":"technocratix902@gmail.com"},"_id":"file-organizer-mcp@2.1.0","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"dist":{"shasum":"857dda39cf868f1b23c2f79e659f659bc92a3e7b","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-2.1.0.tgz","fileCount":7,"integrity":"sha512-5haGI11DmQmGOZenT0r0uc+gxEMs4dgTDc5xKriWQL/cbi9Hoj9ORHUzb3QjYurYmB0YQjNjUR+bdO0Nlx4Tow==","signatures":[{"sig":"MEUCIQDgjGx/2I1BdNGMVkG9i3C5bIqBqlalrKNYRr/lelJVqQIgWReMreud88EnVbwugrp/Ok9S9MYbDSgVy3z/T00gMDE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49009},"main":"server.js","engines":{"node":">=18.0.0"},"gitHead":"ba75b4cf4635739687f13c2525be23a860285afc","scripts":{"dev":"node --watch server.js","test":"node test_security.js","start":"node server.js"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Security-hardened MCP server for intelligent file organization","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_2.1.0_1769960293145_0.920955752423666","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-beta.1":{"name":"file-organizer-mcp","version":"3.0.0-beta.1","keywords":["mcp","file-organizer","file-management","automation"],"author":"","license":"MIT","_id":"file-organizer-mcp@3.0.0-beta.1","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"bin":{"file-organizer":"server.js"},"dist":{"shasum":"4e128fc5b604e429304dd569132e54375013f473","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.0.0-beta.1.tgz","fileCount":22,"integrity":"sha512-k+dCvhGU4bTRYqd1WiagBD7VxSOkJvyifknbk8NPqGVMbcROACVXgZboV85GztlIMAtsx2EtllF3K2yqFZN8JQ==","signatures":[{"sig":"MEUCIEqu332F6XDfpEEgFOfnIgUMMJuEdQqDpXaEw3RLfHiEAiEAxED/QuULdX+fNYImey/VRPju2cmau6EU/wy+CGhmVyo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113778},"main":"server.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"c241a0a7f63bd4854adf04a21a286d37631c118b","scripts":{"dev":"node --watch server.js","test":"node test_security.js","start":"node server.js"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"_npmVersion":"11.6.2","description":"MCP server for file organization with tiered security, auto-categorization and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.0.0-beta.1_1770022554310_0.046597625280692334","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"file-organizer-mcp","version":"3.0.0","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.0.0","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"bin":{"file-organizer":"dist/index.js","file-organizer-mcp":"dist/index.js"},"dist":{"shasum":"0e83e71ae74a14ad0ca49884ab9113606fea9550","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.0.0.tgz","fileCount":207,"integrity":"sha512-C1kK4RR87ENOgFpPprOAEl1ICOthdbQ4J5NSS9pXYH8puoRzOom+1QHxmZvJsVJYrKK5Z5MxQ4N3Fp2q3xgF/w==","signatures":[{"sig":"MEQCIFy+sAjW33esTreNQDndy02Ap/p2OiwyAfTixuq+MwEWAiB14oakq6hqCL90ukR1REgVBfxVRPAjbawxrq7Cjl7aVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":457546},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"8b30e68ce8746ee2f080d145838e98927e1875ef","scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node dist/tests/test-security.js","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.6","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.0.0_1770135523687_0.7983002300808999","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"file-organizer-mcp","version":"3.1.0","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.1.0","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"bin":{"file-organizer":"dist/index.js","file-organizer-mcp":"dist/index.js","file-organizer-setup":"dist/tui/tui-index.js"},"dist":{"shasum":"cf45162bbbe0bf03341950c29dc0b4922da7c2ca","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.1.0.tgz","fileCount":247,"integrity":"sha512-oZUnj2qPRj5Li7ZlP1l/Wm84iquzVcgfUdLj0yWNxzBrGsHFkNVMMvJePGLHLxQmivz+Vxlkc6LK/r9L47WqBg==","signatures":[{"sig":"MEQCIEBzfbljpMNvAavhKpEt3UNBBBTvvZ7XXNWKAnTo2y5OAiAXkML112oX/0W8+k8v162mkF4s2ZG/rbelG2vufa+6Ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":637116},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"fabe4d3fe7096ac059ba52a627f25ccb94a03eab","scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/tui/index.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node dist/tests/test-security.js","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","minimatch":"^10.1.2","node-cron":"^4.2.1","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.1.0_1770397706120_0.36969909726032113","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"file-organizer-mcp","version":"3.1.1","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.1.1","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"bin":{"file-organizer":"dist/index.js","file-organizer-mcp":"dist/index.js","file-organizer-setup":"dist/tui/tui-index.js"},"dist":{"shasum":"6d6c2e345fa4d7759f28ec8278280a88226a6b99","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.1.1.tgz","fileCount":247,"integrity":"sha512-pBEwIEIV/c59rLgjAZ8e+AgxkccEBDIwOQk4aqheihKV/XAyBGAfoXR/yYzbXkHKLS+rNLjUZb/BJf1l0NK0Dg==","signatures":[{"sig":"MEQCIHgwMDJoZv+RR/ba+cX/SOok/Qp6b23KqZz2R6mzs9oHAiAZlZdQL5WgJayDQz44crHZVQSJKtejLkoQw0SdlIzoqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641266},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"bd592be29b12a94657c8a6e841568b5b6475dc29","scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/tui/index.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node dist/tests/test-security.js","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","minimatch":"^10.1.2","node-cron":"^4.2.1","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.1.1_1770398365449_0.3879382188934355","host":"s3://npm-registry-packages-npm-production"}},"3.1.2":{"name":"file-organizer-mcp","version":"3.1.2","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.1.2","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"bin":{"file-organizer":"dist/index.js","file-organizer-mcp":"dist/index.js","file-organizer-setup":"dist/tui/index.js"},"dist":{"shasum":"c911ed908f13af6e885671e60bc82a430b4cc7d1","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.1.2.tgz","fileCount":248,"integrity":"sha512-wJekBGxG3MTf8diuLKw0QdeoK1PtL1UNIhTS9pF9RsBpIXmXfy30XeW0CdwzA0sBphM7cpaDk/sg9H+VY/uw2Q==","signatures":[{"sig":"MEUCIHBt/WKuEP+nqBit7EocTsYHY6AaLuW19yddvnoDDtQeAiEAvbwx49jCZNZjQrnOSIKvC7TD2fXFMres6e8xdXCNHyE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643585},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"8d8e4fd7fbb090d3e2ef5d477abbe568b258bcd5","scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/tui/index.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.js","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node dist/tests/test-security.js","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","minimatch":"^10.1.2","node-cron":"^4.2.1","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.1.2_1770399813014_0.0006782933060001106","host":"s3://npm-registry-packages-npm-production"}},"3.1.3":{"name":"file-organizer-mcp","version":"3.1.3","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.1.3","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"bin":{"file-organizer":"dist/index.js","file-organizer-mcp":"dist/index.js","file-organizer-setup":"dist/tui/index.js"},"dist":{"shasum":"0e2f3f6c38e3032c19721469953a8d31cc4da1e8","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.1.3.tgz","fileCount":248,"integrity":"sha512-QzL++1/4R34K+94Qua1v56KdtQkRMC651aAEiqvSU0kNhvFC8nhGXBqYPIVdci5Cy9HEbYNQlL5j6YT5V+y08g==","signatures":[{"sig":"MEUCIQD8qXBhoHbM0XC65yDuRuViU2sBrr5/nnAFBayyKcMjLwIgPIjoWkzrl4RaNMhecjnYiNQMGoYgn/K+RpT7dfZwsZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":646922},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"32d2e6edbfe5197c36a36cfa8013e8d031e5513e","scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/tui/index.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.js","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node dist/tests/test-security.js","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","minimatch":"^10.1.2","node-cron":"^4.2.1","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.1.3_1770401975446_0.18146470240141244","host":"s3://npm-registry-packages-npm-production"}},"3.1.4":{"name":"file-organizer-mcp","version":"3.1.4","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.1.4","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"dist":{"shasum":"510324a1bd8f2a4f6aa9bb7eb32937aaed91247f","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.1.4.tgz","fileCount":259,"integrity":"sha512-MOP/gFofvzYdI7pvXG0wdfdkexlZgpAKtHVxZrsLidCYLihrPvbBzdvgkWTCGhSNTTByDFgxrsT5uKAq+oY7ww==","signatures":[{"sig":"MEUCIQCCixlrZA+fwlKxRaNn0awbRkZzPtcYw7ZulidU+udM8wIgDAn+c5k2oNJhBokHKin3DwFcH04K+eumugqv6Cir3yk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":757930},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"01bc87d73392777456b5059338a135e095c98402","scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/tui/index.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node dist/tests/test-security.js","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","minimatch":"^10.1.2","node-cron":"^4.2.1","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.1.4_1770466446724_0.6041595949101273","host":"s3://npm-registry-packages-npm-production"}},"3.1.5":{"name":"file-organizer-mcp","version":"3.1.5","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.1.5","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"144424cc17c65fe426ac2d6cfab2c85ada0b3813","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.1.5.tgz","fileCount":267,"integrity":"sha512-8oOu2Wy8tTqFKQKbYo7wSyTCu+AbF6bFH/GcAkyxqd03IBChss3RPaSAxjtsWNb0r3wowWv9cCoUT0B3fmbA3w==","signatures":[{"sig":"MEQCIHD6PGUGiY3JYpXyZfue0I3nw1Vqwtg8JTfmQkQk93J+AiBND/dQuV/RbnIy9DJAMO07/JB3s3ALvrFabOBsD6mAgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":836724},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"a24bd9533e65c634842d9c7a412de63c1195f489","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/tui/index.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node dist/tests/test-security.js","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","minimatch":"^10.1.2","node-cron":"^4.2.1","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.1.5_1770554523122_0.33418656610260644","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"file-organizer-mcp","version":"3.2.0","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.2.0","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"b7795a2d5f10451bef8dad0299641c757d7031c6","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.2.0.tgz","fileCount":287,"integrity":"sha512-/+jJeK8UJ/XDosygNLkaaKFc5bS8LaChTkaoJPCBofyP0AVLSLr+dbQaVn9dCuVuRga+izz57O90MlGL9vXVmQ==","signatures":[{"sig":"MEQCIDuqAF8uH1fHrDxx0MwGXayRtUqa4PWx58hX8BZwH94rAiAK+j90HTXztSSsSf/OkZjkX6FP2xe08Ouu2SmHNIL6WQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1117382},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"765f88eb019866d97e2d87543d5495796396bf2b","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/tui/index.js","start":"node dist/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node dist/tests/test-security.js","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","minimatch":"^10.1.2","node-cron":"^4.2.1","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.2.0_1770646620955_0.46347254849031194","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"file-organizer-mcp","version":"3.2.1","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.2.1","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"64407a0741570cbc65cbd8cf5a075410b65f7c58","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.2.1.tgz","fileCount":343,"integrity":"sha512-3AmG5biwxkGUK2K6m+AXd/rHLr/m39L7aIuHpwZlcm6FF6NA47/u5SqHmaPMkZqt2SzcF+FCM12mLEt+j4TyXQ==","signatures":[{"sig":"MEUCIQDlCC4jxraB1SM6S3pW1AIhpQ0FNrMLW0ln9W1pPyF19wIgdTUVITBRuwWloMp2tBrUcXYRzJC7r93MSTtRDQQynGA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1739808},"main":"dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"fa5247064fd6e7a263b057f6996a503c34779d9f","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/tui/index.js","start":"node dist/src/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node dist/src/tests/test-security.js","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","minimatch":"^10.1.2","node-cron":"^4.2.1","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.2.1_1770705129881_0.09494786652194964","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"file-organizer-mcp","version":"3.2.2","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.2.2","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"078cf401a85e74c168b5fc13e42e23199408a616","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.2.2.tgz","fileCount":343,"integrity":"sha512-V/AQKKIkt8y79oPs9p6vvziPlSdibUGpuIGLyCOjRp1sVLUYvTqePfzRyNMjdzgyMaR5ROyb+B03qnHAQo0zDQ==","signatures":[{"sig":"MEQCIGA4uLVcdNYfOUt9iK0S5GRshSrf5A/mHLf0Q6rSAT3lAiBX2SFAPszWYYBKPlUZj4lY5MXQ8adTiMSCyaCT2wwxGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1740517},"main":"dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"f229cf57a6157ab39fb9bcdb6dc01d8d29bbf066","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/tui/index.js","start":"node dist/src/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node dist/src/tests/test-security.js","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","minimatch":"^10.1.2","node-cron":"^4.2.1","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.2.2_1770706219653_0.6855885539308972","host":"s3://npm-registry-packages-npm-production"}},"3.2.3":{"name":"file-organizer-mcp","version":"3.2.3","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.2.3","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"c517826bcffb5a837120373eab82f8ce85d28ddc","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.2.3.tgz","fileCount":343,"integrity":"sha512-qq8SSFQgQYBNu6ppM36R6g6tpAeCVcIltB6NvibAAqJxJGCIm5sp4bqDBoFzPb499+k8SWFPVLCOkTDeOn+ctw==","signatures":[{"sig":"MEUCIGVVRnDAIpNMmPkxqB//mnudx9wYCiFmTVlWRzmmyueQAiEAqJZsiuQvHfWwzUK8ZraXib8PmAzad6C0dB3qeqGk/nM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1740521},"main":"dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"04ccaad021ff69ab6d60cda23bfdb7eb82a819a6","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/tui/index.js","start":"node dist/src/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node dist/src/tests/test-security.js","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","minimatch":"^10.1.2","node-cron":"^4.2.1","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.2.3_1770706697830_0.6292249705746771","host":"s3://npm-registry-packages-npm-production"}},"3.2.4":{"name":"file-organizer-mcp","version":"3.2.4","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.2.4","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"797e36ffb2bc84765f8f38da601872464fdc961b","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.2.4.tgz","fileCount":343,"integrity":"sha512-0gNwz1BxrTya/2o+6w1l2P9nMbko3JdYSYPVXCbhJUTi0f7tyOIKvdecaXH7Cgm1ZdmESC0UUcDuUkxUXkkxCw==","signatures":[{"sig":"MEUCIQCb/tfZCuIObe0hMTZmjIXVSxvtfdSVUXq6ygJ6Jfcr0AIgC8zZhrFte94eyV7+WZ7E7KFRsNyAOdBcupakP4ra5uU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1740525},"main":"dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"c9750eceed703daa65aa340b3a06bb3eb6c59ebd","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/src/tui/index.js","start":"node dist/src/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node dist/src/tests/test-security.js","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","minimatch":"^10.1.2","node-cron":"^4.2.1","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.2.4_1770707348853_0.8926678392648315","host":"s3://npm-registry-packages-npm-production"}},"3.2.5":{"name":"file-organizer-mcp","version":"3.2.5","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.2.5","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"aa152ec2705c10903107d6a8e148600140f6adf6","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.2.5.tgz","fileCount":343,"integrity":"sha512-HEfJT4NGH7FDxMxg/VWqdcPSJrBUU0WZXpcVLALq8NtUi3FFhDXzpRJmg5EsjNZICN2ApjC3MAmoRTT1/Ebchg==","signatures":[{"sig":"MEQCIDhOSqvjB/gFbFNTHLqIrsUCREwX9XZtqUBjLbM8kJcAAiAcJrhHbguxtXxQ7uk9ObCxULw1sNa+vnlp+rol0mJcCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1743049},"main":"dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"44c729a0ebb0834e17c407d8eb4b2bc3579dcc9f","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/src/tui/index.js","start":"node dist/src/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node dist/src/tests/test-security.js","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","minimatch":"^10.1.2","node-cron":"^4.2.1","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.2.5_1770713053324_0.4800195051597267","host":"s3://npm-registry-packages-npm-production"}},"3.2.6":{"name":"file-organizer-mcp","version":"3.2.6","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.2.6","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"769aa6471806f7e426eaf3878f704c9c6abadca1","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.2.6.tgz","fileCount":343,"integrity":"sha512-WbZIQ7sLnYwsZtuIjFxqZiQJKBSeDdEaQVogR5P/hyL71ST/+fe1TaggNg3qmRvKlETH/x5B9fOqbL+K+EqqlQ==","signatures":[{"sig":"MEQCIDRl/COrr4lnLyXFnXihb7Y/jAElcSIw+uGI9eUosoG1AiAoUDRwKj4wjtNT4PSjEIapA3kchx2moBgzXmPuzYuwgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1758522},"main":"dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"5a8bf2d3146657efea2db9350b793d3fe4d375bf","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/src/tui/index.js","start":"node dist/src/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node dist/src/tests/test-security.js","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","minimatch":"^10.1.2","node-cron":"^4.2.1","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.2.6_1770717306795_0.349369653878594","host":"s3://npm-registry-packages-npm-production"}},"3.2.7":{"name":"file-organizer-mcp","version":"3.2.7","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.2.7","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"098f89327dd40a4cf86d9a31ca825c7a5edae8ae","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.2.7.tgz","fileCount":343,"integrity":"sha512-l1kGseSI++mJ9/VIjiUqPY9fBOFdsyGdpqobPgqhB15ISe+UI/9juGr8bPx0seoNl4Vhn4FW0Ukt7Ex5/HBM6Q==","signatures":[{"sig":"MEUCIB44Uv+FwrI95wVPDIKg22AyvOIraDafajxF2oXC4P2HAiEAvz0iO5qPtZztdntIbvIT6VaViMnNUApzziWe7cGEQYA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1758350},"main":"dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"54d56146a38be0817717d755b16d7473b7c25b8f","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/src/tui/index.js","start":"node dist/src/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node dist/src/tests/test-security.js","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","minimatch":"^10.1.2","node-cron":"^4.2.1","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.2.7_1770718655367_0.0011024705143165558","host":"s3://npm-registry-packages-npm-production"}},"3.2.8":{"name":"file-organizer-mcp","version":"3.2.8","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.2.8","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"bd7567fa8af1f19ed0b2f0b4cb5ecf7561204a3e","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.2.8.tgz","fileCount":343,"integrity":"sha512-snv+z8ZOvnmZi17dtRb6CqFBjKB/0W2UtedhjvKH/NoQfo10Kj4kN+J4T9tRhDuUe3zJsWWi2JVcVFA4J67ZbA==","signatures":[{"sig":"MEYCIQDYdlG05v28fLhE5QZKpbR4bOBaZ3W6hghe4C7Jj4xZ7gIhAI1L9KOHcfBCBincwfP6evF3o5NIIzQQfNZBy3ElLD/P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1758558},"main":"dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"fb4490d173a302dc083b41e09416578ed5f04c33","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/src/tui/index.js","start":"node dist/src/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node dist/src/tests/test-security.js","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","minimatch":"^10.1.2","node-cron":"^4.2.1","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.2.8_1770720035791_0.033015908881202094","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"file-organizer-mcp","version":"3.3.0","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.3.0","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"e9b3fc81ffe07dae211e59941a329ec74caeb2a2","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.3.0.tgz","fileCount":355,"integrity":"sha512-Jft8I9wpA61fRW5MtLhRMbHfVpRZUMthVVUXaiGWKK0xB5K8GGeClsT0HDihlTn/ovDmsQfE0FQxxsIl+AgpyA==","signatures":[{"sig":"MEQCIAvvHxGQYDfJiATNQIl8x7S5NGmsKxDlJ29a/udmjfPnAiA3dxLkklVC8ZBcIi+2Gzk6C+0+akJB9YM+sCWvC9qL/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1849193},"main":"dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"9a4029dacb141bc7d185cfeade676d8e2ebc075e","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/src/tui/index.js","start":"node dist/src/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit/security_suite.test.ts tests/unit/security_repro.test.ts tests/unit/category_security.test.ts","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","mammoth":"^1.11.0","piexifjs":"^1.0.6","minimatch":"^10.1.2","node-cron":"^4.2.1","pdf-parse":"^2.4.5","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.3.0_1770986127433_0.9743591284640367","host":"s3://npm-registry-packages-npm-production"}},"3.3.1":{"name":"file-organizer-mcp","version":"3.3.1","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.3.1","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"db3b8c9f66782f85604f0e65c5871fb6b1a78d3e","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.3.1.tgz","fileCount":355,"integrity":"sha512-WOVHqAZpIPg8j0rl0LMrvHOwnN4tKqQ17T0mCR1XR3KeVFhGSNfkyFXWYpCu+FrRS2BYN1vrJAFrw/2zrG1SNA==","signatures":[{"sig":"MEQCID4IIGkyl7iUWsRR+AnvYNh1gA3pHbp9kxHa3csp16azAiA94e4pQecP1PExMP1DERmyDBMQmGpVrZdSso7Ge8ZJrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1850828},"main":"dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"1d797b9ee907c4a0bb01cc95fe493400cbf17696","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/src/tui/index.js","start":"node dist/src/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit/security_suite.test.ts tests/unit/security_repro.test.ts tests/unit/category_security.test.ts","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","mammoth":"^1.11.0","piexifjs":"^1.0.6","minimatch":"^10.1.2","node-cron":"^4.2.1","pdf-parse":"^2.4.5","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.3.1_1770988484417_0.08888308018929236","host":"s3://npm-registry-packages-npm-production"}},"3.3.2":{"name":"file-organizer-mcp","version":"3.3.2","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.3.2","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"e58f7d9bd00d7b41fcb57eb9450de84bef8f480b","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.3.2.tgz","fileCount":355,"integrity":"sha512-2RxVx/bVHvJKmDyJ3qLtYuS/Zp+pc6dKWwN6qUAsQcAPcAQM/QGrHSVKPsfg+G7pcIHByhkHy60xPr9NwfLqcQ==","signatures":[{"sig":"MEQCIEv+9fuuQ6DD/R5m3wx9WpnswAvFy/EoiCp6Y414ycXcAiBCfn9DwnAmbTqZZvQYfS2vdGw8ClEOMHWd9T3j9Bz5JA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1868957},"main":"dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"f30147e8273f6b1304ca7422d9ac3a9dc19158f3","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/src/tui/index.js","start":"node dist/src/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit/security_suite.test.ts tests/unit/security_repro.test.ts tests/unit/category_security.test.ts","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","mammoth":"^1.11.0","piexifjs":"^1.0.6","minimatch":"^10.1.2","node-cron":"^4.2.1","pdf-parse":"^2.4.5","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.3.2_1771003968241_0.3303825925326749","host":"s3://npm-registry-packages-npm-production"}},"3.3.3":{"name":"file-organizer-mcp","version":"3.3.3","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.3.3","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"97b4e70305506651667d3026796aaa36cd0a0066","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.3.3.tgz","fileCount":359,"integrity":"sha512-TQvyP4KWDUxiW+UXqQuKIvfFbKXdj1eWCVePFv5CVDbdpzZFxDyC+VRtzIyctU+84hxL1OntEm6qjC5arMAw1Q==","signatures":[{"sig":"MEUCIQCScjnN5bURrtRR235qssJasRnjCrkuylO4LyWWEHDIHAIgAV8UyNUz+zOJtR3xIAch/uNpxKyajIjyU5qR5nEXP9c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1892345},"main":"dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"2ffe651632a3f69b016f5681ebb3e285431d5a53","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/src/tui/index.js","start":"node dist/src/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit/security_suite.test.ts tests/unit/security_repro.test.ts tests/unit/category_security.test.ts","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","mammoth":"^1.11.0","piexifjs":"^1.0.6","minimatch":"^10.1.2","node-cron":"^4.2.1","pdf-parse":"^2.4.5","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.3.3_1771062032225_0.7708108324970808","host":"s3://npm-registry-packages-npm-production"}},"3.3.4":{"name":"file-organizer-mcp","version":"3.3.4","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.3.4","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"0dccf2c6eec956dcb2179ca77921a7a929380282","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.3.4.tgz","fileCount":359,"integrity":"sha512-dMo3bz8jxfoRz6aWDbsbKPv9Lgq+R7iwVNKWv3GqhoopMzus7rXjJtzI3P1KEeE54Zc7FUa64kYC1xIwBi37zw==","signatures":[{"sig":"MEUCIF0LUcSjlIWBWzuHqe4lSMEK0A9ZN4eQ61GE+uKIKFufAiEAtZiI0/gnWVmBwU1FYusxLbCBaow8qTG9RR9pCqDG7Tg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1892606},"main":"dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"d77ccb839c9f0d6dd9746fa9aaaf5af3241d82ce","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/src/tui/index.js","start":"node dist/src/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit/security_suite.test.ts tests/unit/security_repro.test.ts tests/unit/category_security.test.ts","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","mammoth":"^1.11.0","piexifjs":"^1.0.6","minimatch":"^10.1.2","node-cron":"^4.2.1","pdf-parse":"^2.4.5","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.3.4_1771062889567_0.6748655433185331","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"file-organizer-mcp","version":"3.4.0","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.4.0","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"f2bcf996b01b10f54f9399d25783c8795d2b0d2c","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.4.0.tgz","fileCount":387,"integrity":"sha512-QmI6sqCGVyu9w7XYsn1d0DrImYbYJsJhdGP7qTb0cb103Or1J/1uo/tEoY5iBq6HGs0rChXYpmpaxrNy69jyGA==","signatures":[{"sig":"MEUCIGmtpjvhXVpPt8Q/WdPLAfEYO4VksYBJqpX0zXkdspATAiEA+wPJktoF1gy5oMvlX1ccuAG+xMWe95WSZDxpBWE3CNs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2108049},"main":"dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"300d17efb44c376ba94352c9e0e26260cb291c5a","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/src/tui/index.js","start":"node dist/src/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit/security_suite.test.ts tests/unit/security_repro.test.ts tests/unit/category_security.test.ts","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","mammoth":"^1.11.0","piexifjs":"^1.0.6","minimatch":"^10.1.2","node-cron":"^4.2.1","pdf-parse":"^2.4.5","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.4.0_1771435766685_0.2126271792106862","host":"s3://npm-registry-packages-npm-production"}},"3.4.1":{"name":"file-organizer-mcp","version":"3.4.1","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.4.1","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"4125e83a83d15921eb17708e347d055d42a1334c","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.4.1.tgz","fileCount":387,"integrity":"sha512-nOPcXetjt+sX6972m1urZMc8XpwhqxXsolfajnaGdHGVYuGYLiUT4HyIoKmLMCroPA3/vG0wuJztEc2wtT4g9g==","signatures":[{"sig":"MEYCIQCgkq4Ij/CBG2hjhu4Pbzoi26yQORxy8P3tLm9fArJMBAIhAKHEK1Afkz8ZVIjthPgK/swOkMixdxdx+xCNmQUCHBak","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2111322},"main":"dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"ec2582a6a86d15928e2940749c4eee19f65457e1","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/src/tui/index.js","start":"node dist/src/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit/security_suite.test.ts tests/unit/security_repro.test.ts tests/unit/category_security.test.ts","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","mammoth":"^1.11.0","piexifjs":"^1.0.6","minimatch":"^10.1.2","node-cron":"^4.2.1","pdf-parse":"^2.4.5","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.4.1_1771475612511_0.4608801533891631","host":"s3://npm-registry-packages-npm-production"}},"3.4.2":{"name":"file-organizer-mcp","version":"3.4.2","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","_id":"file-organizer-mcp@3.4.2","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"os":["win32","darwin","linux"],"bin":{"file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs"},"cpu":["x64","arm64"],"dist":{"shasum":"9246f9af4a83ab198b22d4be0369b3720f931fa9","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-3.4.2.tgz","fileCount":387,"integrity":"sha512-pkbBbWlaUFOtnQWIXZAv3VE7S4EUxNmSJwH95GMeXwPV90hvvA1wo9V38dpFWU66rpXJSTPE4nOnKQYpoBIeXw==","signatures":[{"sig":"MEQCIAr3L1UGxVU9Z9a9ka1aqqPDbhyT9gKMQeGkaplRWbsyAiBL7L/Jy6/QRO/2e6NmeTbD9zbjIn4G+fN4Ymfgj7/9CA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2112339},"main":"dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"c702d64baf82ca9f95c3a35b73ab99140a04a184","private":false,"scripts":{"dev":"npm run build && npm run start","lint":"eslint src/**/*.ts","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rimraf dist","setup":"node dist/src/tui/index.js","start":"node dist/src/index.js","format":"prettier --write src/**/*.ts","prepare":"node scripts/prepare.cjs","lint:fix":"eslint src/**/*.ts --fix","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","build:watch":"tsc --watch","postinstall":"node scripts/postinstall.cjs","test:phase1":"node dist/tests/test-phase1.js","docs:generate":"node scripts/generate-docs.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit/security_suite.test.ts tests/unit/security_repro.test.ts tests/unit/category_security.test.ts","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"repository":{"url":"git+https://github.com/kridaydave/File-Organizer-MCP.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ink":"^5.2.1","zod":"^4.3.6","chalk":"^5.6.2","react":"^19.2.4","mammoth":"^1.11.0","piexifjs":"^1.0.6","minimatch":"^10.1.2","node-cron":"^4.2.1","pdf-parse":"^2.4.5","exif-parser":"^0.1.12","ink-text-input":"^6.0.0","music-metadata":"^11.11.2","@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.39.2","rimraf":"^5.0.5","globals":"^17.3.0","ts-jest":"^29.1.1","prettier":"^3.1.0","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.3.2","@types/jest":"^29.5.11","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/file-organizer-mcp_3.4.2_1772557125831_0.3820959807762947","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"file-organizer-mcp","version":"5.0.0","description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","type":"module","main":"dist/src/index.js","bin":{"file-organizer-mcp":"bin/file-organizer-mcp.mjs","file-organizer":"bin/file-organizer-mcp.mjs","file-organizer-setup":"bin/file-organizer-setup.mjs","file-organizer-watch":"bin/file-organizer-watch.mjs"},"scripts":{"build":"tsc","build:watch":"tsc --watch","start":"node dist/src/index.js","dev":"npm run build && npm run start","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","test:security:static":"node dist/scripts/security-gates/static-analysis.js","test:security:gates":"node dist/scripts/security-gates/run-all.js","test:security":"npm run test:security:static && node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit/security_suite.test.ts tests/unit/security_repro.test.ts tests/unit/category_security.test.ts tests/unit/services/v5-regressions.test.ts tests/unit/services/adversarial-deep-audit.test.ts tests/unit/services/adversarial-deep-audit-2.test.ts tests/unit/services/adversarial-tool-gates.test.ts","verify:all":"npm run build && npm run lint && npm run test:security && npm test","setup":"node dist/src/tui/index.js","postinstall":"node scripts/postinstall.cjs","prepare":"node scripts/prepare.cjs","prepublishOnly":"npm run clean && npm run build && npm test","test:phase1":"node dist/tests/test-phase1.js","lint":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --no-warn-ignored","lint:fix":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --fix --no-warn-ignored","format":"prettier --write src/**/*.ts","docs:generate":"node scripts/generate-docs.js","clean":"rimraf dist"},"keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"author":{"name":"kridaydave"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/kridaydave/File-Organizer-MCP.git"},"bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","dependencies":{"@inquirer/prompts":"^8.5.2","@modelcontextprotocol/server":"^2.0.0","chalk":"^5.6.2","exif-parser":"^0.1.12","minimatch":"^10.1.2","music-metadata":"^11.11.2","node-cron":"^4.6.0","piexifjs":"^1.0.6","zod":"^4.4.3"},"devDependencies":{"@eslint/js":"^10.0.1","@types/jest":"^30.0.0","@types/node":"^20.10.0","@types/node-cron":"^3.0.11","@types/ws":"^8.18.1","eslint":"^10.8.1","globals":"^17.11.0","jest":"^30.4.2","prettier":"^3.9.6","rimraf":"^6.1.3","ts-jest":"^29.4.12","typescript":"^5.3.2","typescript-eslint":"^8.67.0"},"engines":{"node":">=20.0.0"},"os":["win32","darwin","linux"],"cpu":["x64","arm64"],"private":false,"publishConfig":{"access":"public"},"gitHead":"4a5e5a2bbbe91d6f83a50b928e1b417f24ba0409","types":"./dist/src/index.d.ts","_id":"file-organizer-mcp@5.0.0","_nodeVersion":"26.7.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-sn8Lmbs649d0Lqh2U0rHoyldrVUdWkmWuYUk3HarHOvwKV3zNvkE+M+o2TCGJzqxjtDJpH1HnDZTNrLcC8P+tg==","shasum":"d6307e26e7d8e7646090bd30d9dc6af1d30d8446","tarball":"https://registry.npmjs.org/file-organizer-mcp/-/file-organizer-mcp-5.0.0.tgz","fileCount":436,"unpackedSize":1683525,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHrwMHt25d4D8MFQJZbhfuhwCcFxj+iOsC+fvks3af1qAiBJ892nzKxXOhzRS0SL5YwukT5vu8L3DbwXwoKqE7+VCg=="}]},"_npmUser":{"name":"kridaydave","email":"technocratix902@gmail.com"},"directories":{},"maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/file-organizer-mcp_5.0.0_1788282798903_0.5167717359641668"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-01T15:38:13.144Z","modified":"2026-09-01T17:13:19.232Z","2.1.0":"2026-02-01T15:38:13.280Z","3.0.0-beta.1":"2026-02-02T08:55:54.452Z","3.0.0":"2026-02-03T16:18:43.876Z","3.1.0":"2026-02-06T17:08:26.425Z","3.1.1":"2026-02-06T17:19:25.697Z","3.1.2":"2026-02-06T17:43:33.210Z","3.1.3":"2026-02-06T18:19:35.625Z","3.1.4":"2026-02-07T12:14:06.918Z","3.1.5":"2026-02-08T12:42:03.386Z","3.2.0":"2026-02-09T14:17:01.136Z","3.2.1":"2026-02-10T06:32:10.119Z","3.2.2":"2026-02-10T06:50:19.797Z","3.2.3":"2026-02-10T06:58:18.028Z","3.2.4":"2026-02-10T07:09:09.037Z","3.2.5":"2026-02-10T08:44:13.496Z","3.2.6":"2026-02-10T09:55:06.966Z","3.2.7":"2026-02-10T10:17:35.576Z","3.2.8":"2026-02-10T10:40:36.000Z","3.3.0":"2026-02-13T12:35:27.605Z","3.3.1":"2026-02-13T13:14:44.624Z","3.3.2":"2026-02-13T17:32:48.422Z","3.3.3":"2026-02-14T09:40:32.444Z","3.3.4":"2026-02-14T09:54:49.758Z","3.4.0":"2026-02-18T17:29:26.846Z","3.4.1":"2026-02-19T04:33:32.736Z","3.4.2":"2026-03-03T16:58:46.044Z","5.0.0":"2026-09-01T17:13:19.057Z"},"bugs":{"url":"https://github.com/kridaydave/File-Organizer-MCP/issues"},"author":{"name":"kridaydave"},"license":"MIT","homepage":"https://github.com/kridaydave/File-Organizer-MCP#readme","keywords":["mcp","mcp-server","file-organizer","file-organization","file-management","automation","claude","ai-tools","duplicate-detection","file-categorization","typescript","security"],"repository":{"type":"git","url":"git+https://github.com/kridaydave/File-Organizer-MCP.git"},"description":"Intelligent file organization MCP server for Claude with security-hardened operations, auto-categorization, and duplicate detection","maintainers":[{"name":"kridaydave","email":"technocratix902@gmail.com"}],"readme":"# File Organizer MCP Server\n\nVersion 5.0.0 | MCP protocol 2026-07-28 (stateless) | Node.js 18+\n\n[![npm version](https://img.shields.io/badge/npm-v5.0.0-blue.svg)](https://www.npmjs.com/package/file-organizer-mcp)\n[![npm downloads](https://img.shields.io/npm/dm/file-organizer-mcp.svg)](https://www.npmjs.com/package/file-organizer-mcp)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Tests](https://img.shields.io/badge/tests-835%20passing-success.svg)](tests/)\n\nA Model Context Protocol (MCP) server that organizes files. It gives a Claude-style assistant a single atomic operation to categorize, sort, dedupe, and rename files, instead of making it chain dozens of primitive `read`, `write`, and `rename` calls.\n\n- [Why](#why)\n- [Quick start](#quick-start)\n- [Features](#features)\n- [Tools](#tools)\n- [File categories](#file-categories)\n- [Example workflows](#example-workflows)\n- [Security](#security-configuration)\n- [Troubleshooting](#troubleshooting)\n- [Architecture](#architecture)\n- [Documentation](#documentation)\n\n---\n\n## Why\n\nA filesystem MCP server built only on `read`, `write`, `make`, and `delete` forces an assistant to plan every move and rename as a separate step. Each step costs tokens, and more steps means more chances to get the path wrong.\n\nFile Organizer MCP replaces those chains with one call:\n\n| Primitive approach | File Organizer MCP |\n| --- | --- |\n| Many `read` / `write` / `rename` calls | `organize_files()` runs the whole move atomically |\n| Dozens of reasoning steps | One reasoning step |\n| High token use | Minimal token use |\n| Easy to corrupt on partial failure | Rollback-safe operations |\n\n---\n\n## Quick start\n\n### One-command setup\n\n```bash\nnpx file-organizer-mcp --setup\n```\n\nThe wizard detects installed AI clients (Claude Desktop, Cursor, Windsurf, Cline, and others), configures them, and walks you through folder selection and preferences.\n\n### Requirements\n\nNode.js 18 or newer.\n\n### After setup\n\nYou can ask the assistant things like:\n\n- \"Organize my Downloads folder\"\n- \"Find duplicate files in my Documents\"\n- \"Show me my largest files\"\n\n### Install methods\n\n| Method | Command | Use case |\n| --- | --- | --- |\n| npx | `npx file-organizer-mcp --setup` | Occasional use or a trial |\n| Global | `npm install -g file-organizer-mcp` | Regular use, faster startup |\n\n---\n\n## Features\n\n- Categorization into 12 or more file types.\n- Cron-based automatic organization and directory watch mode.\n- Duplicate detection by SHA-256 content hash.\n- Metadata extraction: EXIF for photos, ID3 for audio.\n- Smart organization that picks the right strategy per file type.\n- Dry-run preview, atomic moves, and rollback.\n- Path traversal protection, TOCTOU mitigation, and metadata scrubbing.\n- Windows, macOS, and Linux.\n\n---\n\n## Tools\n\n### Core tools\n\n- `file_organizer_scan_directory` - List a directory with detailed file info. `directory` is required; `include_subdirs` toggles recursion.\n- `file_organizer_read_file` - Read a file with 8-layer path validation. `path` is required; `encoding` is utf-8, base64, or binary.\n- `file_organizer_batch_rename` - Rename many files by pattern, regex, or numbering.\n- `file_organizer_undo_last_operation` - Reverse the most recent organization.\n\n### Full tool list\n\n- `file_organizer_analyze_duplicates`\n- `file_organizer_batch_read_files`\n- `file_organizer_batch_rename`\n- `file_organizer_categorize_by_type`\n- `file_organizer_delete_duplicates`\n- `file_organizer_find_duplicate_files`\n- `file_organizer_find_largest_files`\n- `file_organizer_get_categories`\n- `file_organizer_inspect_metadata`\n- `file_organizer_list_files`\n- `file_organizer_organize_files`\n- `file_organizer_organize_music`\n- `file_organizer_organize_photos`\n- `file_organizer_preview_organization`\n- `file_organizer_read_file`\n- `file_organizer_scan_directory`\n- `file_organizer_set_custom_rules`\n- `file_organizer_smart_suggest`\n- `file_organizer_system_organize`\n- `file_organizer_undo_last_operation`\n- `file_organizer_view_history`\n\nFor parameters and return shapes, see [API.md](API.md).\n\n### Scheduled organization (separate process)\n\nThe stdio MCP server stays stateless — cron-based watching runs as its own\nprocess:\n\n```bash\nfile-organizer-watch add ~/Downloads \"0 10 * * *\"   # daily at 10am\nfile-organizer-watch list\nfile-organizer-watch                                # start the daemon\n```\n\nWatches are stored in the shared user config, so `add`/`remove` work even\nwhile the daemon is running (restart it to pick up changes).\n\n---\n\n## File categories\n\n| Category | Typical extensions |\n| --- | --- |\n| Executables | `.exe`, `.msi`, `.bat`, `.sh` |\n| Videos | `.mp4`, `.avi`, `.mkv`, `.mov` |\n| Documents | `.pdf`, `.doc`, `.docx`, `.txt`, `.md` |\n| Images | `.jpg`, `.jpeg`, `.png`, `.gif`, `.webp` |\n| Audio | `.mp3`, `.wav`, `.flac`, `.m4a` |\n| Archives | `.zip`, `.rar`, `.7z`, `.tar.gz` |\n| Code | `.py`, `.js`, `.ts`, `.java`, `.go`, `.json` |\n\n---\n\n## Example workflows\n\n### Clean up a Downloads folder\n\n1. Scan the folder and review the file distribution and space use.\n2. Identify duplicates and stale files.\n3. Preview the moves and conflicts.\n4. Confirm, then organize into category folders.\n\nResult: a sorted folder, duplicates flagged, and reclaimed space.\n\n### Organize a project\n\nThe assistant scans the project, splits files into Code, Assets, and Docs, keeps the `src/` tree intact, and moves loose config files, readmes, and screenshots into their proper folders.\n\n### Find and handle duplicates\n\nThe assistant hashes files, groups duplicates, scores each copy by location, name quality, and age, and recommends which to keep and which to delete. It reports the wasted space. You decide whether to delete.\n\n### Discover large files\n\nPoint it at a folder and it lists the largest files by size, flags old backups you can archive, and notes any large duplicates.\n\n### Organize music\n\nIt reads ID3 tags and rebuilds the folder as `Artist / Album / Title.mp3`.\n\n```\nBefore:\nDownloads/\n  song1.mp3\n  track02.mp3\n  music_file.mp3\n\nAfter:\nMusic/\n  Coldplay/\n    A Rush of Blood to the Head/\n      Clocks.mp3\n      The Scientist.mp3\n  Radiohead/\n    OK Computer/\n      Paranoid Android.mp3\n      Karma Police.mp3\n```\n\n### Organize photos\n\nIt reads the capture date from EXIF and sorts photos into `YYYY / MM / DD` folders.\n\n```\nBefore:\nPictures/\n  IMG_001.jpg\n  photo123.png\n  DSC_4567.raw\n\nAfter:\nPictures/\n  2023/\n    12/\n      25/\n        IMG_001.jpg\n      31/\n        photo123.png\n  2024/\n    01/\n      15/\n        DSC_4567.raw\n```\n\n### Security-screen a folder\n\nIt extracts metadata and content signatures, then flags sensitive metadata, such as EXIF GPS coordinates in a PDF or personal identifiers in a resume, and suggests redaction or quarantine.\n\n### Set up automatic organization\n\nRegister a directory with a cron schedule:\n\n```json\n{\n  \"directory\": \"/Users/john/Downloads\",\n  \"schedule\": \"0 9 * * *\",\n  \"min_file_age_minutes\": 5\n}\n```\n\nThe server organizes the folder on that schedule. Add more watches for other directories.\n\n---\n\n## Security configuration\n\nAccess is restricted to a whitelist of user directories by default. System directories stay blocked.\n\n### Allowed by default\n\nThe server enables these locations if they exist on the machine:\n\n| Platform | Allowed directories |\n| --- | --- |\n| Windows | Desktop, Documents, Downloads, Pictures, Videos, Music, OneDrive, Projects, Workspace |\n| macOS | Desktop, Documents, Downloads, Movies, Music, Pictures, iCloud Drive, Projects |\n| Linux | Desktop, Documents, Downloads, Music, Pictures, Videos, `~/dev`, `~/workspace` |\n\n### Always blocked\n\nThese paths stay blocked even if you add them to the config:\n\n- Windows: `C:\\Windows`, Program Files, AppData, `$Recycle.Bin`\n- macOS: `/System`, `/Library`, `/Applications`, `/private`, `/usr`\n- Linux: `/etc`, `/usr`, `/var`, `/root`, `/sys`, `/proc`\n- Everywhere: `node_modules`, `.git`, `.vscode`, `.idea`, `dist`, `build`\n\n### Custom configuration\n\nEdit the user config file:\n\n- Windows: `%APPDATA%\\file-organizer-mcp\\config.json`\n- macOS: `$HOME/Library/Application Support/file-organizer-mcp/config.json`\n- Linux: `$HOME/.config/file-organizer-mcp/config.json`\n\nAdd paths to `customAllowedDirectories`:\n\n```json\n{\n  \"customAllowedDirectories\": [\n    \"C:\\\\Users\\\\Name\\\\My Special Folder\",\n    \"D:\\\\Backups\"\n  ]\n}\n```\n\nYou can paste a folder path straight from your file explorer's address bar.\n\n### External drives and network mounts\n\nPaths outside your home directory are blocked unless you opt in. To allow an external volume such as `/Volumes/My Drive` on macOS or `/media/user/usb` on Linux, set `allowExternalVolumes` to true:\n\n```json\n{\n  \"allowExternalVolumes\": true,\n  \"customAllowedDirectories\": [\n    \"/Volumes/MyExternalDrive\",\n    \"/Volumes/Photography Backup\"\n  ]\n}\n```\n\nWindows drive letters like `D:\\` work without this flag.\n\nRestart the client after editing the config.\n\n### Conflict strategy\n\n```json\n{\n  \"conflictStrategy\": \"rename\"\n}\n```\n\n- `rename` (default) - Append a suffix to the new file, for example `file (1).txt`.\n- `skip` - Keep the existing file and skip the new one.\n- `overwrite` - Replace the existing file, after writing a backup.\n\n### Legacy auto-organize schedule\n\nFor a simple hourly, daily, or weekly schedule:\n\n```json\n{\n  \"autoOrganize\": {\n    \"enabled\": true,\n    \"schedule\": \"daily\"\n  }\n}\n```\n\nFor anything more granular, run `file-organizer-watch add <directory> \"<cron>\"`.\n\n### Defenses\n\n| Attack type | Protection |\n| --- | --- |\n| Unauthorized access | Whitelist plus blacklist enforcement |\n| Path traversal | 8-layer validation pipeline |\n| Symlink attacks | Real path resolution |\n| DoS | Resource limits on file count, depth, and size |\n\n---\n\n## Troubleshooting\n\n### The MCP server does not appear\n\n1. Check the config file path is correct.\n2. Confirm Node.js 18 or newer: `node --version`.\n3. Fully restart the client.\n4. Check the path in the client config file.\n\n### Permission errors\n\n- Windows: run the client as Administrator.\n- macOS/Linux: check folder permissions with `ls -la`.\n- Confirm the target directory is writable.\n\n### Files are not moving\n\n1. Make sure `dry_run` is not enabled.\n2. Close programs that may be locking the files.\n3. Check for sufficient disk space.\n4. Read the operation summary for error messages.\n\n---\n\n## Architecture\n\nThe server is stateless: each JSON-RPC request gets a fresh context (`config`, history logger) routed through an explicit tool registry into pure service modules under `src/core/`. The pipeline is `scan → categorize → plan → move`, every path passes 8-layer validation before any `fs` call, and all side effects are file-backed (history, rollback manifests), so nothing survives a restart except what you can undo.\n\nScheduled organization runs as a separate process (`file-organizer-watch`) so the stdio server stays request/response.\n\nSee [ARCHITECTURE.md](ARCHITECTURE.md) for the diagram and design notes.\n\n---\n\n## Documentation\n\n- [API.md](API.md) - Complete tool reference\n- [ARCHITECTURE.md](ARCHITECTURE.md) - Design and architecture\n- [CONTRIBUTING.md](CONTRIBUTING.md) - Contribution guidelines\n- [MIGRATION.md](MIGRATION.md) - v2 to v3 upgrade guide\n- [CHANGELOG.md](CHANGELOG.md) - Version history\n- [SECURITY.md](SECURITY.md) - Security model and reporting\n\n---\n\n## Contributing\n\nRead [CONTRIBUTING.md](CONTRIBUTING.md), then clone and build:\n\n```bash\ngit clone https://github.com/kridaydave/File-Organizer-MCP.git\ncd File-Organizer-MCP\nnpm install\nnpm run build\nnpm test\n```\n\n### Adding a tool: one file, one line\n\n1. Create `src/tools/my-tool.ts` exporting a `ToolDefinition` (name, Zod input schema, annotations, formats) and its handler.\n2. Add an import and one `reg()` entry in `src/mcp/registry.ts`.\n\nThat's it. The registry is the single source of truth: the server registers from it, routing is pure, and no other file changes. Schemas shared across tools live in `src/schemas/` (`common`, `scan`, `organize`, `system`). If your tool takes a path, it goes through `validateStrictPath` before touching `fs`, and errors go through `sanitizeErrorMessage`. See [ARCHITECTURE.md](ARCHITECTURE.md) for the contract details.\n\nReport bugs and feature requests on [GitHub Issues](https://github.com/kridaydave/File-Organizer-MCP/issues). For a security vulnerability, email technocratix902@gmail.com.\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","readmeFilename":"README.md"}