{"_id":"@cynosure-mcp/file-access","_rev":"4-0f53ae5b325730d02c61ea3224d5a048","name":"@cynosure-mcp/file-access","dist-tags":{"latest":"1.1.2"},"versions":{"1.0.0":{"name":"@cynosure-mcp/file-access","version":"1.0.0","keywords":["mcp","model-context-protocol","filesystem","files","image","thumbnails","ai"],"_id":"@cynosure-mcp/file-access@1.0.0","maintainers":[{"name":"andjhagen","email":"voidvalkon@gmail.com"}],"bin":{"file-access":"dist/index.js"},"dist":{"shasum":"beec704fa6630f2e854e4f8080342d280cd32aa9","tarball":"https://registry.npmjs.org/@cynosure-mcp/file-access/-/file-access-1.0.0.tgz","fileCount":7,"integrity":"sha512-Msx1wWbWd9jj2gyjfFOtV8QfNr7eNqSmR+HMisJoCRSRij2awMibemQgBfLHgrMW2sRk+z92WPgV1AOVl5ta4Q==","signatures":[{"sig":"MEUCIQDPxxwjNQVb+We/2foua1Lew0Ul03JgiA3bdDgcgHniYwIgPPKzPDMBPJ0UGKLPc4AZ6Amv5YpZkPLlwl6VBlVRGn4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95888},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"5f4ffc273f485708ad79df3ae5405ed39789bd57","mcpName":"io.github.andreasjhagen/file-access","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"andjhagen","email":"voidvalkon@gmail.com"},"_npmVersion":"11.12.1","description":"MCP server for safe file access, editing, directory browsing, and image thumbnails","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^3.24.0","sharp":"^0.34.5","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/file-access_1.0.0_1782056241884_0.4179179117736813","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@cynosure-mcp/file-access","version":"1.1.0","keywords":["mcp","model-context-protocol","filesystem","files","image","thumbnails","ai"],"_id":"@cynosure-mcp/file-access@1.1.0","maintainers":[{"name":"andjhagen","email":"voidvalkon@gmail.com"}],"bin":{"file-access":"dist/index.js"},"dist":{"shasum":"50231c627cb5b8699e4df9d4f6132b64c46408c1","tarball":"https://registry.npmjs.org/@cynosure-mcp/file-access/-/file-access-1.1.0.tgz","fileCount":7,"integrity":"sha512-BXmK+tRlzXgdnUkRdu/Qv72ZJsCQm9vNezTbuURY1l1MiYASZpR92IxJRg5F4DXx6Z9YZ+2ZToaQfcLfZidzng==","signatures":[{"sig":"MEQCIF1sNjGJjXaOpyxG55oiO78zOnBi6t98g5wBHn/YosZzAiB6VJPhtAxofONpSxSZIh7JPNsyirLe1ZW4O7YMNMpBGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137540},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"a114eae53425d9d6ffe88b883a04b2ccabac7e7d","mcpName":"io.github.andreasjhagen/file-access","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"andjhagen","email":"voidvalkon@gmail.com"},"_npmVersion":"10.9.2","description":"MCP server for safe file access, editing, directory browsing, ZIP archives, and image thumbnails","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^3.24.0","sharp":"^0.34.5","archiver":"^8.0.0","unzipper":"^0.12.5","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/archiver":"^8.0.0","@types/unzipper":"^0.10.11"},"_npmOperationalInternal":{"tmp":"tmp/file-access_1.1.0_1786486065143_0.3176797073351523","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@cynosure-mcp/file-access","version":"1.1.1","keywords":["mcp","model-context-protocol","filesystem","files","image","thumbnails","ai"],"_id":"@cynosure-mcp/file-access@1.1.1","maintainers":[{"name":"andjhagen","email":"voidvalkon@gmail.com"}],"homepage":"https://github.com/Cynosure-MCP-Collection/mcp-file-access#readme","bugs":{"url":"https://github.com/Cynosure-MCP-Collection/mcp-file-access/issues"},"bin":{"file-access":"dist/index.js"},"dist":{"shasum":"9c8eb529c9b7c74f5e4fd5b76771b33e7d4c96d0","tarball":"https://registry.npmjs.org/@cynosure-mcp/file-access/-/file-access-1.1.1.tgz","fileCount":7,"integrity":"sha512-RtosW0c59NdZSNl7Tx8ePk5GmZsg1j5W7MEBOszjpTRT2KeVbxxys6cGJqOWv33IOMYGf1RzDD6UerSESSFGxg==","signatures":[{"sig":"MEQCIH7J7m4XvnlHTXPNhTLSBzdWkHEWzbDgqicOZPOWibRFAiBB3uf0hJBrJuuj7fIs6RmDl589G8z7c1KPdvYTbeferQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICHEL5lFXzLe/gL1rOwTXljAsejtw900cxEoSUnN8DG9AiBM+yRSqz9KwQtzpFymOi4wf9jIiBTLdiFZe76EHajohA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cynosure-mcp%2ffile-access@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":130870},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"47f2f7cb8a9b985a3ec67ad20ade206596230118","mcpName":"io.github.andreasjhagen/file-access","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","version":"node scripts/sync-version.mjs && git add server.json","release:check":"node scripts/sync-version.mjs --check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c56f776b-63c7-4080-b0e4-6759c366a9b9"}},"repository":{"url":"git+https://github.com/Cynosure-MCP-Collection/mcp-file-access.git","type":"git"},"_npmVersion":"11.19.0","description":"MCP server for safe file access, editing, directory browsing, ZIP archives, and image thumbnails","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^3.24.0","sharp":"^0.34.5","archiver":"^8.0.0","unzipper":"^0.12.5","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/archiver":"^8.0.0","@types/unzipper":"^0.10.11"},"_npmOperationalInternal":{"tmp":"tmp/file-access_1.1.1_1789581563870_0.9040429194087141","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"_id":"@cynosure-mcp/file-access@1.1.2","bin":{"file-access":"dist/index.js"},"bugs":{"url":"https://github.com/Cynosure-MCP-Collection/mcp-file-access/issues"},"dist":{"shasum":"45fd6b246bd4679b8fb825225b025b4ed2e438e0","tarball":"https://registry.npmjs.org/@cynosure-mcp/file-access/-/file-access-1.1.2.tgz","fileCount":7,"integrity":"sha512-CGCDhhnVp4nNxgJ6mFRsZB8M4HuREldX1d12c/mwdgROIbcZnA86EdoYbT58VJ93X8CgGSU5dGo/UyqkSP6fow==","signatures":[{"sig":"MEYCIQDM7973vb/bn3jdsSMUBME7XvBaVgyj9wZXId7+hcXY8QIhAMlqXjHV1phmiiuJxPxgKQ5Upvbhe+bQ6afPZRVQiPqV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDBEjRM5pSRzWX3RpdSIgPLWYnbqORAvoOQ/8Al6lm2EAiBUOi/6K/outsJ5Fd9WAdm1G/6SgBhqSwJoFQhWtf4KZQ=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cynosure-mcp%2ffile-access@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":317701},"main":"dist/index.js","name":"@cynosure-mcp/file-access","type":"module","types":"./dist/index.d.ts","gitHead":"3de1aaa32b70119fde65f8b5da1ab28b9cc4408c","mcpName":"io.github.andreasjhagen/file-access","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","version":"node scripts/sync-version.mjs && git add server.json","release:check":"node scripts/sync-version.mjs --check"},"version":"1.1.2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c56f776b-63c7-4080-b0e4-6759c366a9b9"}},"homepage":"https://github.com/Cynosure-MCP-Collection/mcp-file-access#readme","keywords":["mcp","model-context-protocol","filesystem","files","image","thumbnails","ai"],"repository":{"url":"git+https://github.com/Cynosure-MCP-Collection/mcp-file-access.git","type":"git"},"_npmVersion":"11.19.0","description":"MCP server for safe file access, editing, directory browsing, ZIP archives, and image thumbnails","directories":{},"maintainers":[{"name":"andjhagen","email":"voidvalkon@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"zod":"^3.24.0","sharp":"^0.34.5","archiver":"^8.0.0","unzipper":"^0.12.5","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/archiver":"^8.0.0","@types/unzipper":"^0.10.11"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/file-access_1.1.2_1791041551847_0.13425797741084788"}}},"time":{"created":"2026-06-21T15:37:21.663Z","modified":"2026-10-03T15:32:32.274Z","1.0.0":"2026-06-21T15:37:22.036Z","1.1.0":"2026-08-11T22:07:45.283Z","1.1.1":"2026-09-16T17:59:23.951Z","1.1.2":"2026-10-03T15:32:31.971Z"},"bugs":{"url":"https://github.com/Cynosure-MCP-Collection/mcp-file-access/issues"},"homepage":"https://github.com/Cynosure-MCP-Collection/mcp-file-access#readme","keywords":["mcp","model-context-protocol","filesystem","files","image","thumbnails","ai"],"repository":{"url":"git+https://github.com/Cynosure-MCP-Collection/mcp-file-access.git","type":"git"},"description":"MCP server for safe file access, editing, directory browsing, ZIP archives, and image thumbnails","maintainers":[{"name":"andjhagen","email":"voidvalkon@gmail.com"}],"readme":"# File Access MCP\n\nMCP server for safe file access, editing, directory browsing, ZIP archives, and image thumbnails.\n\n## Configuration\n\nBy default, the server allows access to the process working directory only.\n\nSet `FILE_ACCESS_ALLOWED_DIRECTORIES` to a platform path-list to grant access to specific roots:\n\n```bash\nFILE_ACCESS_ALLOWED_DIRECTORIES=\"/path/to/project:/path/to/assets\"\n```\n\nOn Windows, use `;` as the separator.\n\n## Tools\n\n- `info` — inspect a path, or list allowed roots when `path` is omitted\n- `list_directory` — flat, size-aware, or tree listings\n- `search` — find files and directories by name/path\n- `read_file` — read one or many text/media files, thumbnails, or an image collage\n- `write_file`\n- `edit_file` — sed-like ordered, exact-text replacements with preview-only behavior by default\n- `create_directory`\n- `move` — move a file or directory\n- `merge` — merge one directory into another\n- `archive` — create or extract ZIP archives\n- `delete` — delete a file or directory\n\nCommon generated and dependency folders such as `node_modules`, `.git`, `dist`, `build`, `.next`, and cache directories are excluded from traversal by default.\n\n`read_file` uses text mode by default. Set `mode` to `media`, `thumbnails`, or `collage` for binary media workflows. Collage mode accepts 1-6 image paths and returns a single PNG contact sheet with file-name captions.\n\n`edit_file` works like `sed`: provide `path` and an `edits` array of `{ \"oldText\": \"exact text\", \"newText\": \"replacement\" }` objects. Edits are applied in order. Set `replaceAll: true` on an edit to replace every occurrence, and set `dryRun: false` on the tool call to write the result. It accepts literal replacements, not unified diffs or patch strings.\n\n`move` detects whether its source is a file or directory. For files, an existing destination directory receives the file. For directories, the destination is an exact new path that must not exist and must include the directory name—for example, use `/projects/acme`, not `/projects`.\n\n`merge` moves the source directory's contents directly into an existing destination directory and removes the emptied source. It checks all conflicts before moving anything and rejects them by default. Set `overwrite: true` only when existing destination paths may be replaced.\n\n`delete` removes files or empty directories when only `path` is supplied. Deleting a non-empty directory requires the explicit `recursive: true` option.\n\n`archive` validates every extracted entry against path traversal and does not overwrite existing files unless `overwrite: true` is supplied.\n","readmeFilename":"README.md"}