{"_id":"@berlm/expenseowl-authelia-mcp-server","_rev":"11-dbe6f17f37fc30bcf80b97f602b1b906","name":"@berlm/expenseowl-authelia-mcp-server","dist-tags":{"latest":"0.1.10"},"versions":{"0.1.0":{"name":"@berlm/expenseowl-authelia-mcp-server","version":"0.1.0","keywords":["mcp","authelia","expenseowl","model-context-protocol"],"author":"","license":"MIT","_id":"@berlm/expenseowl-authelia-mcp-server@0.1.0","maintainers":[{"name":"berlm","email":"dhruman.basketball@gmail.com"}],"homepage":"https://github.com/berlm/expenseowl-authelia-mcp-server#readme","bugs":{"url":"https://github.com/berlm/expenseowl-authelia-mcp-server/issues"},"bin":{"expenseowl-mcp-server":"dist/index.js"},"dist":{"shasum":"b82bdeaa3c0ba5e7001146897b9e24a576f0aa47","tarball":"https://registry.npmjs.org/@berlm/expenseowl-authelia-mcp-server/-/expenseowl-authelia-mcp-server-0.1.0.tgz","fileCount":15,"integrity":"sha512-vWUzivCUDTBw7rdzA8OF3SG+dMm8t8+QLF0Fzq4vZ270OUxZ7TF9doonvYvzODJHHBnBO2DdZ4WLkftPdJ1jBg==","signatures":[{"sig":"MEQCIGb+gsszoUO0WpqTgD7a9WzxoRuKpy8zXR7V/UraFYCyAiA3LooFICMNv13XAzOjzN5K1Efr6Dc4ckE4dAB5uS944g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71703},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"77faa2f16a39e1cc8e0c32352808d644e40e67fc","scripts":{"dev":"node --loader ts-node/esm src/index.ts","build":"tsc","watch":"tsc --watch","prepare":"npm run build"},"_npmUser":{"name":"berlm","email":"dhruman.basketball@gmail.com"},"repository":{"url":"git+https://github.com/berlm/expenseowl-authelia-mcp-server.git","type":"git"},"_npmVersion":"11.4.2","description":"MCP server for Authelia integration with ExpenseOwl","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^3.23.8","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/expenseowl-authelia-mcp-server_0.1.0_1761122121811_0.876192891006772","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@berlm/expenseowl-authelia-mcp-server","version":"0.1.1","keywords":["mcp","authelia","expenseowl","model-context-protocol"],"author":"","license":"MIT","_id":"@berlm/expenseowl-authelia-mcp-server@0.1.1","maintainers":[{"name":"berlm","email":"dhruman.basketball@gmail.com"}],"homepage":"https://github.com/berlm/expenseowl-authelia-mcp-server#readme","bugs":{"url":"https://github.com/berlm/expenseowl-authelia-mcp-server/issues"},"bin":{"expenseowl-mcp-server":"dist/index.js"},"dist":{"shasum":"374923c78c7c054a4d1beba8c0919481c7095530","tarball":"https://registry.npmjs.org/@berlm/expenseowl-authelia-mcp-server/-/expenseowl-authelia-mcp-server-0.1.1.tgz","fileCount":15,"integrity":"sha512-CzvPwfOtx5uWeMVVGWttRSA5UCusrxdUqv/fA4IDxaVCRpBPcAUIYFcF2LjTVkJH51UGv3NbuXVDdHsltuqSOA==","signatures":[{"sig":"MEUCIQDjlivkpb776VtxGxwOSc5ub07o48a0X8yI1+ziOWc/GgIgHqjfTZrK+on+8J1TSDuNbImSLeaQofqsv4dJoXy30Lw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72541},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"fbfb7ef12ad898b37d601ef1816e308443aa4a45","scripts":{"dev":"node --loader ts-node/esm src/index.ts","build":"tsc","watch":"tsc --watch","prepare":"npm run build"},"_npmUser":{"name":"berlm","email":"dhruman.basketball@gmail.com"},"repository":{"url":"git+https://github.com/berlm/expenseowl-authelia-mcp-server.git","type":"git"},"_npmVersion":"11.4.2","description":"MCP server for Authelia integration with ExpenseOwl","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^3.23.8","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/expenseowl-authelia-mcp-server_0.1.1_1761123396896_0.026960560345463902","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@berlm/expenseowl-authelia-mcp-server","version":"0.1.2","keywords":["mcp","authelia","expenseowl","model-context-protocol"],"author":"","license":"MIT","_id":"@berlm/expenseowl-authelia-mcp-server@0.1.2","maintainers":[{"name":"berlm","email":"dhruman.basketball@gmail.com"}],"homepage":"https://github.com/berlm/expenseowl-authelia-mcp-server#readme","bugs":{"url":"https://github.com/berlm/expenseowl-authelia-mcp-server/issues"},"bin":{"expenseowl-mcp-server":"dist/index.js"},"dist":{"shasum":"51ce8933d6b02158bd84a4899e1d755ffbd33076","tarball":"https://registry.npmjs.org/@berlm/expenseowl-authelia-mcp-server/-/expenseowl-authelia-mcp-server-0.1.2.tgz","fileCount":15,"integrity":"sha512-CJ6oLB9I6d7Ur3pGjISPhguqXjxizzMA6PdrAMKV2Yqq2MedU0D5xhTnGkrvHnTRq2S5/OyAUv+17dI/LxmBOg==","signatures":[{"sig":"MEUCIQCMD8EsP4WheF7vpj94EqPcXUnt5nXUUndRzHgzmt1t4wIgR03NBAUkZV1897VZvm2begbxbd7O+JRW4wCUbFmSPPQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76006},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"15d37443c23cd90ed0b84099446a7992daa0dd76","scripts":{"dev":"node --loader ts-node/esm src/index.ts","build":"tsc","watch":"tsc --watch","prepare":"npm run build"},"_npmUser":{"name":"berlm","email":"dhruman.basketball@gmail.com"},"repository":{"url":"git+https://github.com/berlm/expenseowl-authelia-mcp-server.git","type":"git"},"_npmVersion":"11.4.2","description":"MCP server for Authelia integration with ExpenseOwl","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^3.23.8","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/expenseowl-authelia-mcp-server_0.1.2_1761413159358_0.32738585114754426","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@berlm/expenseowl-authelia-mcp-server","version":"0.1.3","keywords":["mcp","authelia","expenseowl","model-context-protocol"],"author":"","license":"MIT","_id":"@berlm/expenseowl-authelia-mcp-server@0.1.3","maintainers":[{"name":"berlm","email":"dhruman.basketball@gmail.com"}],"homepage":"https://github.com/berlm/expenseowl-authelia-mcp-server#readme","bugs":{"url":"https://github.com/berlm/expenseowl-authelia-mcp-server/issues"},"bin":{"expenseowl-mcp-server":"dist/index.js"},"dist":{"shasum":"af181cedca442c7179e07ee9caa35b5bab6b4ae3","tarball":"https://registry.npmjs.org/@berlm/expenseowl-authelia-mcp-server/-/expenseowl-authelia-mcp-server-0.1.3.tgz","fileCount":15,"integrity":"sha512-7SE791stH76DqLtZKfmDZ6DzV7bh77XjTUzufcYEIS8NfmC9lEh8T52mGkDREDpZ7EwqJAGvcVmOiH2hEgG1bA==","signatures":[{"sig":"MEYCIQCJSH7q0mBke6TIILsc0j7LT6bi85qoF+2xs5e76ycy4AIhAMa5zYiptd//6ZTE7A/SVi+hqpMyKGztoH9Lc1Majspw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76422},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"66d6cfb4fed0028ca5ebf91eec6f9204c38218a2","scripts":{"dev":"node --loader ts-node/esm src/index.ts","build":"tsc","watch":"tsc --watch","prepare":"npm run build"},"_npmUser":{"name":"berlm","email":"dhruman.basketball@gmail.com"},"repository":{"url":"git+https://github.com/berlm/expenseowl-authelia-mcp-server.git","type":"git"},"_npmVersion":"11.4.2","description":"MCP server for Authelia integration with ExpenseOwl","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^3.23.8","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/expenseowl-authelia-mcp-server_0.1.3_1761415700136_0.6660468780097646","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@berlm/expenseowl-authelia-mcp-server","version":"0.1.4","keywords":["mcp","authelia","expenseowl","model-context-protocol"],"author":"","license":"MIT","_id":"@berlm/expenseowl-authelia-mcp-server@0.1.4","maintainers":[{"name":"berlm","email":"dhruman.basketball@gmail.com"}],"homepage":"https://github.com/berlm/expenseowl-authelia-mcp-server#readme","bugs":{"url":"https://github.com/berlm/expenseowl-authelia-mcp-server/issues"},"bin":{"expenseowl-mcp-server":"dist/index.js"},"dist":{"shasum":"102c10722e23dd827981c32c66d1eefa839cb2b9","tarball":"https://registry.npmjs.org/@berlm/expenseowl-authelia-mcp-server/-/expenseowl-authelia-mcp-server-0.1.4.tgz","fileCount":15,"integrity":"sha512-IqYXnlcRXlUn30xHZdjGTmXgrzfU7t9H7oZ8CzWkekkCgU9+nba7PxYNxQfbyr0GvVW7uaGtV7WKBkR1ntJSMA==","signatures":[{"sig":"MEYCIQCqegVgM6YnBB76yEue97mAaW67Zm70fbZakfBhWIxzZwIhAKnDIJ0kn6ALjfjKOuOdbLC/87rvmtjzK0nuF86sZrLG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72974},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"bcf1e2435619044719638e48dcd77f1f957e0bc3","scripts":{"dev":"node --loader ts-node/esm src/index.ts","build":"tsc","watch":"tsc --watch","prepare":"npm run build"},"_npmUser":{"name":"berlm","email":"dhruman.basketball@gmail.com"},"repository":{"url":"git+https://github.com/berlm/expenseowl-authelia-mcp-server.git","type":"git"},"_npmVersion":"11.4.2","description":"MCP server for Authelia integration with ExpenseOwl","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^3.23.8","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/expenseowl-authelia-mcp-server_0.1.4_1761458267101_0.9947370876010797","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@berlm/expenseowl-authelia-mcp-server","version":"0.1.5","keywords":["mcp","authelia","expenseowl","model-context-protocol"],"author":"","license":"MIT","_id":"@berlm/expenseowl-authelia-mcp-server@0.1.5","maintainers":[{"name":"berlm","email":"dhruman.basketball@gmail.com"}],"homepage":"https://github.com/berlm/expenseowl-authelia-mcp-server#readme","bugs":{"url":"https://github.com/berlm/expenseowl-authelia-mcp-server/issues"},"bin":{"expenseowl-mcp-server":"dist/index.js"},"dist":{"shasum":"77135ff50d87dc736e7424298bcbc29a22fb343e","tarball":"https://registry.npmjs.org/@berlm/expenseowl-authelia-mcp-server/-/expenseowl-authelia-mcp-server-0.1.5.tgz","fileCount":15,"integrity":"sha512-S/kjXF5nm1rxuJ8hjQMjWdcBvCxPKiZL1LrgOZzKSJbSShX7cSt9MicbxPxC4nUiJ35gYLMbVQXkM7tRq+Pq4g==","signatures":[{"sig":"MEUCIQCMrcsVzPcXXnp9gzfwKzcpXSE2/VdsTi5qMPyFvIgUrgIget8gIkNgSYyPSNvdqUmb+uv4khZhW7W8xnuDRNHbO7I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76426},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"48c1a8d4b8baa033b6623893a5892ef78fca589e","scripts":{"dev":"node --loader ts-node/esm src/index.ts","build":"tsc","watch":"tsc --watch","prepare":"npm run build"},"_npmUser":{"name":"berlm","email":"dhruman.basketball@gmail.com"},"repository":{"url":"git+https://github.com/berlm/expenseowl-authelia-mcp-server.git","type":"git"},"_npmVersion":"11.4.2","description":"MCP server for Authelia integration with ExpenseOwl","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^3.23.8","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/expenseowl-authelia-mcp-server_0.1.5_1761459182876_0.9758800562400141","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@berlm/expenseowl-authelia-mcp-server","version":"0.1.6","keywords":["mcp","authelia","expenseowl","model-context-protocol"],"author":"","license":"MIT","_id":"@berlm/expenseowl-authelia-mcp-server@0.1.6","maintainers":[{"name":"berlm","email":"dhruman.basketball@gmail.com"}],"homepage":"https://github.com/berlm/expenseowl-authelia-mcp-server#readme","bugs":{"url":"https://github.com/berlm/expenseowl-authelia-mcp-server/issues"},"bin":{"expenseowl-mcp-server":"dist/index.js"},"dist":{"shasum":"8a4e513098c6a0e799a2a2017e8a972b1b74b9d1","tarball":"https://registry.npmjs.org/@berlm/expenseowl-authelia-mcp-server/-/expenseowl-authelia-mcp-server-0.1.6.tgz","fileCount":15,"integrity":"sha512-bGS6sQcgjUlDy+pTffnUOOSVUK2nwJpKNa6NijmPafps2SZMainDz4wN/gQzLc2T/U4wA+l5p3QuH3CpOgAhbQ==","signatures":[{"sig":"MEQCIEvS6YR9WhofdKACzY49Y9aa476SLFlksCTBSFHfT/i1AiBdPJ2+9ik61yM58ZGLZBGspDKNGJWEYwRtnQ15z6Pw6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105603},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"48c1a8d4b8baa033b6623893a5892ef78fca589e","scripts":{"dev":"node --loader ts-node/esm src/index.ts","build":"tsc","watch":"tsc --watch","prepare":"npm run build"},"_npmUser":{"name":"berlm","email":"dhruman.basketball@gmail.com"},"repository":{"url":"git+https://github.com/berlm/expenseowl-authelia-mcp-server.git","type":"git"},"_npmVersion":"11.4.2","description":"MCP server for Authelia integration with ExpenseOwl","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^3.23.8","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/expenseowl-authelia-mcp-server_0.1.6_1761737629414_0.5736953935268614","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@berlm/expenseowl-authelia-mcp-server","version":"0.1.7","keywords":["mcp","authelia","expenseowl","model-context-protocol"],"author":"","license":"MIT","_id":"@berlm/expenseowl-authelia-mcp-server@0.1.7","maintainers":[{"name":"berlm","email":"dhruman.basketball@gmail.com"}],"homepage":"https://github.com/berlm/expenseowl-authelia-mcp-server#readme","bugs":{"url":"https://github.com/berlm/expenseowl-authelia-mcp-server/issues"},"bin":{"expenseowl-mcp-server":"dist/index.js"},"dist":{"shasum":"0c30697d09bed6b3b81bb7a5c22767fef369cc92","tarball":"https://registry.npmjs.org/@berlm/expenseowl-authelia-mcp-server/-/expenseowl-authelia-mcp-server-0.1.7.tgz","fileCount":15,"integrity":"sha512-WXqgFVZo99tt++KIlRWsRr2iO/2I3XsAkhHbWbYIv8QW5sRO5ZimFilbEO23ifDPMDgiUFPe6yegjy6NnKOOeA==","signatures":[{"sig":"MEQCIEgFCSBNY1Gl7qzDdKiTsNVoJQeWHRFPvORQzlF4XaK/AiByJMQ8SuJjMQ2ur7OADeDNyZf3XfEpnEkBf1W6kSCjvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110947},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"48c1a8d4b8baa033b6623893a5892ef78fca589e","scripts":{"dev":"node --loader ts-node/esm src/index.ts","build":"tsc","watch":"tsc --watch","prepare":"npm run build"},"_npmUser":{"name":"berlm","email":"dhruman.basketball@gmail.com"},"repository":{"url":"git+https://github.com/berlm/expenseowl-authelia-mcp-server.git","type":"git"},"_npmVersion":"11.4.2","description":"MCP server for Authelia integration with ExpenseOwl","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^3.23.8","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/expenseowl-authelia-mcp-server_0.1.7_1761739638099_0.9064867221148794","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@berlm/expenseowl-authelia-mcp-server","version":"0.1.8","keywords":["mcp","authelia","expenseowl","model-context-protocol"],"author":"","license":"MIT","_id":"@berlm/expenseowl-authelia-mcp-server@0.1.8","maintainers":[{"name":"berlm","email":"dhruman.basketball@gmail.com"}],"homepage":"https://github.com/berlm/expenseowl-authelia-mcp-server#readme","bugs":{"url":"https://github.com/berlm/expenseowl-authelia-mcp-server/issues"},"bin":{"expenseowl-mcp-server":"dist/index.js"},"dist":{"shasum":"528be77efaf29606c662daa5f13938e189f3cbe3","tarball":"https://registry.npmjs.org/@berlm/expenseowl-authelia-mcp-server/-/expenseowl-authelia-mcp-server-0.1.8.tgz","fileCount":15,"integrity":"sha512-jbhgsH2mkq7x0SXpnlhT27grZ17xTNn73sX3e6JTDqqpNQbjKWi2niu2DJsHSDnGNck2Zp9XAG9XNbn+KD8aDw==","signatures":[{"sig":"MEQCICw036zj09PWirmbk6Xu8JRKqPrhXwWCvunF6li2hBICAiAMi8A+d4xjbi8LsBLaoELq4BxXpSQGqarQqbqQAFfcVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110494},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"118186516a00e5e2c0363e2a9ec34cb14f5c84a7","scripts":{"dev":"node --loader ts-node/esm src/index.ts","build":"tsc","watch":"tsc --watch","prepare":"npm run build"},"_npmUser":{"name":"berlm","email":"dhruman.basketball@gmail.com"},"repository":{"url":"git+https://github.com/berlm/expenseowl-authelia-mcp-server.git","type":"git"},"_npmVersion":"11.4.2","description":"MCP server for Authelia integration with ExpenseOwl","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^3.23.8","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/expenseowl-authelia-mcp-server_0.1.8_1761756465118_0.30506293683862595","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@berlm/expenseowl-authelia-mcp-server","version":"0.1.9","keywords":["mcp","authelia","expenseowl","model-context-protocol"],"author":"","license":"MIT","_id":"@berlm/expenseowl-authelia-mcp-server@0.1.9","maintainers":[{"name":"berlm","email":"dhruman.basketball@gmail.com"}],"homepage":"https://github.com/berlm/expenseowl-authelia-mcp-server#readme","bugs":{"url":"https://github.com/berlm/expenseowl-authelia-mcp-server/issues"},"bin":{"expenseowl-mcp-server":"dist/index.js"},"dist":{"shasum":"ef6ad7a4bb93cdacc47811f3704e9c3f21ba6d38","tarball":"https://registry.npmjs.org/@berlm/expenseowl-authelia-mcp-server/-/expenseowl-authelia-mcp-server-0.1.9.tgz","fileCount":15,"integrity":"sha512-+WxElmV1ACdmGa7p/Mhj6OU4slQV9mTwr4vG03m48yWcpFY5RZlHG2+sNk3g3S92LcI4dNLXLkaAq8NSrt0Lqg==","signatures":[{"sig":"MEUCIDjZu+KXec5r6igt3LhXepyo4r0zt3qnE5Bnn50SUGZVAiEA2rNjom+t7UpL+bVG2TUJjl7kGPJ0JZ+WyBEIaclVsdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110559},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"118186516a00e5e2c0363e2a9ec34cb14f5c84a7","scripts":{"dev":"node --loader ts-node/esm src/index.ts","build":"tsc","watch":"tsc --watch","prepare":"npm run build"},"_npmUser":{"name":"berlm","email":"dhruman.basketball@gmail.com"},"repository":{"url":"git+https://github.com/berlm/expenseowl-authelia-mcp-server.git","type":"git"},"_npmVersion":"11.4.2","description":"MCP server for Authelia integration with ExpenseOwl","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^3.23.8","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/expenseowl-authelia-mcp-server_0.1.9_1761756669816_0.9001375118584354","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@berlm/expenseowl-authelia-mcp-server","version":"0.1.10","description":"MCP server for Authelia integration with ExpenseOwl","main":"dist/index.js","types":"dist/index.d.ts","type":"module","bin":{"expenseowl-mcp-server":"dist/index.js"},"scripts":{"build":"tsc","prepare":"npm run build","watch":"tsc --watch","dev":"node --loader ts-node/esm src/index.ts"},"keywords":["mcp","authelia","expenseowl","model-context-protocol"],"author":"","license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4","zod":"^3.23.8","zod-to-json-schema":"^3.23.5"},"devDependencies":{"@types/node":"^22.10.2","typescript":"^5.7.2"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/berlm/expenseowl-authelia-mcp-server.git"},"_id":"@berlm/expenseowl-authelia-mcp-server@0.1.10","gitHead":"118186516a00e5e2c0363e2a9ec34cb14f5c84a7","bugs":{"url":"https://github.com/berlm/expenseowl-authelia-mcp-server/issues"},"homepage":"https://github.com/berlm/expenseowl-authelia-mcp-server#readme","_nodeVersion":"22.17.1","_npmVersion":"11.4.2","dist":{"integrity":"sha512-XSnd80KtduVASlpms+3rRE2tGObxGCA1D+iGdyCHUj2ZefgFvNOBUqKqsj1XzYBLKGKkT66OWcpTaUn7um8vhQ==","shasum":"825b6ba7945d29c48b2527f3bf11cd2fa3403847","tarball":"https://registry.npmjs.org/@berlm/expenseowl-authelia-mcp-server/-/expenseowl-authelia-mcp-server-0.1.10.tgz","fileCount":15,"unpackedSize":110388,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAxqr/dR/tAcKIwqS5tQ0M4vd8duiM0vYLUmm6UfzXYWAiB/neadPMRPVwoPMAuLpr/sFzKiOahmWY0/f4aXrIUouA=="}]},"_npmUser":{"name":"berlm","email":"dhruman.basketball@gmail.com"},"directories":{},"maintainers":[{"name":"berlm","email":"dhruman.basketball@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/expenseowl-authelia-mcp-server_0.1.10_1761756986036_0.005338303608287465"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-22T08:35:21.717Z","modified":"2025-10-29T16:56:26.424Z","0.1.0":"2025-10-22T08:35:22.009Z","0.1.1":"2025-10-22T08:56:37.196Z","0.1.2":"2025-10-25T17:25:59.558Z","0.1.3":"2025-10-25T18:08:20.352Z","0.1.4":"2025-10-26T05:57:47.319Z","0.1.5":"2025-10-26T06:13:03.062Z","0.1.6":"2025-10-29T11:33:49.593Z","0.1.7":"2025-10-29T12:07:18.329Z","0.1.8":"2025-10-29T16:47:45.316Z","0.1.9":"2025-10-29T16:51:10.078Z","0.1.10":"2025-10-29T16:56:26.246Z"},"bugs":{"url":"https://github.com/berlm/expenseowl-authelia-mcp-server/issues"},"license":"MIT","homepage":"https://github.com/berlm/expenseowl-authelia-mcp-server#readme","keywords":["mcp","authelia","expenseowl","model-context-protocol"],"repository":{"type":"git","url":"git+https://github.com/berlm/expenseowl-authelia-mcp-server.git"},"description":"MCP server for Authelia integration with ExpenseOwl","maintainers":[{"name":"berlm","email":"dhruman.basketball@gmail.com"}],"readme":"# @berlm/expenseowl-authelia-mcp-server\n\nMCP (Model Context Protocol) server for ExpenseOwl API integration.\n\n## Overview\n\nThis package provides a Model Context Protocol server that exposes ExpenseOwl's REST API as MCP tools. It includes 16 tools for managing expenses, recurring expenses, categories, and configuration.\n\n## Installation\n\n```bash\nnpm install @berlm/expenseowl-authelia-mcp-server\n```\n\n## Environment Variables\n\nBefore running the server, you must configure these environment variables:\n\n- `EXPENSEOWL_API_URL` - Base URL for your ExpenseOwl API (e.g., `http://localhost:8080`)\n- `EXPENSEOWL_USERNAME` - Username for HTTP Basic Authentication\n- `EXPENSEOWL_PASSWORD` - Password for HTTP Basic Authentication\n\nExample `.env` file:\n\n```bash\nEXPENSEOWL_API_URL=http://localhost:8080\nEXPENSEOWL_USERNAME=admin\nEXPENSEOWL_PASSWORD=secret\n```\n\n## Development\n\n### Setup\n\n```bash\nnpm install\n```\n\n### Build\n\n```bash\nnpm run build\n```\n\n### Watch Mode\n\n```bash\nnpm run watch\n```\n\n## Usage\n\nThe MCP server runs on stdio and can be integrated with MCP-compatible applications.\n\n### MCP Configuration\n\nAdd to your MCP settings (e.g., in Claude Desktop or other MCP clients):\n\n```json\n{\n  \"mcpServers\": {\n    \"expenseowl\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/@berlm/expenseowl-authelia-mcp-server/dist/index.js\"],\n      \"env\": {\n        \"EXPENSEOWL_API_URL\": \"http://localhost:8080\",\n        \"EXPENSEOWL_USERNAME\": \"admin\",\n        \"EXPENSEOWL_PASSWORD\": \"secret\"\n      }\n    }\n  }\n}\n```\n\n## Available Tools\n\n### Configuration Tools (7)\n\n1. **get_config** - Get the full ExpenseOwl configuration\n\n   - Returns: categories, base currency, billing cycle start day, and recurring expenses\n\n2. **get_categories** - Get the list of all expense categories\n\n   - Returns: Array of category names\n\n3. **update_categories** - Replace the entire list of expense categories\n\n   - Input: `{ categories: string[] }`\n   - Note: Each category is sanitized server-side\n\n4. **get_currency** - Get the base currency code\n\n   - Returns: Currency code (e.g., \"usd\", \"eur\", \"gbp\")\n\n5. **update_currency** - Set the base currency code\n\n   - Input: `{ currency: string }`\n   - Supported currencies: usd, eur, gbp, jpy, cny, krw, inr, rub, brl, zar, aed, aud, cad, chf, hkd, bdt, sgd, thb, try, mxn, php, pln, sek, nzd, dkk, idr, ils, vnd, myr, mad\n\n6. **get_start_date** - Get the billing cycle start day\n\n   - Returns: Integer (1-31)\n\n7. **update_start_date** - Set the billing cycle start day\n   - Input: `{ startDate: number }` (must be 1-31)\n\n### Expense Tools (5)\n\n8. **create_expense** - Create a new expense\n\n   - Input:\n     ```json\n     {\n       \"name\": \"Lunch\",\n       \"category\": \"Food\",\n       \"amount\": 12.5,\n       \"currency\": \"usd\",\n       \"date\": \"2025-10-22T12:30:00Z\",\n       \"tags\": [\"office\", \"takeout\"]\n     }\n     ```\n   - Validation: `name` and `category` required, `amount` cannot be zero, `date` required in RFC3339 format\n\n9. **get_expenses** - Get all expenses\n\n   - Returns: Array of expense objects\n\n10. **update_expense** - Update an existing expense\n\n    - Input: `{ id: string, expense: Expense }`\n\n11. **delete_expense** - Delete a single expense\n\n    - Input: `{ id: string }`\n\n12. **delete_expenses_batch** - Delete multiple expenses\n    - Input: `{ ids: string[] }`\n\n### Recurring Expense Tools (4)\n\n13. **create_recurring_expense** - Create a recurring expense\n\n    - Input:\n      ```json\n      {\n        \"name\": \"Gym Membership\",\n        \"amount\": 30.0,\n        \"currency\": \"usd\",\n        \"category\": \"Healthcare\",\n        \"tags\": [\"fitness\"],\n        \"startDate\": \"2025-11-01T00:00:00Z\",\n        \"interval\": \"monthly\",\n        \"occurrences\": 12\n      }\n      ```\n    - Validation: `occurrences` must be ≥ 2, `interval` must be one of: daily, weekly, monthly, yearly\n\n14. **get_recurring_expenses** - Get all recurring expenses\n\n    - Returns: Array of recurring expense objects\n\n15. **update_recurring_expense** - Update a recurring expense\n\n    - Input: `{ id: string, updateAll: boolean, recurringExpense: RecurringExpense }`\n    - `updateAll`: if true, also updates all expenses generated from this recurring expense\n\n16. **delete_recurring_expense** - Delete a recurring expense\n    - Input: `{ id: string, removeAll: boolean }`\n    - `removeAll`: if true, also deletes all expenses generated from this recurring expense\n\n## Data Models\n\n### Expense\n\n```typescript\n{\n  id?: string;\n  recurringID?: string;\n  name: string;\n  tags?: string[];\n  category: string;\n  amount: number;  // Cannot be zero\n  currency: string;\n  date: string;    // RFC3339 format\n}\n```\n\n### RecurringExpense\n\n```typescript\n{\n  id?: string;\n  name: string;\n  amount: number;\n  currency: string;\n  tags?: string[];\n  category: string;\n  startDate: string;  // RFC3339 format\n  interval: \"daily\" | \"weekly\" | \"monthly\" | \"yearly\";\n  occurrences: number;  // Minimum 2\n}\n```\n\n### Config\n\n```typescript\n{\n  categories: string[];\n  currency: string;\n  startDate: number;  // 1-31\n  recurringExpenses: RecurringExpense[];\n}\n```\n\n## Validation Rules\n\nAll validation is performed both client-side (via Zod schemas) and server-side:\n\n- **Names and Categories**: Must be non-empty after sanitization. Sanitization strips disallowed characters and collapses whitespace. Allowed chars: letters, numbers, spaces, and `.,-'_!\"`.\n- **Amounts**: Must be non-zero.\n- **Dates**: Must be provided in RFC3339 format (e.g., `2025-10-22T12:34:56Z`).\n- **Tags**: Empty tags are dropped after sanitization.\n- **Recurring Occurrences**: Must be at least 2.\n- **Intervals**: Must be one of: `daily`, `weekly`, `monthly`, `yearly`.\n\n## Error Handling\n\nAll errors from the ExpenseOwl API are passed through directly to the MCP client. Common errors:\n\n- **400 Bad Request**: Validation failed or invalid request body\n- **405 Method Not Allowed**: Wrong HTTP method\n- **500 Internal Server Error**: Backend/storage failure\n\nError responses follow this format:\n\n```json\n{\n  \"error\": \"human readable message\"\n}\n```\n\n## Publishing\n\n```bash\nnpm publish\n```\n\nNote: Make sure you're logged in to npm (`npm login`) and have the necessary permissions to publish scoped packages.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}