{"_id":"@baruchiro/paperless-mcp","_rev":"24-d307c704f9ed1b7fa1df0a0aff4b53b6","name":"@baruchiro/paperless-mcp","dist-tags":{"latest":"2.2.1"},"versions":{"0.0.0-test1":{"name":"@baruchiro/paperless-mcp","version":"0.0.0-test1","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.0.0-test1","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"src/index.js"},"dist":{"shasum":"354f5656df80f8c2b1b13faf07554e869d61ef0e","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.0.0-test1.tgz","fileCount":27,"integrity":"sha512-NEENo4zvFDlfIY/ovUM0L3SfIk8Jugy/jL+3PJNB/3LKYArXuS2efiBUxXd8CjtL6eluxboHhxsVP3CGa9AUJw==","signatures":[{"sig":"MEUCIHxtwXd+41enbFMOSfXNrXzxu3E4j8uQ40/NEjk3xwWDAiEAjenzwFqQYE83ZJikDd0C7WZg9xNVdMXM+QxiWT8g0LI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":334456},"main":"src/index.js","gitHead":"3e4fc33010d0f3db975e73d124f48e854b46729f","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepare":"npm run build"},"_npmUser":{"name":"baruchiro","email":"baruchiro@gmail.com"},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"10.5.0","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^22.15.17","@changesets/cli":"^2.29.4"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.0.0-test1_1747578104048_0.5963873517551466","host":"s3://npm-registry-packages-npm-production"}},"0.0.0":{"name":"@baruchiro/paperless-mcp","version":"0.0.0","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.0.0","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"88b7955efbc791c49c96a6fd313c18b5f1c8258b","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.0.0.tgz","fileCount":23,"integrity":"sha512-7rEGWQRiNA+bRIxB2sPBkR7Gd0XpfDhYWV7Rfm3Jt4uqJKmy0lQDp2Yy0rn+sLqHm05pQ4ZaeAmOSW8m7EnFSw==","signatures":[{"sig":"MEQCIGIMNLSncQpV+6nF8exE1sG2R+o8rQ2eOnur4YJs9k1YAiBXMnxrfDrvAvwOD6O7mZKtxn9CL2gmBBKJ+J7wrVX1Ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":65267},"main":"build/index.js","types":"./build/index.d.ts","gitHead":"7cb8ae42b4abc1b5e1c4d2b02a24966fcb9aa10a","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"baruchiro","email":"baruchiro@gmail.com"},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^22.15.17","@changesets/cli":"^2.29.4"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.0.0_1747580130152_0.38154593131969716","host":"s3://npm-registry-packages-npm-production"}},"0.0.1":{"name":"@baruchiro/paperless-mcp","version":"0.0.1","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.0.1","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"eeb5b9c914d224d3e35ba673eb2785f73e8ff479","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.0.1.tgz","fileCount":23,"integrity":"sha512-9rOFK+QoXY0isbpsIRLvCNNh1igjZg/nMblwTSc9ting0nfyCUMAv23Dkd2AqiHrkFDc8QOGgNb3MjMYJM4gkA==","signatures":[{"sig":"MEYCIQDOvUxDalP9b0IvI4ZpSATWMArpmNUpCfnzujdh4ygSJwIhALHshD4TrdS2aWm/tGUuTCMD6kLpOKTSYTC3FEsgtJCJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":64866},"main":"build/index.js","types":"./build/index.d.ts","gitHead":"b2ef8ed148b69768149f61493b05245f8a00b7ca","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"baruchiro","email":"baruchiro@gmail.com"},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^22.15.17","@types/express":"^5.0.2","@changesets/cli":"^2.29.4"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.0.1_1747718553206_0.035489381967907185","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@baruchiro/paperless-mcp","version":"0.0.2","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.0.2","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"65bac5d9e9573b3d06ee373cf4f8b7d7fdb897bd","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.0.2.tgz","fileCount":23,"integrity":"sha512-sMfqM1+uDMj+VT5mMREaznICRw5Ijo2lqcPfRl1cOnmbILbsDUMkfnH4TWJM92dNbPqrbRAZojDFYtD8CqrAaQ==","signatures":[{"sig":"MEUCIGwBaQS7EivzavzeEnvpjFaF2jgxvnmCvBNqqFiTD+/aAiEA3rp2wMwFAAiGIyY9AIwluobYx9Ad5Ldhg0jQ+yVoHU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":64906},"main":"build/index.js","types":"./build/index.d.ts","gitHead":"0ef3b2c898d1f72fbccb4b024392bd98aed54a22","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"baruchiro","email":"baruchiro@gmail.com"},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^22.15.17","@types/express":"^5.0.2","@changesets/cli":"^2.29.4"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.0.2_1747758665670_0.08575966649062261","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@baruchiro/paperless-mcp","version":"0.0.3","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.0.3","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"65104c360257861a40636a95e25ce65b88670cda","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.0.3.tgz","fileCount":23,"integrity":"sha512-uPSTfNKsSMMypcY7UqyyHeGqI4eC4uyJVQkb99eq1zAqdBJqVG1YCFkyMGgXDz8FPOb7ZCjcqHLNn5sQaHRhNQ==","signatures":[{"sig":"MEYCIQCoOjVzUyVtxjfUiAaEkZz39NJg8Jo7As7UoQv7DPjNYwIhAIIRYgtsC1i0AwGELo8BOcuUoYwS+aRXIy1Aqiovnx3X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66267},"main":"build/index.js","types":"./build/index.d.ts","gitHead":"70698f641ffb504dd460d511f19e07a19ef78d17","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"baruchiro","email":"baruchiro@gmail.com"},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^22.15.17","@types/express":"^5.0.2","@changesets/cli":"^2.29.4"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.0.3_1753888263027_0.42725641817188964","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@baruchiro/paperless-mcp","version":"0.1.0","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.1.0","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"33958b98b3aa4ae96ff7485266439454c37839ff","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.1.0.tgz","fileCount":30,"integrity":"sha512-TlBJzlV6ovwO7I7Cu6jvdDGpOvk8Fb63yYwpvwvRuU7WOk4AbQf2R2LldedaUFux/FRoo+WEjai+FarvbmMbrw==","signatures":[{"sig":"MEUCIB3h4ZV1BYET4iLgSQqsNXmc6K5m6UKaxdyh5Fd+xC0iAiEAjuDBYan/R/rj+Ll6AGYjCuF+8fWakYKOjLFGrYu3srg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12417506},"main":"build/index.js","types":"./build/index.d.ts","gitHead":"f9bbf7567f247bc41e19cfdf3790f148e39421ca","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack"},"_npmUser":{"name":"baruchiro","email":"baruchiro@gmail.com"},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^22.15.17","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.1.0_1754806768511_0.5845435299738502","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@baruchiro/paperless-mcp","version":"0.2.0","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.2.0","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"2a320001ab260e6d693e5fe6554cee83bc229a6a","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.2.0.tgz","fileCount":30,"integrity":"sha512-/lab8EPW+5vtIPhxWVV3S2nYpeZnlmOX+uaAJ7qgYXxQzaHwcnk/HfeWacDOLUI1v3K1V04d4jGPjL9EJ8NCoQ==","signatures":[{"sig":"MEUCIEbV3UI6eBbz8sChPRy/+kbavdc7h2sil1O1vlqhXMWWAiEAqsSG+94fgGRdorDATPj59gtjw0Hd17DQqJDtFXh6Kbo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12425778},"main":"build/index.js","types":"./build/index.d.ts","gitHead":"d988a130fd6fb9b849ede5ed5db0759916195044","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack"},"_npmUser":{"name":"baruchiro","email":"baruchiro@gmail.com"},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^22.15.17","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.2.0_1755073391902_0.7078767570606039","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@baruchiro/paperless-mcp","version":"0.2.1","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.2.1","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"cfd7322f62ec25dc20be2d963f1035c1485adaec","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.2.1.tgz","fileCount":30,"integrity":"sha512-U3d/wDxGETDLry4SmoO3MGetucwsbhS9UyU9GF7EoQntILHihSXI5Vr9HTLa+0sFX15+8HtgUJ6iD/e9x6q5cQ==","signatures":[{"sig":"MEQCIDWrnJX1W9i7kYi5g7buvTzqUzDfHVdUJR3j526/0XKUAiB4ohbFqoOfw+NSplO+13LLBPF2eCvrk1t6f7je+vBS1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12426829},"main":"build/index.js","types":"./build/index.d.ts","gitHead":"98f4f804d23f3f7942243fa79c8045a9749e67e1","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack"},"_npmUser":{"name":"baruchiro","email":"baruchiro@gmail.com"},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^22.15.17","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.2.1_1762886132594_0.4305524124098572","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@baruchiro/paperless-mcp","version":"0.2.2","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.2.2","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"9f508ff44d636d2b95330ec22f99ccb773795c73","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.2.2.tgz","fileCount":30,"integrity":"sha512-gyL3hpCZf+mDjkPgL89s89Rc+87TsMfdUMvFbVxY8lUKqRABTLYVux7COkUJ/GKFeYnzcA1UOEEvzVpHTMHNMg==","signatures":[{"sig":"MEYCIQD8zsAzB+F3pee4puR/PMixlmM3628FuJG+ucARceB8RgIhAI8f5joddkv6JQj+Ho1mluiEJe1ZKBhHlD6S08Bl5ppP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12429608},"main":"build/index.js","types":"./build/index.d.ts","gitHead":"ace151f364e666daeb7d5ce66ee2ec8af87ffae6","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack"},"_npmUser":{"name":"baruchiro","email":"baruchiro@gmail.com"},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^22.15.17","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.2.2_1764099823439_0.8148211309109676","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@baruchiro/paperless-mcp","version":"0.3.0","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.3.0","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"04302c6b8b962fe6087a254c850f88e3324197d5","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.3.0.tgz","fileCount":30,"integrity":"sha512-uQLHhrCjtMflQJmuKl3btqQyR0fSs4in0JqUIDFFLuej0YbfXmPD7vt/DW98P1PZLFREpho7Df9hsxJlGxqUGg==","signatures":[{"sig":"MEYCIQClUJdvrErL114a3DDWQlDf4dWhue+4fuOm6Mruu9P0TgIhAJlHEPbNfJ0EpR2VZiU3gFfAXmjwMneBrDtVlrnzdPji","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12438677},"main":"build/index.js","types":"./build/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"6b52829d2651e68255e02ad1863a2118ff273843","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0fdc4828-3ca8-466f-a86c-ef1dead03327"}},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^24.0.0","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.3.0_1768891225664_0.6284947446139331","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@baruchiro/paperless-mcp","version":"0.4.0","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.4.0","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"c6a3b527a1aef9525fe170e56120db983dd20382","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.4.0.tgz","fileCount":30,"integrity":"sha512-vJoNOHWeCeuArtB3awWpDjPuLgX/VmqHcLm1XUUwK+KzUCe1Y9PZS5gJqOyBKgsKBmt2kd5/bz5J5qxSiatSIQ==","signatures":[{"sig":"MEUCIEAD6jctN/4/Bi0w4TirVG/y/dj1ddtF602ahUroDXoaAiEAkT6DTmW/Hel1xIHaTsBOUJnH27WSa4RIwjkcUoeMQLk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12441754},"main":"build/index.js","types":"./build/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"9e9199f63f66011f7131504bba09a403d849caca","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0fdc4828-3ca8-466f-a86c-ef1dead03327"}},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"11.10.0","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^24.0.0","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.4.0_1770976534587_0.7276041865812743","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@baruchiro/paperless-mcp","version":"0.4.1","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.4.1","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"ce05d787e02af8e81af85c05021194edeaefc1b4","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.4.1.tgz","fileCount":36,"integrity":"sha512-Zpv3Zx6+BmYMW3Jp5awRwZrlivO7xPERDXPGqt8RCNs2U0qZnvXzwHyJjt+2MkVh5anV404wBq62pSePNenR2A==","signatures":[{"sig":"MEQCICp0vpP0JBD7mkiFLtow5W5aZl87/nghB76QJd9btW2CAiA64sdL8xBZsvVxcPL3nN6c3inVkuqWh1dSpVUIzsfNuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12450719},"main":"build/index.js","types":"./build/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"5ad68b6b3ea80c7f5701968a177e74352645c7a4","scripts":{"test":"node --require ts-node/register --test src/**/*.test.ts","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0fdc4828-3ca8-466f-a86c-ef1dead03327"}},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"11.10.1","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^24.0.0","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.4.1_1771917675967_0.6954992881343163","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@baruchiro/paperless-mcp","version":"0.4.2","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.4.2","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"761111256aed7d68e043fd0182162b3735fd7e54","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.4.2.tgz","fileCount":37,"integrity":"sha512-SVE8me9bCy8uE2VtlXjJzf0vgghVc62gX9OBsJyGhB0101fjbajNqfL+FMMdmwGBNcT/aiGThHNPwaCHLa7fjQ==","signatures":[{"sig":"MEUCIQCF4u9rzlT8oPDtKJ3lB21Yruckyjh6mKUq96PE2WKHpwIgAdoEibS/w6Rzl5ekobWT/XZGIWuFDCdPNR/R/4sDWdw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12453794},"main":"build/index.js","engines":{"node":">=24.0.0"},"gitHead":"9f3e74f412b53f17fba5c1cfeb6b7800880cfff0","scripts":{"test":"node --require ts-node/register --test src/**/*.test.ts","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0fdc4828-3ca8-466f-a86c-ef1dead03327"}},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"11.12.1","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^24.0.0","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.4.2_1776249115624_0.16722094047787306","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@baruchiro/paperless-mcp","version":"0.4.3","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.4.3","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"5f7252b655985bae09d9aac442a5c106db205122","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.4.3.tgz","fileCount":36,"integrity":"sha512-iVmWO/0u/xUhuc8HixpBPglPmi+yNNEFyYs2AN5oCtz3Ofz0i80ckmYaU2RxBFAiunqUlHwGkriRIrGqHhRDyA==","signatures":[{"sig":"MEUCIQDcrvk03v0JAcXnRqOCZkPRBT8rgfjJadMPnnnbo52ZrQIgfZzI5lF3WkO214NDKk0/px9ePOVq6NIzYlRxKOCWCYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12451049},"main":"build/index.js","types":"./build/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"0ae1dec1d38feb63c8e9f40c376d9d86fb4b490b","scripts":{"test":"node --require ts-node/register --test src/**/*.test.ts","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0fdc4828-3ca8-466f-a86c-ef1dead03327"}},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"11.12.1","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^24.0.0","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.4.3_1776706840296_0.00025556423165773445","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@baruchiro/paperless-mcp","version":"0.4.4","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.4.4","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"6cdfb34609bfc052b6068faf8ad29034cf163f35","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.4.4.tgz","fileCount":36,"integrity":"sha512-fkF/mHHVzhwj+kY7+ehtDlfxqhA9r62IEGy3iesoRmO5fwwEvJbViREeMjC85m0y/2npdOoFM97wz83/ZbDNYw==","signatures":[{"sig":"MEUCICp0h8e08JLoeFbn0PKtVkyoPOXcimYXJJqS+Ne/cS52AiEAiaagSTGyevuiDeBwwS0C7YYFkCK8uHryb3sFltWI5tQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12451618},"main":"build/index.js","types":"./build/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"865803b7c5ae6e48b8e7f9b77e0b58e4fa3caaf8","scripts":{"test":"node --require ts-node/register --test src/**/*.test.ts","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0fdc4828-3ca8-466f-a86c-ef1dead03327"}},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"11.12.1","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^24.0.0","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.4.4_1776710943558_0.7410563036853881","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@baruchiro/paperless-mcp","version":"0.4.5","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.4.5","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"4350bf20eaf5124fa0afa44d6e407025e5002a99","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.4.5.tgz","fileCount":40,"integrity":"sha512-BWyl2pVG4Ozlv6ivYWCl12SpxqsJkyK4247C9nEn/BWjuj6NY0uHmtnRZhNPkusb7y6mFiGhOMgze6Ly1aADLw==","signatures":[{"sig":"MEUCICOTOTuHbQnhIZDUbNAKOYii5irwcVTPclQIrEitD3d1AiEAlbhwTKvqfQD6NGFVd3QEP3/3S6DyxmSXnnAtSV5hOJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12461846},"main":"build/index.js","types":"./build/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"2bdd77927e7070c7dc41643be233d7f7a465f696","scripts":{"test":"node --require ts-node/register --test src/**/*.test.ts","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0fdc4828-3ca8-466f-a86c-ef1dead03327"}},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^24.0.0","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.4.5_1777894099720_0.1993467290825024","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@baruchiro/paperless-mcp","version":"0.5.0","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.5.0","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"4465b0d5dd9e4a6c6ffe25bf3c6e5188d9e5cda5","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.5.0.tgz","fileCount":44,"integrity":"sha512-BKsvLkVxKuoOFnYRWDvtyrytqLYkE5e8Sy4QWn5vxhWAOCYlvxAthVUs1HLRa7Pp6DmYTPKnNbrGvoqMSKE8/A==","signatures":[{"sig":"MEYCIQDo23NsWArPQu6Jq//BIDb9RjjLaIEubLDjY0Ax4tiXdAIhAOWlxtnT5j8hNbP/j4pppNvcTHy8xkSKkKqmijcrgVoX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12480791},"main":"build/index.js","types":"./build/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"1500d2605cd1a0ac8bf959f2c2205b245171face","scripts":{"test":"node --require ts-node/register --test src/**/*.test.ts","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0fdc4828-3ca8-466f-a86c-ef1dead03327"}},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"11.14.1","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^24.0.0","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.5.0_1779086798055_0.2111335894633053","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@baruchiro/paperless-mcp","version":"0.5.1","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@0.5.1","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"1d809eddc806e8ae71209913539238be09ddd55d","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-0.5.1.tgz","fileCount":48,"integrity":"sha512-fhdA3v1dJV46HY3bXJeyhGh5DF/88krvI1WcuJ5DBD7DwT2dNMLUQsBono2Ikr7V/bPtfqrrFm43uIB/NoN1rA==","signatures":[{"sig":"MEQCICbaGykpel5Jpl8511vlh8Lj9D9xEdyHZDKJhMzaD3NCAiAmmIDdTP1txhWgIE35ejxhCeubTX7FLMYSc46x7AKd2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12489992},"main":"build/index.js","types":"./build/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"93aa90691dcdadca50fc601089382cf6098d295c","scripts":{"test":"node --require ts-node/register --test src/**/*.test.ts","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0fdc4828-3ca8-466f-a86c-ef1dead03327"}},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"11.15.0","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^24.0.0","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_0.5.1_1779600793380_0.14022160978178544","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@baruchiro/paperless-mcp","version":"1.0.0","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@1.0.0","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"7e78d20a3a36d19e501694231c88528a406f1f7c","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-1.0.0.tgz","fileCount":52,"integrity":"sha512-zoLbpTtMwa1yw1O2Xfwhvh9f5EA2TbXvU2NPrgGZHB/GFUj0t5PhdNd/6wxs94ugCvABF1UE8j4YN+91WMLfrw==","signatures":[{"sig":"MEQCID+sF7hv/mMKCaJRkMR0RHsaLyxHfV5xXTBYKp586eRLAiBZVelsdprIU8yufQZSXgG2vbAJ19wucxsCu8k4QXVKRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12522542},"main":"build/index.js","types":"./build/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"72b29a27bae3504d7068bbcbf5d34eed615f79be","scripts":{"test":"node --require ts-node/register --test src/**/*.test.ts","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack","test:e2e":"node --require ts-node/register --test e2e/e2e.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0fdc4828-3ca8-466f-a86c-ef1dead03327"}},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"11.15.0","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^24.0.0","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_1.0.0_1779893023746_0.5590289794779948","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@baruchiro/paperless-mcp","version":"2.0.0","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@2.0.0","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"6030b1b284aceaf8076d025e48b7aac3e9615113","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-2.0.0.tgz","fileCount":68,"integrity":"sha512-V3uPWr3uOItTvqyqfqjTi6brTVs6wX0r1eLL0ZBXbYuWaXJFoNICawrde3cXccmHeUSMG9het259bHFzrhwnxA==","signatures":[{"sig":"MEYCIQClYnVaEJU4h7oQpe4Tkmmp8QP76X+GQgtqA7RMNgVu3gIhAMLmxZSBWizy4H/ubQjXMfnmWMFRxGqWN+ac2AOdAp8e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12673164},"main":"build/index.js","types":"./build/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"78a5748ff6c5bf6a33f1c1c02d8f6f1703299238","scripts":{"test":"node --require ts-node/register --test src/**/*.test.ts","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack","test:e2e":"node --require ts-node/register --test e2e/e2e.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0fdc4828-3ca8-466f-a86c-ef1dead03327"}},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"12.0.1","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^24.0.0","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_2.0.0_1783840073813_0.041146678541611026","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@baruchiro/paperless-mcp","version":"2.0.1","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@2.0.1","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"58bd2008ef2d43bfd81e65b518d9c6b17629a38b","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-2.0.1.tgz","fileCount":68,"integrity":"sha512-Wz+ynIGevn+O00UdX0MVj0AbLoIQnqbZfP3fZCKHAMPEbXNphc88SGbczNIOUZM4KMgs2+0PHa/roAY24aedng==","signatures":[{"sig":"MEUCIAfJJZgq9MIbN/lbT4Cs56Ibt+QBC21SHRB/5vpJS0QtAiEA8VRXGtPrzIIYzkoLyiOlmDiLXqhoOSFs8IT+bxnwOdU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12675203},"main":"build/index.js","types":"./build/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"b66ac72cec4673704a245480921e95b05260ccd1","scripts":{"test":"node --require ts-node/register --test src/**/*.test.ts","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack","test:e2e":"node --require ts-node/register --test e2e/e2e.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0fdc4828-3ca8-466f-a86c-ef1dead03327"}},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"12.0.1","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^24.0.0","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_2.0.1_1784789291910_0.13941277162526644","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@baruchiro/paperless-mcp","version":"2.1.0","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@2.1.0","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"7e99fe002c1442346008ea1719ede7b34de2f547","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-2.1.0.tgz","fileCount":68,"integrity":"sha512-iWHw20A/2B6NQXxypKOmoYITi/bz6Vnq2c+kBnwiBXb2X+YEUDdeftJH/BtH1MFc+3IicE8v29uwCeDCSbY2sA==","signatures":[{"sig":"MEUCIQCxsvUtMnzAt1OCKHSNok+qHYraZTZ1iFgkxnrijCIqmAIgVcCxv1+r9l3xX+DbXNmQ/PzfF0zqrpsgB74H2a8c7rQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12690529},"main":"build/index.js","types":"./build/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"bc48896046f606183aea60bc9ff66839704cff8b","scripts":{"test":"node --require ts-node/register --test src/**/*.test.ts","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack","test:e2e":"node --require ts-node/register --test e2e/e2e.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0fdc4828-3ca8-466f-a86c-ef1dead03327"}},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"11.19.1","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^3.24.1","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^24.0.0","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_2.1.0_1788694403338_0.6346970036717567","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@baruchiro/paperless-mcp","version":"2.2.0","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","_id":"@baruchiro/paperless-mcp@2.2.0","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"bin":{"paperless-mcp":"build/index.js"},"dist":{"shasum":"175ad5fb24378dd096e2af45057464951bec2a3d","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-2.2.0.tgz","fileCount":72,"integrity":"sha512-2y1NZrrPod23XE9fSAIZFURo48q0E4iSBUEDoGANw+UryraEctDFXId2zAE2HLPZ6gqz08DcNdSPUwVPKiLYQA==","signatures":[{"sig":"MEUCIQD1dp2Sbr4Z6jNN92sR5EqtIOjnB5suUtdsScnwAOM60QIgPaKNKlzpJbc/R+lsaTYySLzYoa2KKb8IeXSOu5e+Uf0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14914948},"main":"build/index.js","types":"./build/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"ac8a0552229bb23b796c2915729b493a29a11241","scripts":{"test":"node --require ts-node/register --test src/**/*.test.ts","build":"tsc","start":"ts-node src/index.ts","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack","dxt-pack":"dxt pack","test:e2e":"node --require ts-node/register --test e2e/e2e.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0fdc4828-3ca8-466f-a86c-ef1dead03327"}},"repository":{"url":"git+https://github.com/baruchiro/paperless-mcp.git","type":"git"},"_npmVersion":"11.19.1","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"~4.4.3","axios":"^1.9.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^24.0.0","@types/express":"^5.0.2","@changesets/cli":"^2.29.4","@anthropic-ai/dxt":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/paperless-mcp_2.2.0_1788795312770_0.13463265173600192","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@baruchiro/paperless-mcp","version":"2.2.1","description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","main":"build/index.js","bin":{"paperless-mcp":"build/index.js"},"scripts":{"test":"node --require ts-node/register --test src/**/*.test.ts","test:e2e":"node --require ts-node/register --test e2e/e2e.test.ts","start":"ts-node src/index.ts","build":"tsc","dxt-pack":"dxt pack","inspect":"npm run build && npx -y @modelcontextprotocol/inspector node build/index.js","prepack":"npm run build && npm run dxt-pack"},"keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"author":{"name":"Baruch Odem"},"license":"ISC","engines":{"node":">=24.0.0"},"repository":{"type":"git","url":"git+https://github.com/baruchiro/paperless-mcp.git"},"homepage":"https://github.com/baruchiro/paperless-mcp","bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"dependencies":{"@modelcontextprotocol/sdk":"^1.30.0","axios":"^1.20.0","express":"^5.1.0","form-data":"^4.0.2","typescript":"^5.8.3","zod":"~4.4.3"},"devDependencies":{"@anthropic-ai/dxt":"^0.2.6","@changesets/cli":"^2.29.4","@types/express":"^5.0.2","@types/node":"^24.0.0","ts-node":"^10.9.2"},"gitHead":"5bbd6488119705d46b5850c239a655736c93bd2f","types":"./build/index.d.ts","_id":"@baruchiro/paperless-mcp@2.2.1","_nodeVersion":"24.20.0","_npmVersion":"11.19.1","dist":{"integrity":"sha512-0Z9RKOfr23Ex9h73iSLo/yDSkxinreBRR1Z0sdacsD+W9Rrz4E2F+0SHy7A9JgnDwqc9CKXaVq5Be+JpY/5+TQ==","shasum":"2b51852b78837452d5dc61b876825dcf2ffda107","tarball":"https://registry.npmjs.org/@baruchiro/paperless-mcp/-/paperless-mcp-2.2.1.tgz","fileCount":72,"unpackedSize":15109561,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baruchiro%2fpaperless-mcp@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCYhKNTC1UpeWXFocyKMlCXhES7qZ/GrPbKLMMvkRs57QIhAJWpDhEkVCG8SFryNdnx5265jXvqlYXQelT+EQtqEXrL"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0fdc4828-3ca8-466f-a86c-ef1dead03327"}},"directories":{},"maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/paperless-mcp_2.2.1_1789104868530_0.5090892234449904"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-18T14:21:43.965Z","modified":"2026-09-11T05:34:29.170Z","0.0.0-test1":"2025-05-18T14:21:44.279Z","0.0.0":"2025-05-18T14:55:30.348Z","0.0.1":"2025-05-20T05:22:33.401Z","0.0.2":"2025-05-20T16:31:05.902Z","0.0.3":"2025-07-30T15:11:03.245Z","0.1.0":"2025-08-10T06:19:28.959Z","0.2.0":"2025-08-13T08:23:12.267Z","0.2.1":"2025-11-11T18:35:32.937Z","0.2.2":"2025-11-25T19:43:43.795Z","0.3.0":"2026-01-20T06:40:26.069Z","0.4.0":"2026-02-13T09:55:35.060Z","0.4.1":"2026-02-24T07:21:16.635Z","0.4.2":"2026-04-15T10:31:56.103Z","0.4.3":"2026-04-20T17:40:40.946Z","0.4.4":"2026-04-20T18:49:04.040Z","0.4.5":"2026-05-04T11:28:20.212Z","0.5.0":"2026-05-18T06:46:38.573Z","0.5.1":"2026-05-24T05:33:13.703Z","1.0.0":"2026-05-27T14:43:44.029Z","2.0.0":"2026-07-12T07:07:54.170Z","2.0.1":"2026-07-23T06:48:12.214Z","2.1.0":"2026-09-06T11:33:23.655Z","2.2.0":"2026-09-07T15:35:13.105Z","2.2.1":"2026-09-11T05:34:28.869Z"},"bugs":{"url":"https://github.com/baruchiro/paperless-mcp/issues"},"author":{"name":"Baruch Odem"},"license":"ISC","homepage":"https://github.com/baruchiro/paperless-mcp","keywords":["mcp","paperless-ngx","document-management","ai","claude","model-context-protocol","paperless"],"repository":{"type":"git","url":"git+https://github.com/baruchiro/paperless-mcp.git"},"description":"Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.","maintainers":[{"name":"baruchiro","email":"baruchiro@gmail.com"}],"readme":"<!-- [![MseeP.ai Security Assessment Badge](https://mseep.net/pr/nloui-paperless-mcp-badge.png)](https://mseep.ai/app/nloui-paperless-mcp) -->\n\n# Paperless-NGX MCP Server\n\n![CodeRabbit Pull Request Reviews](https://img.shields.io/coderabbit/prs/github/baruchiro/paperless-mcp?utm_source=oss&utm_medium=github&utm_campaign=baruchiro%2Fpaperless-mcp&labelColor=171717&color=FF570A&link=https%3A%2F%2Fcoderabbit.ai&label=CodeRabbit+Reviews)\n\nAn MCP (Model Context Protocol) server for interacting with a Paperless-NGX API server. This server provides tools for managing documents, tags, correspondents, and document types in your Paperless-NGX instance.\n\n## Quick Start\n\n[![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/install-mcp?name=paperless&config=eyJjb21tYW5kIjoibnB4IC15IEBiYXJ1Y2hpcm8vcGFwZXJsZXNzLW1jcEBsYXRlc3QiLCJlbnYiOnsiUEFQRVJMRVNTX1VSTCI6Imh0dHA6Ly95b3VyLXBhcGVybGVzcy1pbnN0YW5jZTo4MDAwIiwiUEFQRVJMRVNTX0FQSV9LRVkiOiJ5b3VyLWFwaS10b2tlbiJ9fQ%3D%3D)\n\n### Installation\n\nAdd these to your MCP config file:\n\n// STDIO mode (recommended for local or CLI use)\n```json\n\"paperless\": {\n  \"command\": \"npx\",\n  \"args\": [\n    \"-y\",\n    \"@baruchiro/paperless-mcp@latest\",\n  ],\n  \"env\": {\n    \"PAPERLESS_URL\": \"http://your-paperless-instance:8000\",\n    \"PAPERLESS_API_KEY\": \"your-api-token\",\n    \"PAPERLESS_PUBLIC_URL\": \"https://your-public-domain.com\"\n  }\n}\n```\n\n// HTTP mode (recommended for Docker or remote use)\n```json\n\"paperless\": {\n  \"command\": \"docker\",\n  \"args\": [\n    \"run\",\n    \"-i\",\n    \"--rm\",\n    \"ghcr.io/baruchiro/paperless-mcp:latest\",\n  ],\n  \"env\": {\n    \"PAPERLESS_URL\": \"http://your-paperless-instance:8000\",\n    \"PAPERLESS_API_KEY\": \"your-api-token\",\n    \"PAPERLESS_PUBLIC_URL\": \"https://your-public-domain.com\"\n  }\n}\n```\n\n3. Get your API token:\n   1. Log into your Paperless-NGX instance\n   2. Click your username in the top right\n   3. Select \"My Profile\"\n   4. Click the circular arrow button to generate a new token\n\n4. Replace the placeholders in your MCP config:\n   - `http://your-paperless-instance:8000` with your Paperless-NGX URL\n   - `your-api-token` with the token you just generated\n   - `https://your-public-domain.com` with your public Paperless-NGX URL (optional, falls back to PAPERLESS_URL)\n\n### Environment Variables\n\n| Variable | Required | Default | Description |\n|---|---|---|---|\n| `PAPERLESS_URL` | Yes | — | Base URL of your Paperless-NGX instance |\n| `PAPERLESS_API_KEY` | Yes | — | API token from your Paperless-NGX profile |\n| `PAPERLESS_PUBLIC_URL` | No | `PAPERLESS_URL` | Public-facing URL for document links |\n| `PAPERLESS_API_VERSION` | No | `9` | Paperless-ngx REST API version. `9` works on Paperless-ngx v2.x (recent) and v3.x. Paperless-ngx v3.0.0 dropped support for versions below `9`, so older defaults now return HTTP 406. If you see HTTP 406 errors, set this to a version your server supports. |\n| `PAPERLESS_MCP_UPLOAD_PATHS` | No | — | Colon-separated list of allowed directories for `file_path` uploads. **Recommended for security.** Example: `/var/uploads:/tmp/scans` |\n\nThat's it! Now you can ask Claude to help you manage your Paperless-NGX documents.\n\n### Example Usage\n\nHere are some things you can ask Claude to do:\n\n- \"Show me all documents tagged as 'Invoice'\"\n- \"Search for documents containing 'tax return'\"\n- \"Create a new tag called 'Receipts' with color #FF0000\"\n- \"Download document #123\"\n- \"List all correspondents\"\n- \"Create a new document type called 'Bank Statement'\"\n\n## Available Tools\n\n### Document Operations\n\n#### list_documents\nGet a paginated list of documents with simple filters. Use this for straightforward listing tasks. For full-text queries, structured custom field filtering, or advanced Paperless filters, use `query_documents`.\n\nParameters:\n- page (optional): Page number\n- page_size (optional): Number of documents per page\n- search (optional): Simple Paperless search term\n- correspondent (optional): Correspondent ID\n- document_type (optional): Document type ID\n- tag (optional): Tag ID\n- storage_path (optional): Storage path ID\n- created__date__gte (optional): Created date on or after YYYY-MM-DD\n- created__date__lte (optional): Created date on or before YYYY-MM-DD\n- ordering (optional): Paperless ordering field\n- archive_serial_number (optional): Archive serial number\n- archive_serial_number__isnull (optional): Whether the archive serial number is empty\n- custom_field_query (optional): Raw JSON-encoded Paperless custom field query string\n- custom_fields__icontains (optional): Case-insensitive substring match across custom field values\n\n```typescript\nlist_documents({\n  page: 1,\n  page_size: 25\n})\n```\n\n#### query_documents\nCanonical document query tool. Supports full-text querying, simple Paperless search, custom field filters, and documented `/api/documents/` Paperless query parameters.\n\nParameters:\n- page (optional): Page number\n- page_size (optional): Number of documents per page\n- ordering (optional): Paperless ordering field\n- query (optional): Full-text query string\n- search (optional): Simple Paperless search term\n- more_like_id (optional): Find documents similar to this document ID\n- correspondent (optional): Correspondent ID\n- document_type (optional): Document type ID\n- tag (optional): Tag ID\n- storage_path (optional): Storage path ID\n- created__date__gte (optional): Created date on or after YYYY-MM-DD\n- created__date__lte (optional): Created date on or before YYYY-MM-DD\n- custom_field_query (optional): Structured Paperless custom field query using `[field_name_or_id, operator, value]` leaves or `[\"AND\" | \"OR\", [clause1, clause2]]` groups\n- paperless_filters (optional): Additional documented `/api/documents/` Paperless query parameters, passed as key/value pairs\n\n```typescript\n// Full-text query\nquery_documents({\n  query: \"invoice 2024\"\n})\n\n// Simple search term\nquery_documents({\n  search: \"acme\"\n})\n\n// Custom field exact match\nquery_documents({\n  custom_field_query: [\"Invoice Number\", \"exact\", \"12345\"]\n})\n\n// Custom field empty\nquery_documents({\n  custom_field_query: [\"OR\", [\n    [\"Invoice Number\", \"isnull\", true],\n    [\"Invoice Number\", \"exact\", \"\"]\n  ]]\n})\n\n// Custom field missing\nquery_documents({\n  custom_field_query: [\"Invoice Number\", \"exists\", false]\n})\n\n// Combined filters\nquery_documents({\n  query: \"invoice\",\n  tag: 5,\n  created__date__gte: \"2024-01-01\",\n  custom_field_query: [\"Invoice Number\", \"exists\", true]\n})\n\n// One documented Paperless filter that is not a first-class argument\nquery_documents({\n  paperless_filters: {\n    id__in: [101, 202, 303]\n  }\n})\n```\n\n#### get_document\nGet a specific document by ID.\n\nParameters:\n- id: Document ID\n\n```typescript\nget_document({\n  id: 123\n})\n```\n\n#### search_documents\nDeprecated compatibility wrapper for full-text search. Prefer `query_documents({ query: ... })` for new integrations.\n\nParameters:\n- query: Search query string\n\n```typescript\nsearch_documents({\n  query: \"invoice 2024\"\n})\n```\n\n#### download_document\nDownload a document file by ID.\n\nParameters:\n- id: Document ID\n- original (optional): If true, downloads original file instead of archived version\n\n```typescript\ndownload_document({\n  id: 123,\n  original: false\n})\n```\n\n#### get_document_thumbnail\nGet a document thumbnail (image preview) by ID. Returns the thumbnail as a base64-encoded WebP image resource.\n\nParameters:\n- id: Document ID\n\n```typescript\nget_document_thumbnail({\n  id: 123\n})\n```\n\n#### bulk_edit_documents\nPerform bulk operations on multiple documents.\n\nParameters:\n- documents: Array of document IDs\n- method: One of:\n  - set_correspondent: Set correspondent for documents\n  - set_document_type: Set document type for documents\n  - set_storage_path: Set storage path for documents\n  - add_tag: Add a tag to documents\n  - remove_tag: Remove a tag from documents\n  - modify_tags: Add and/or remove multiple tags\n  - delete: Delete documents\n  - reprocess: Reprocess documents\n  - set_permissions: Set document permissions\n  - merge: Merge multiple documents\n  - split: Split a document into multiple documents\n  - rotate: Rotate document pages\n  - delete_pages: Delete specific pages from a document\n- Additional parameters based on method:\n  - correspondent: ID for set_correspondent\n  - document_type: ID for set_document_type\n  - storage_path: ID for set_storage_path\n  - tag: ID for add_tag/remove_tag\n  - add_tags: Array of tag IDs for modify_tags\n  - remove_tags: Array of tag IDs for modify_tags\n  - set_permissions: Object for set_permissions with view/change users and groups (`{\"view\": {\"users\": [], \"groups\": []}, \"change\": {...}}`). Omitted actions/lists are left untouched\n  - owner: User ID (or null to remove) for set_permissions. Unless merge is true, omitting owner clears the current owner\n  - merge: Boolean for set_permissions — true adds to existing permissions and keeps the owner; false (default) replaces the listed users/groups\n  - metadata_document_id: ID for merge to specify metadata source\n  - delete_originals: Boolean for merge/split\n  - pages: String for split \"[1,2-3,4,5-7]\" or delete_pages \"[2,3,4]\"\n  - degrees: Number for rotate (90, 180, or 270)\n\nExamples:\n```typescript\n// Add a tag to multiple documents\nbulk_edit_documents({\n  documents: [1, 2, 3],\n  method: \"add_tag\",\n  tag: 5\n})\n\n// Set correspondent and document type\nbulk_edit_documents({\n  documents: [4, 5],\n  method: \"set_correspondent\",\n  correspondent: 2\n})\n\n// Merge documents\nbulk_edit_documents({\n  documents: [6, 7, 8],\n  method: \"merge\",\n  metadata_document_id: 6,\n  delete_originals: true\n})\n\n// Split document into parts\nbulk_edit_documents({\n  documents: [9],\n  method: \"split\",\n  pages: \"[1-2,3-4,5]\"\n})\n\n// Modify multiple tags at once\nbulk_edit_documents({\n  documents: [10, 11],\n  method: \"modify_tags\",\n  add_tags: [1, 2],\n  remove_tags: [3, 4]\n})\n\n// Modify custom fields\nbulk_edit_documents({\n  documents: [12, 13],\n  method: \"modify_custom_fields\",\n  add_custom_fields: [\n    { field: 2, value: \"year\" }\n  ],\n  remove_custom_fields: []\n})\n\n// Set an empty custom field value, e.g. a date field used as a pending marker\nbulk_edit_documents({\n  documents: [14],\n  method: \"modify_custom_fields\",\n  add_custom_fields: [\n    { field: 9, value: \"\" }\n  ],\n  remove_custom_fields: []\n})\n```\n\n#### post_document\nUpload a new document to Paperless-NGX.\n\n**Two upload modes:**\n\n1. **Base64 mode** (traditional): Provide `file` (base64-encoded content) + `filename`\n2. **Filesystem mode** (efficient): Provide `file_path` (absolute path on server)\n\n**Security Note:** When using `file_path`, set the `PAPERLESS_MCP_UPLOAD_PATHS` environment variable (colon-separated list of allowed directories) to restrict uploads to specific locations. Without this, any file on the server's filesystem could be uploaded.\n\nParameters:\n- file (optional): Base64 encoded file content. Either `file` or `file_path` required.\n- file_path (optional): Absolute path to file on server's filesystem. Either `file` or `file_path` required.\n- filename (optional): Name of the file. Required with `file`, optional with `file_path` (derives from path).\n- title (optional): Title for the document\n- created (optional): DateTime when the document was created (e.g. \"2024-01-19\" or \"2024-01-19 06:15:00+02:00\")\n- correspondent (optional): ID of a correspondent\n- document_type (optional): ID of a document type\n- storage_path (optional): ID of a storage path\n- tags (optional): Array of tag IDs\n- archive_serial_number (optional): Archive serial number\n- custom_fields (optional): Array of custom field IDs\n\n**File size limit:** 100MB for both modes\n\n```typescript\n// Base64 mode (traditional)\npost_document({\n  file: \"base64_encoded_content\",\n  filename: \"invoice.pdf\",\n  title: \"January Invoice\",\n  created: \"2024-01-19\",\n  correspondent: 1,\n  document_type: 2,\n  tags: [1, 3],\n  archive_serial_number: \"2024-001\",\n  custom_fields: [1, 2]\n})\n\n// Filesystem mode (more efficient for large files)\npost_document({\n  file_path: \"/var/uploads/invoice.pdf\",\n  title: \"January Invoice\",\n  correspondent: 1,\n  document_type: 2,\n  tags: [1, 3]\n})\n```\n\n### Document Notes\n\n#### list_document_notes\nList all notes attached to a document.\n\nParameters:\n- id: Document ID\n\n```typescript\nlist_document_notes({\n  id: 123\n})\n```\n\n#### create_document_note\nAdd a note to a document. Returns the document's full list of notes.\n\nParameters:\n- id: Document ID\n- note: The note text to add\n\n```typescript\ncreate_document_note({\n  id: 123,\n  note: \"Invoice paid on 2026-06-30 from Commerzbank account.\"\n})\n```\n\n#### delete_document_note\n⚠️ Delete a single note from a document by its note ID. This operation is irreversible.\n\nParameters:\n- id: Document ID\n- note_id: The ID of the note to delete\n- confirm: Must be `true` to confirm this destructive operation\n\n```typescript\ndelete_document_note({\n  id: 123,\n  note_id: 5,\n  confirm: true\n})\n```\n\n### Tag Operations\n\n#### list_tags\nGet all tags.\n\n```typescript\nlist_tags()\n```\n\n#### create_tag\nCreate a new tag.\n\nParameters:\n- name: Tag name\n- color (optional): Hex color code (e.g. \"#ff0000\")\n- match (optional): Text pattern to match\n- matching_algorithm (optional): Number between 0 and 6:\n  0 - None\n  1 - Any word\n  2 - All words\n  3 - Exact match\n  4 - Regular expression\n  5 - Fuzzy word\n  6 - Automatic\n\n```typescript\ncreate_tag({\n  name: \"Invoice\",\n  color: \"#ff0000\",\n  match: \"invoice\",\n  matching_algorithm: 5\n})\n```\n\n### Correspondent Operations\n\n#### list_correspondents\nGet all correspondents.\n\n```typescript\nlist_correspondents()\n```\n\n#### create_correspondent\nCreate a new correspondent.\n\nParameters:\n- name: Correspondent name\n- match (optional): Text pattern to match\n- matching_algorithm (optional): Number between 0 and 6:\n  0 - None\n  1 - Any word\n  2 - All words\n  3 - Exact match\n  4 - Regular expression\n  5 - Fuzzy word\n  6 - Automatic\n\n```typescript\ncreate_correspondent({\n  name: \"ACME Corp\",\n  match: \"ACME\",\n  matching_algorithm: 5\n})\n```\n\n### Document Type Operations\n\n#### list_document_types\nGet all document types.\n\n```typescript\nlist_document_types()\n```\n\n#### create_document_type\nCreate a new document type.\n\nParameters:\n- name: Document type name\n- match (optional): Text pattern to match\n- matching_algorithm (optional): Number between 0 and 6:\n  0 - None\n  1 - Any word\n  2 - All words\n  3 - Exact match\n  4 - Regular expression\n  5 - Fuzzy word\n  6 - Automatic\n\n```typescript\ncreate_document_type({\n  name: \"Invoice\",\n  match: \"invoice total amount due\",\n  matching_algorithm: 1\n})\n```\n\n### Custom Field Operations\n\n#### list_custom_fields\nGet all custom fields.\n\n```typescript\nlist_custom_fields()\n```\n\n#### get_custom_field\nGet a specific custom field by ID.\n\nParameters:\n- id: Custom field ID\n\n```typescript\nget_custom_field({\n  id: 1\n})\n```\n\n#### create_custom_field\nCreate a new custom field.\n\nParameters:\n- name: Custom field name\n- data_type: One of \"string\", \"url\", \"date\", \"boolean\", \"integer\", \"float\", \"monetary\", \"documentlink\", \"select\"\n- extra_data (optional): Extra data for the custom field, such as select options\n\n```typescript\ncreate_custom_field({\n  name: \"Invoice Number\",\n  data_type: \"string\"\n})\n```\n\n#### update_custom_field\nUpdate an existing custom field.\n\nParameters:\n- id: Custom field ID\n- name (optional): New custom field name\n- data_type (optional): New data type\n- extra_data (optional): Extra data for the custom field\n\n```typescript\nupdate_custom_field({\n  id: 1,\n  name: \"Updated Invoice Number\",\n  data_type: \"string\"\n})\n```\n\n#### delete_custom_field\nDelete a custom field.\n\nParameters:\n- id: Custom field ID\n\n```typescript\ndelete_custom_field({\n  id: 1\n})\n```\n\n#### bulk_edit_custom_fields\nPerform bulk operations on multiple custom fields.\n\nParameters:\n- custom_fields: Array of custom field IDs\n- operation: One of \"delete\"\n\n```typescript\nbulk_edit_custom_fields({\n  custom_fields: [1, 2, 3],\n  operation: \"delete\"\n})\n```\n\n### Mail Operations\n\nTools for managing Paperless mail accounts and the mail rules that drive\nautomatic email ingestion. Account passwords/tokens are never exposed: they are\nredacted from every tool response.\n\n#### list_mail_accounts\nList mail accounts so you can pick the account ID needed when creating a mail\nrule. Passwords are redacted.\n\nParameters:\n- page (optional): Page number\n- page_size (optional): Number of results per page\n\n```typescript\nlist_mail_accounts()\n```\n\n#### get_mail_account\nGet a single mail account by ID. Password/token fields are redacted.\n\nParameters:\n- id: Mail account ID\n\n```typescript\nget_mail_account({\n  id: 1\n})\n```\n\n#### process_mail_account\nManually trigger Paperless mail processing for one account. This can consume\nmatching mails according to the account's enabled mail rules.\n\nParameters:\n- id: Mail account ID\n\n```typescript\nprocess_mail_account({\n  id: 1\n})\n```\n\n#### list_mail_rules\nList mail rules with optional pagination.\n\nParameters:\n- page (optional): Page number\n- page_size (optional): Number of results per page\n\n```typescript\nlist_mail_rules()\n```\n\n#### get_mail_rule\nGet a single mail rule by ID.\n\nParameters:\n- id: Mail rule ID\n\n```typescript\nget_mail_rule({\n  id: 1\n})\n```\n\n#### create_mail_rule\nCreate a mail rule. Use `list_mail_accounts` first to choose the account.\n\nRequired parameters:\n- name: Rule name\n- account: Mail account ID\n- folder: IMAP folder to scan (e.g. \"INBOX\")\n\nCommon optional parameters:\n- enabled (default true): Whether the rule is active\n- filter_from / filter_to / filter_subject / filter_body: Match incoming mail\n- maximum_age: Only process mail newer than this many days\n- action: 1=Delete, 2=Move to folder, 3=Mark as read, 4=Flag, 5=Tag\n- action_parameter: Target folder/tag for the chosen action\n- assign_title_from: 1=Subject, 2=Attachment filename, 3=Do not assign\n- assign_tags / assign_correspondent / assign_document_type: Metadata to apply\n- assign_correspondent_from: 1=None, 2=Mail address, 3=Sender name, 4=Use assign_correspondent\n- attachment_type: 1=Attachments only, 2=All files incl. inline\n- consumption_scope: 1=Attachments only, 2=Full mail as .eml, 3=Both\n- pdf_layout: 0=System default, 1=Text+HTML, 2=HTML+text, 3=HTML only, 4=Text only\n\n```typescript\ncreate_mail_rule({\n  name: \"Invoices\",\n  account: 1,\n  folder: \"INBOX\",\n  filter_subject: \"invoice\",\n  action: 3,\n  attachment_type: 1\n})\n```\n\n#### update_mail_rule\nPatch an existing mail rule. Only the fields you supply are changed.\n\nParameters:\n- id: Mail rule ID\n- ...any of the `create_mail_rule` fields to update\n\n```typescript\nupdate_mail_rule({\n  id: 1,\n  enabled: false\n})\n```\n\n#### delete_mail_rule\nDelete a mail rule. Requires an explicit confirmation flag. This changes future\nmail ingestion behavior but does not delete any existing documents.\n\nParameters:\n- id: Mail rule ID\n- confirm: Must be `true` to confirm deletion\n\n```typescript\ndelete_mail_rule({\n  id: 1,\n  confirm: true\n})\n```\n\n## Error Handling\n\nThe server will show clear error messages if:\n- The Paperless-NGX URL or API token is incorrect\n- The Paperless-NGX server is unreachable\n- The requested operation fails\n- The provided parameters are invalid\n\n## Testing\n\n### Unit tests\n\nRun the unit test suite (no external dependencies required):\n\n```bash\nnpm test\n```\n\n### E2E tests\n\nThe E2E suite boots an empty Paperless-ngx instance, runs the compiled MCP server, and drives a deterministic serial scenario through `tools/call` requests — creating a tag, correspondent, and document type, uploading a PDF, then exercising list / get / search / download / thumbnail / bulk-edit on the same document. No LLM and no Paperless REST client outside MCP.\n\n**Prerequisites:** Docker, Docker Compose, and `jq`.\n\n```bash\n# 1. Build the MCP server\nnpm run build\n\n# 2. Start Paperless-ngx\ndocker compose -f docker-compose.e2e.yml up -d\n\n# 3. Wait for Paperless to be ready, then get a token\nTOKEN=$(curl -s -X POST http://localhost:8000/api/token/ \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"username\":\"admin\",\"password\":\"admin123\"}' | jq -r '.token')\n\n# 4. Start the MCP server\nnode build/index.js --http --port 3001 \\\n  --baseUrl http://localhost:8000 --token \"$TOKEN\" &\nMCP_PID=$!\n\n# 5. Run the E2E tests\nMCP_URL=http://localhost:3001/mcp \\\nPAPERLESS_URL=http://localhost:8000 \\\nPAPERLESS_TOKEN=\"$TOKEN\" \\\nnpm run test:e2e\n\n# 6. Cleanup\nkill \"$MCP_PID\"\ndocker compose -f docker-compose.e2e.yml down -v\n```\n\nE2E tests also run automatically in CI on every pull request and push to `main`, covering both the `build/index.js` CLI and the published Docker image.\n\n## Development\n\nWant to contribute or modify the server? Here's what you need to know:\n\n1. Clone the repository\n2. Install dependencies:\n```bash\nnpm install\n```\n\n3. Make your changes to server.js\n4. Test locally:\n```bash\nnode server.js http://localhost:8000 your-test-token\n```\n\nThe server is built with:\n- [litemcp](https://github.com/wong2/litemcp): A TypeScript framework for building MCP servers\n- [zod](https://github.com/colinhacks/zod): TypeScript-first schema validation\n\n## API Documentation\n\nThis MCP server implements endpoints from the Paperless-NGX REST API. For more details about the underlying API, see the [official documentation](https://docs.paperless-ngx.com/api/).\n\n## Running the MCP Server\n\nThe MCP server can be run in two modes:\n\n### 1. stdio (default)\n\nThis is the default mode. The server communicates over stdio, suitable for CLI and direct integrations.\n\n```\nnpm run start -- <baseUrl> <token>\n```\n\n### 2. HTTP (Streamable HTTP Transport)\n\nTo run the server as an HTTP service, use the `--http` flag. You can also specify the port with `--port` (default: 3000). This mode requires [Express](https://expressjs.com/) to be installed (it is included as a dependency).\n\n```\nnpm run start -- <baseUrl> <token> --http --port 3000\n```\n\n- The MCP API will be available at `POST /mcp` on the specified port.\n- Each request is handled statelessly, following the [StreamableHTTPServerTransport](https://github.com/modelcontextprotocol/typescript-sdk) pattern.\n- GET and DELETE requests to `/mcp` will return 405 Method Not Allowed.\n\n#### Per-request API token (HTTP/Docker mode)\n\nIn HTTP mode, clients authenticate by supplying a Paperless-NGX API token via the standard `Authorization` header:\n\n```\nAuthorization: Bearer <paperless-ngx-api-token>\n```\n\nThe token is passed straight through to Paperless-NGX, so each client's own Paperless permissions are enforced end-to-end. This lets a single server instance serve multiple users, each with their own token. The same behaviour applies to both `/mcp` and `/sse` endpoints.\n\n> **⚠️ Breaking change in v2.0.0 — HTTP mode is now authenticated by default.**\n>\n> Previously, a request with no `Authorization` header silently fell back to the server-configured `PAPERLESS_API_KEY`, which left the HTTP endpoint open to anyone who could reach the port. As of v2.0.0, requests without a `Bearer` token are rejected with `401 Unauthorized`. The server token is **never** used for unauthenticated requests unless you explicitly opt in with `--no-auth`.\n\n| Scenario | `--no-auth` off (default) | `--no-auth` on |\n|---|---|---|\n| Client sends `Authorization: Bearer <tok>` | `<tok>` (client-supplied) | `<tok>` (client-supplied) |\n| No header, `PAPERLESS_API_KEY` / `--token` set | `401 Unauthorized` | server token |\n| No header, no server token | `401 Unauthorized` | `401 Unauthorized` |\n\n**Migrating from v1.x:** if you relied on the old fallback (a single shared `PAPERLESS_API_KEY` with clients that don't send a token), you have two options:\n\n1. **Recommended:** have each client send `Authorization: Bearer <paperless-token>`.\n2. **Restore the old behaviour** (trusted/local networks only): start the server with the `--no-auth` flag, e.g. append it to the Docker `command`/args or your CLI invocation. This requires a server token (`PAPERLESS_API_KEY` or `--token`) to be configured.\n\n<details>\n<summary>Docker Deployment</summary>\n\nThe MCP server can be deployed using Docker and Docker Compose. The Docker image automatically runs in HTTP mode with SSE (Server-Sent Events) support on port 3000.\n\n### Docker Compose Configuration\n\nCreate a `docker-compose.yml` file:\n\n```yaml\nservices:\n  paperless-mcp:\n    container_name: paperless-mcp\n    image: ghcr.io/baruchiro/paperless-mcp:latest\n    environment:\n      - PAPERLESS_URL=http://your-paperless-ngx-server:8000\n      - PAPERLESS_API_KEY=your-paperless-api-key\n      - PAPERLESS_PUBLIC_URL=https://paperless-ngx.yourpublicurl.com\n    ports:\n      - \"3000:3000\"\n    restart: unless-stopped\n```\n\nThen run:\n```bash\ndocker-compose up -d\n```\n\n### Using with Continue VS Code Extension\n\nIf you're using the [Continue VS Code extension](https://continue.dev/), you can configure it to use the Dockerized MCP server via SSE.\n\nCreate or edit `.continue/mcpServers/paperless-mcp.yaml` at your workspace root:\n\n```yaml\nname: Paperless\nversion: 0.0.1\nschema: v1\nmcpServers:\n  - name: Paperless\n    type: sse\n    url: http://localhost:3000/sse\n```\n\n**Notes:**\n- Replace `localhost` with your Docker host's IP address or hostname if running on a remote server\n- The Docker container handles authentication via environment variables, so no credentials are needed in the Continue config\n- The SSE endpoint is available at `/sse` on the configured port (default: 3000)\n\n</details>\n\n# Credits\n\nThis project is a fork of [nloui/paperless-mcp](https://github.com/nloui/paperless-mcp). Many thanks to the original author for their work. Contributions and improvements may be returned upstream.\n\n## Debugging\n\nTo debug the MCP server in VS Code, use the following launch configuration:\n\n```json\n{\n    \"type\": \"node\",\n    \"request\": \"launch\",\n    \"name\": \"Debug Paperless MCP (HTTP, ts-node ESM)\",\n    \"program\": \"${workspaceFolder}/node_modules/ts-node/dist/bin.js\",\n    \"args\": [\n        \"--esm\",\n        \"src/index.ts\",\n        \"--http\",\n        \"--baseUrl\",\n        \"http://your-paperless-instance:8000\",\n        \"--token\",\n        \"your-api-token\",\n        \"--port\",\n        \"3002\"\n    ],\n    \"env\": {\n        \"NODE_OPTIONS\": \"--loader ts-node/esm\",\n    },\n    \"console\": \"integratedTerminal\",\n    \"skipFiles\": [\n        \"<node_internals>/**\"\n    ]\n}\n```\n\n**Important:** Before debugging, uncomment the following line in `src/index.ts` (around line 175):\n\n```typescript\n// await new Promise((resolve) => setTimeout(resolve, 1000000));\n```\n\nThis prevents the server from exiting immediately and allows you to set breakpoints and debug the code.\n","readmeFilename":"README.md"}