{"_id":"@expensebot/mcp-server-auth","_rev":"33-bddbc02e7867b42ea036ee8389732242","name":"@expensebot/mcp-server-auth","dist-tags":{"latest":"0.6.26"},"versions":{"0.1.0":{"name":"@expensebot/mcp-server-auth","version":"0.1.0","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.1.0","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"6e151615ac02a56acd510622efcaf6d5bb691490","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.1.0.tgz","fileCount":3,"integrity":"sha512-UZyqiAePHWfergjKFAS8+A8cPq60UI/Bd/jEQsZYfoheKEti8aYDhIcJTmSjcmBLWzOJmigCpLI9XiGxgBqdxQ==","signatures":[{"sig":"MEUCIHgum0fBiu5uOTJbCn1eZ2mLrvLHQvqsmnuWf+/NqENYAiEA9z/rOqvgy2mrjLd10B3MMAZeNbfR16+EiRz4N4KSPAM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16293},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"6c5aff144d6e40e65dd912aa0f07f0198fc81b0c","scripts":{"test":"node src/test.js","start":"node src/index.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"10.9.2","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.1.0_1775500362498_0.1924753788440292","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@expensebot/mcp-server-auth","version":"0.2.0","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.2.0","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"179d7623cd3315fb44dd3cf4a1ac8090f36ea7e5","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.2.0.tgz","fileCount":3,"integrity":"sha512-vkFTfqVT+C4RUzEon934wIP2HMGbW5W3RgrYn9kQWmK+e+qZZO3UlXIyawfLPANvDBPi1ksqVuEUNS5rh1NEWA==","signatures":[{"sig":"MEYCIQCmvizpTLGMViV1j2aqmdLjWrQ+K1556lGGdZu771p/7gIhAP+QQ3Fo9y8uMfqVxsrBelwuKF5+GotYvRdKSychMTS5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19475},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"692843e8a5957f0312363bf2abec05d375b0b374","scripts":{"test":"node src/test.js","start":"node src/index.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"10.9.2","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.2.0_1777567058385_0.9139383245043402","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@expensebot/mcp-server-auth","version":"0.3.0","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.3.0","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"e4c6586b1c0c1c6d7bb5fd6129c1ba7b7696e060","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.3.0.tgz","fileCount":3,"integrity":"sha512-uZZltZf/6HWKjOpEZ5b+KdfvhtvIh8GK3cNRiVmhbgQgRXB5k6fDxirtvzIVD0yXTcLeyjcf5AMKGbER2rrJ3A==","signatures":[{"sig":"MEUCIQD+BqLUp3D9E7qWVv3ivVfqKossn4hAs64BRimyrZpLQAIgcHbNDRTE0qP72le43UMsva+rMtix1wy8WhyTyY4HfZg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21803},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"3296b778270b7730244e882fa1927382b49d0a5f","scripts":{"test":"node src/test.js","start":"node src/index.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"10.9.2","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.3.0_1777567780196_0.9143520913145873","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@expensebot/mcp-server-auth","version":"0.3.1","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.3.1","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"3ed34efb06f0241422695d597e31b7736037ea93","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.3.1.tgz","fileCount":3,"integrity":"sha512-bo+P+JXpeigtK7SBs9rMM5Z5svGirHIuy1ihhuwWUvV8FWS9K/v3UfDPQU/gNb4fnCh1er8s2TSgil0EXLBIQQ==","signatures":[{"sig":"MEYCIQC89il0OmNlTcnCKY/woklnRaXAb/TZm2iKqvQxfNu2HQIhALlkVtTq7mTNYWiN5Buck8eaPUCImSZwU4Fv5+byGprs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21858},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"3372bef1a4b1128604e287afe8be57b9d809cb7c","mcpName":"io.github.totesmagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"10.9.2","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.3.1_1777569582904_0.8999803167944849","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@expensebot/mcp-server-auth","version":"0.3.2","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.3.2","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"410169864d14d28068943a178f330d7f9f8f6cc5","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.3.2.tgz","fileCount":3,"integrity":"sha512-nMY70KGejtlzjrHEbxIzYWA094gMJVelDfQ8U52YKTntCchubVs7JjBobgTz8GLKzcbBh6v6PAsGX3vbQXVnGA==","signatures":[{"sig":"MEYCIQDf44o7dyVvmYXY2JkaX8pD8NBa+m0ekJUI7rXbcOqgFgIhAPJWrlkOCkJh7uzEXxq8n1kOgQZTHeHqPa5HJ8Hx6bfj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21858},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"35d1a77f6f8490cb26f5b53e94e24cfc616869e9","mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"10.9.2","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.3.2_1777570998339_0.5055959576707298","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@expensebot/mcp-server-auth","version":"0.4.0","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.4.0","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"607e9ee269897cd56af2a8d49a1922005d90f19f","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.4.0.tgz","fileCount":3,"integrity":"sha512-kpdRl5jQfOanXukjEVGpO5ZvlbTv6uRUCOIEZUkQAhjMg09gXyluI8XTzado/Wu1et10lugDEgyrqaM0EFxlHg==","signatures":[{"sig":"MEQCIFuzp3A+r/Dvq2jzwS3khQ1uNlHrq6qtLX5VXKffzoT0AiB5zJbNVVFP/J3jNWw7ocbpilYqOGvfofuFkaUc0vIeTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25212},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"f0aaf6d691ed26228cae42ec5ae86f950a210e02","mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"10.9.2","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.4.0_1777572519742_0.13124377181766445","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@expensebot/mcp-server-auth","version":"0.5.0","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.5.0","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"35da98174eb90a86ab192ce09e6061390c81dfac","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.5.0.tgz","fileCount":3,"integrity":"sha512-UyknW/ZN56GDWNLNz7IM/BafIxNjH6QldDkWhLbvGwTqxbQJ1AQgNvXZ2Vxno6ycUhsyF3nnOfWr1gk/ibFX8g==","signatures":[{"sig":"MEQCICN2YI5Ep2Br52legCAEmvlzY+sl3LN3W5dWx/BL7KDzAiBkUNVFh4v9Qjtwf3rizYZeEaR8AMfb3fAwkTQMUqdK8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29641},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"01d672f5b5a87b7fe8ce1b25f7ef75683e0fc91c","mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.5.0_1777579226360_0.26206505581525685","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@expensebot/mcp-server-auth","version":"0.5.1","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.5.1","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"af425cd58cfc0a31c3f0ad0563ddb9435b1bc27e","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.5.1.tgz","fileCount":4,"integrity":"sha512-BzZeDg66WuQSRipTXPVdKoyfMFp4oG+woA/uuCLtCeeHLsR5S/4KRlyLw3/99YT7ALzwzd/w+kOPrKVAiTWiqQ==","signatures":[{"sig":"MEQCIBWvPCN/4X3kubDSiPjVVAojWrTf6negnVFHklOZ4eSnAiAekv2d3DFshjx4hT36svdFFAuSYmek4CMcXqMSTBLuvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33256},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"af7376ef10c051afb17ef90c30a0c697ada43797","mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.5.1_1778126003167_0.38200278225390116","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@expensebot/mcp-server-auth","version":"0.6.0","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.0","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"b4ac847f9cd2f98e784ac42e8fd85baaef864767","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.0.tgz","fileCount":8,"integrity":"sha512-2f9URzMiGDLUIYjF1jkhPA8ybMG2QdMSVFUdVvn1JcK79rCp2dWh5iVHWypazpdCKCteywJstYu+shsXYTYsnQ==","signatures":[{"sig":"MEUCIFRiId9U1l2Z1n3QDFpkTTJp3yHG2b6LKna5jJLQN6NzAiEAkhBRY8ZfZk/MhDNLUGe+2yHJJsi0oML3H7oNhtktSHM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68902},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"d0121b8b9cd7e4e138d1f88598afcba42177d07a","mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.0_1778131546136_0.07261102881409776","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@expensebot/mcp-server-auth","version":"0.6.1","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.1","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"153c6592a8f2ed5c663eb69ebca2abfcfbc4bd5f","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.1.tgz","fileCount":8,"integrity":"sha512-7nhgtatR2mgJ8HYP66SzT82DE2dk3CXRH8s6YQ13c1EjIsjpL8TMHg4SDG+qj366w6/pW5Ch1OTVDd0UQup9Bg==","signatures":[{"sig":"MEQCIC4Uqw3V8keybo358mV9zdNBD5LT3WpwRAwDcqMuv4LbAiBkDl8sXkL6gQZ+x7UCKhvrFzDpDfhBljfvuaVeF1sUkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74791},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"adf5f16a4435187b8efbf8d1b3ab54e04f42d42f","mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.1_1778154206185_0.3598437970068662","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@expensebot/mcp-server-auth","version":"0.6.2","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.2","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"eb2d0051ef8bac91e93e16f94054166e0ccce65b","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.2.tgz","fileCount":8,"integrity":"sha512-oXHip4LRmRJaU08JVyt1DRDCAiifVMYtIX7bAKGfMjSCniVjwdG6rWIfZu0sdKUaTPRWGNzyUkEj2JQJ0jKIoA==","signatures":[{"sig":"MEYCIQDcHyJD2+iK/gFirpPDzpxLiQkBI0cGxhQ1+jbDzz30wQIhAOq0w91FJ4qFe/C8qWMX+wtPdp/lE6ptHioYhN2th1V3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93963},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"195186e56342ad3581db8fdccab3fc4ff27b8991","mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.2_1785510638757_0.2869953775666081","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@expensebot/mcp-server-auth","version":"0.6.3","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.3","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"a9b690e8b134c21b6450be4602919689049f3df0","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.3.tgz","fileCount":8,"integrity":"sha512-r9B1YZvoJSb1GlshYzYYzowFG8gB/ivC/+Pzhqyv8VQoVGWHK54G238hHFeJi/c4hdi/1Z2yhTZ6Upku9ybUnQ==","signatures":[{"sig":"MEYCIQCtRedkAuOmcY/psh63L3ZGWdvLiRuC7TqriLkpZN2jAwIhALKJNuOcf1u6HxOYA6uFT/8C8eZdByw3TvjjXEyLyvOZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94531},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"9e7b0c17b58868d758d8737a942ddd1417f70774","mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.3_1785530386866_0.7065744871028972","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"@expensebot/mcp-server-auth","version":"0.6.4","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.4","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"282d9c49a5ae0e9c188cc9701a9f5f6d3dbd3e00","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.4.tgz","fileCount":7,"integrity":"sha512-9pIh3Ja5x9PrNJvgW5SYn9xfZbyu7UFZX8YRwX4Pd5RoVWXwjyiHz17Zt1whXJ85jtyxOkPhOy7J5pjIGIzhfw==","signatures":[{"sig":"MEQCIGE+FwuB1v46fgkl3701lZ0vNk0JCKkYBxoe4rP1GrE4AiAi5DsBqT6IkMHmw1HSPRtPJJJNKGCQBDCSSiO1MX3wJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94455},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.4_1785694112364_0.9511119590402335","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"@expensebot/mcp-server-auth","version":"0.6.5","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.5","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"3062c272ea19735fa10000632f1f5879b16f220b","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.5.tgz","fileCount":8,"integrity":"sha512-6C8tExe3JP5CcIAK/9Pkub803MwFG0m564zzPqCwH7ko1ApZbrb1bkHASvcgv2AAsCA7fznly7mlRAyZJiUQ4g==","signatures":[{"sig":"MEYCIQDFY6x1ieheh9YbLLgLMhR4o2sR7Mw+ASDlmSP/mWp+XgIhALMRBiO5c7hbVcrjJc7cCzgTyeuYGD0v9v/c0opySSKa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95615},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"9ea198ad80e3d6a4d1ec4fe05831e445ab028160","mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.5_1785861857822_0.7227674621573223","host":"s3://npm-registry-packages-npm-production"}},"0.6.6":{"name":"@expensebot/mcp-server-auth","version":"0.6.6","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.6","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"7525c58981e1670aced4dd37909f78a1f5ed09cb","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.6.tgz","fileCount":8,"integrity":"sha512-gA/YR4wZ7Sjm2+tbDbbjGaJbT3iCxlvwrUGTEPTxPgirLO/bcrViCWFA8bCiEIjtE0V2V+UU0kUuRABf7Ex18Q==","signatures":[{"sig":"MEYCIQDEDu2sTAK7PNmvtCIK90IkXTAa8AfCS+EqqALRb/0NKgIhAK1lJj22QVWy/8sD0iQloSTHNS0vHiMJk8zIORUwz6Qx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103159},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"d8d5efa24d001bbf51083408860efddbd7759efd","mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.6_1785969279399_0.6411908240746647","host":"s3://npm-registry-packages-npm-production"}},"0.6.7":{"name":"@expensebot/mcp-server-auth","version":"0.6.7","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.7","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"804c7d59212988f8381960c3baf8e50ae6e116da","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.7.tgz","fileCount":8,"integrity":"sha512-tpEjrPUx+r+X9zx9LP+i5zuk1jbhnRNzismDZL4ss2hyYrLspy8kIlnFiYFd0chVku0d1VJZ5dSlU1xhsZ+Gig==","signatures":[{"sig":"MEUCIQCRPYHNwzWcZ8eunW5XBfyYH12TBFJon1+4m3xc0pMRzQIgPimmr6+RmY7oQFzdxJiLIoEA7+eRBjODqhl/sGXM5iA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105396},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"fe365f5a259f4557f4679ac1fc5b0524a903e687","mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.7_1785970207746_0.3379365453612182","host":"s3://npm-registry-packages-npm-production"}},"0.6.8":{"name":"@expensebot/mcp-server-auth","version":"0.6.8","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.8","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"07cd54cd1f648aaeeb0c78cb06218b67bf0fdaaa","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.8.tgz","fileCount":7,"integrity":"sha512-ZP4vcQRmMBDL0Hcg1C1qAX7ckCCal8LelBkA/+FeMM/z33NjQ6xU9CqCS/kyEdLdUMLPsHpwAB2wUytY5majaA==","signatures":[{"sig":"MEQCIENjyR/97GHsAtdO8ay2vyouxWFUneEmHXGb282zsDqOAiBENP7Nyvw5zRUXOBPWbr59k73xUpSXl5crLWwOX3HuLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104810},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.8_1786022398647_0.70059212681388","host":"s3://npm-registry-packages-npm-production"}},"0.6.9":{"name":"@expensebot/mcp-server-auth","version":"0.6.9","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.9","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"c51bfb58a7c853b43752a4fb56a99191c57b8de3","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.9.tgz","fileCount":7,"integrity":"sha512-h6Kmlgr5KaCl6NaFqB0MWORJXRMaHJE40gmo7qouWC7O9hQWqCyIRDVyfZJX4Iw2a/b8XGCTXu6opynyAOxAjw==","signatures":[{"sig":"MEUCIQCXJQRd1awoSSFZhB6hFtiSO9mCRGnKExl1UM7r/ARiCgIgBNrmj4WxIbH2iQMAMPDEeBwCyLmlboEcGbRgoyXp4gI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106528},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.9_1786041048576_0.09469140673498266","host":"s3://npm-registry-packages-npm-production"}},"0.6.10":{"name":"@expensebot/mcp-server-auth","version":"0.6.10","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.10","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"5b757c6c7f64e7dbe1ddac1215715051b410818c","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.10.tgz","fileCount":7,"integrity":"sha512-ParL/ZW+laDxCLnWNPm0q/plyHs95uc4x6fEduemCjBg/XIeAD5SjVcvHn7A4GX4EFHapPM5UM3L+D3roSWdhg==","signatures":[{"sig":"MEYCIQDNcht8CLl/t+hBMYIUXttJGFJ6/+CO3OExDmb85uS9mQIhAPlbReglpYZMWFOh2h1PIMROF5yk5scMH5O+OSlvHmfp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116277},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.10_1786125236477_0.03869143600839364","host":"s3://npm-registry-packages-npm-production"}},"0.6.11":{"name":"@expensebot/mcp-server-auth","version":"0.6.11","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.11","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"820317854e41a9c451aee72458a7d666e2e912f2","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.11.tgz","fileCount":8,"integrity":"sha512-Mgg2/KQ8l0Y2qNjuPWeNjSvliKjSBmotEwUq5Dw6Xn3/oGnHNmKJ1jYqNzCJfCbApyYsuhhZLO84nJVWoKlLfQ==","signatures":[{"sig":"MEUCIQC0A5pRzT9kqJSHETmlS/x9v/Kmy9ZsW7Gux7EoKmLk+QIgXuSLAsdpYJkTKcNR9Fb+VTWGmOrCr3GRWZeu4g2dkFo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117505},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.11_1786127512049_0.0961443611919428","host":"s3://npm-registry-packages-npm-production"}},"0.6.12":{"name":"@expensebot/mcp-server-auth","version":"0.6.12","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.12","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"3bb67434c5d52e8b41e9e704e42c3ca5b0999317","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.12.tgz","fileCount":8,"integrity":"sha512-K00J5PcfbuXvlJWmd6TrjKbMp9o65S0zTbe3VL92m4YxRgFfALI6lDguTO9N0oO3n/bYsCZln2G/uFlY29kVPQ==","signatures":[{"sig":"MEUCIB7laH+nRvqrhTELSDRI0WG5tAdfZ57MQIwiiHXj2XamAiEAtV/dZQrET9BMybewqBzJXECo4lzNvTxlITmV+afk/k8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117826},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"7f944494395b14c75cc4758e3a7ff1db74bfedd6","mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.12_1786136709273_0.8982135961235929","host":"s3://npm-registry-packages-npm-production"}},"0.6.13":{"name":"@expensebot/mcp-server-auth","version":"0.6.13","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.13","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"e4c73019337801314f037098a04722388883260f","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.13.tgz","fileCount":8,"integrity":"sha512-1DQjCH4O8Oypr4/B+8iaB7ZFlYwNqGwy0cwEzPFTiqXZryde+Ot+u2LxUb0ivjJhICqExiU29veSCAssdedxdw==","signatures":[{"sig":"MEUCIALEXcIh34jqQ5B0q1R+fYG/b6hm1p/l3heDK/mcqrEbAiEAqVajeOQqAHFAJH6Wv5db3q7e3DTFemPGgqH/KjvIyu8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118298},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"6ce2c0d092dcacd6657f442989beeb46b540cee5","mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.13_1786144119897_0.8362147517584833","host":"s3://npm-registry-packages-npm-production"}},"0.6.16":{"name":"@expensebot/mcp-server-auth","version":"0.6.16","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.16","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"0896bec19c4ef0fffff7034aced7ecbc24062acb","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.16.tgz","fileCount":7,"integrity":"sha512-iWpdUfTA+Yn6hXiCjeZU3MhMyM7JdF8Qv0u5JszIdiOjOGJw/2B7XWo+FPnvQjc+yC5KdZv/hDEwxLDcZsccyg==","signatures":[{"sig":"MEYCIQD+EBO3hQGn29bN++JClt9/iJLts9Ewu667iYb9sMmVuAIhANwy/DWWOZQYzrBgw0QwSpxusX/6woEWHH3dmoCHuuN1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138912},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.16_1786339747265_0.5682655517169743","host":"s3://npm-registry-packages-npm-production"}},"0.6.17":{"name":"@expensebot/mcp-server-auth","version":"0.6.17","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.17","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"48515923692446182ceab7f1647abccf88d2e489","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.17.tgz","fileCount":7,"integrity":"sha512-s4jjhGZO420jBPOEKzxBc3QOWzUfSL7Klx2oSQ5pkEu2aPcG5MR+NpmJwqzoM3kBewy4jAewnpJz4EdntolOIA==","signatures":[{"sig":"MEUCIF6bA51j2M4glDyx5jrqJ6gFVqHW2o+kAPWpCQ15qzI1AiEAxbaWWmjqYEgMDi+evjC1A2qLHXjfa33YliM2UPOTuiQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146262},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"Authenticated MCP server for ExpenseBot — lets Claude Desktop, Cursor, and other AI assistants search your expenses, create reports, and analyze spending using your actual ExpenseBot data.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.17_1786379505949_0.6563443769317228","host":"s3://npm-registry-packages-npm-production"}},"0.6.18":{"name":"@expensebot/mcp-server-auth","version":"0.6.18","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","chatgpt","gemini","copilot","bookkeeping","accounting"],"author":{"name":"ExpenseBot"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.18","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"5ce3ca2ea70a402a4f7f1de7f426cd000dbc0ca1","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.18.tgz","fileCount":7,"integrity":"sha512-5quAxgKWuikmgZw4OFptBK4NOztWg9Ac10uYMHZi2bCUFVcXlcGnLwkxzfNQ3aguKM6JpIy3CoFG635PHeQ1Qg==","signatures":[{"sig":"MEUCIQDCfp7HXmHbAxSkjxz0307WlBbDNdTPRPISeDyCBXg8TwIgCYL1ORcJlH/WKW+urLCymY5n5+/aYc2w9lOcGKsuquE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148110},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_npmVersion":"11.3.0","description":"ExpenseBot MCP server for receipt and income capture, Gmail scans, spending analytics, and reviewed expense reports from AI assistants.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.18_1786545041166_0.3334271917913296","host":"s3://npm-registry-packages-npm-production"}},"0.6.19":{"name":"@expensebot/mcp-server-auth","version":"0.6.19","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","chatgpt","gemini","copilot","bookkeeping","accounting"],"author":{"url":"https://www.expensebot.ai","name":"ExpenseBot","email":"support@expensebot.ai"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.19","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"homepage":"https://www.expensebot.ai/mcp","bugs":{"url":"https://github.com/TotesMagotes/expensebot-mcp/issues"},"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"bc2e44e67d1dac8c0a09a7aa8bd41ff63d83af30","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.19.tgz","fileCount":8,"integrity":"sha512-W6wMMsaiUOltBKfFHDqom682dgJBnya+OT+RyekVWrnA4ryfFVq4mIf8FeU1cEGwWXNH/Enl0z9Rli1YD4NWIw==","signatures":[{"sig":"MEQCIQDPGC3repyg1QxV0ibVhBYbQua0n3fZ07e46VPZQsp3HQIfRbARBKUiWEJy5+KZKNDgiL+GbRqbuM6hl3AgDH1SZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149604},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"gitHead":"16a25e890fd95ef0608fe8a4c39c49fc488a0226","mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"repository":{"url":"git+https://github.com/TotesMagotes/expensebot-mcp.git","type":"git"},"_npmVersion":"11.3.0","description":"ExpenseBot MCP server for receipt and income capture, Gmail scans, spending analytics, and reviewed expense reports from AI assistants.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.19_1786558749418_0.43189990905173814","host":"s3://npm-registry-packages-npm-production"}},"0.6.20":{"name":"@expensebot/mcp-server-auth","version":"0.6.20","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","chatgpt","gemini","copilot","bookkeeping","accounting"],"author":{"url":"https://www.expensebot.ai","name":"ExpenseBot","email":"support@expensebot.ai"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.20","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"homepage":"https://www.expensebot.ai/mcp","bugs":{"url":"https://github.com/TotesMagotes/expensebot-mcp/issues"},"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"08bdf15ddc3013875895401d8e01f76c12111ece","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.20.tgz","fileCount":7,"integrity":"sha512-+aPsWoVEYyCdAlJhI11ki+ew9ZXeowL3691C3VTPtrw//CRbcP/LhSoXqaMjZz8Mcqxfu2JiJLlua+7v3cN6iQ==","signatures":[{"sig":"MEYCIQCan17VaLPaF6Lp1ExfY5GmZN3TZdAoM1BdVitRVKzFcwIhANzLuIazDQl3XE7o+03tOxYrG83sUin8YjBlzY+VHjyQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153568},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"repository":{"url":"git+https://github.com/TotesMagotes/expensebot-mcp.git","type":"git"},"_npmVersion":"11.3.0","description":"ExpenseBot MCP server for receipt and income capture, Gmail scans, spending analytics, and reviewed expense reports from AI assistants.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.20_1786586839205_0.5632171116010083","host":"s3://npm-registry-packages-npm-production"}},"0.6.21":{"name":"@expensebot/mcp-server-auth","version":"0.6.21","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","chatgpt","gemini","copilot","bookkeeping","accounting"],"author":{"url":"https://www.expensebot.ai","name":"ExpenseBot","email":"support@expensebot.ai"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.21","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"homepage":"https://www.expensebot.ai/mcp","bugs":{"url":"https://github.com/TotesMagotes/expensebot-mcp/issues"},"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"0dec8e47b841a7d568b468e0b106e73b437ac7bf","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.21.tgz","fileCount":7,"integrity":"sha512-6tRuAJ1sv0OPhUNLgu9dcyWwXO0OBzPnGbuvL1hHEax1zZAan5C+nUrMk6XUhZqfh/gF68WQVBB2Eazvp3Dnlg==","signatures":[{"sig":"MEUCIHz3U+KWcSVM9HpRMifewROuUssifYBlLGZ9dhphwOl+AiEA+KmjQS0eXr/f0euRTx6/o8BplsuMVHqrWqieOcv7MPo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154029},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"repository":{"url":"git+https://github.com/TotesMagotes/expensebot-mcp.git","type":"git"},"_npmVersion":"11.3.0","description":"ExpenseBot MCP server for receipt and income capture, Gmail scans, spending analytics, and reviewed expense reports from AI assistants.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.21_1786624073532_0.6027680419177901","host":"s3://npm-registry-packages-npm-production"}},"0.6.22":{"name":"@expensebot/mcp-server-auth","version":"0.6.22","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","chatgpt","gemini","copilot","bookkeeping","accounting"],"author":{"url":"https://www.expensebot.ai","name":"ExpenseBot","email":"support@expensebot.ai"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.22","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"homepage":"https://www.expensebot.ai/mcp","bugs":{"url":"https://github.com/TotesMagotes/expensebot-mcp/issues"},"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"e477ee3043bd425d5cf4c5894770dc0f3c34973d","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.22.tgz","fileCount":7,"integrity":"sha512-AzrsQ+W8WczsvVCmYuxYK9S5vfoNA6Jkdgf3SY24j+s6K3nWmjItCmYumcoAAP5uGOuBecf36Oc8DqUtDsLbdg==","signatures":[{"sig":"MEUCIQDc+ESAHTN0oN7APCRfGM0T7nZLAUkvSrLnHly2ccsgWAIgYLUbgLLHpoPHbAO/cmWij4JwgpXQoMj/K837y3eo9xA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158970},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"repository":{"url":"git+https://github.com/TotesMagotes/expensebot-mcp.git","type":"git"},"_npmVersion":"11.3.0","description":"ExpenseBot MCP server for receipt and income capture, Gmail scans, spending analytics, and reviewed expense reports from AI assistants.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.22_1786889187353_0.22205656064079005","host":"s3://npm-registry-packages-npm-production"}},"0.6.23":{"name":"@expensebot/mcp-server-auth","version":"0.6.23","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","chatgpt","gemini","copilot","bookkeeping","accounting"],"author":{"url":"https://www.expensebot.ai","name":"ExpenseBot","email":"support@expensebot.ai"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.23","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"homepage":"https://www.expensebot.ai/mcp","bugs":{"url":"https://github.com/TotesMagotes/expensebot-mcp/issues"},"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"23b48f7cb24d2df14c3bae7bb63d596cbcc6e302","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.23.tgz","fileCount":8,"integrity":"sha512-smdkgj1FHBSHJOK6S0Y2nDmEHJWUzPkl5e3bOItdxS6bu5PFjBu86wtXAJqG/NXsJxmPw/8SLPMvnfKqO+qayw==","signatures":[{"sig":"MEYCIQCW5dmutLeK9fqhdXzsbuIbmPp5N56aS1NChMqF/5fiKAIhALZNcj/rjZwBxUHEbBTldz0nF0HZD9yBdUacFQ26MpJp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHlrhp9jonu3qEVuc/7w9GGIF9eM2VtdM/VF4xcpY/DcAiBjMtCyDoHpkEUhAA0eZHUYUWCBXc89Q6OtN/JmBuFKEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214079},"main":"./src/index.js","type":"module","_from":"file:/tmp/expensebot-npm-artifacts-20260909-v2/expensebot-mcp-server-auth-0.6.23.tgz","engines":{"node":">=18"},"mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_resolved":"/tmp/expensebot-npm-artifacts-20260909-v2/expensebot-mcp-server-auth-0.6.23.tgz","_integrity":"sha512-smdkgj1FHBSHJOK6S0Y2nDmEHJWUzPkl5e3bOItdxS6bu5PFjBu86wtXAJqG/NXsJxmPw/8SLPMvnfKqO+qayw==","repository":{"url":"git+https://github.com/TotesMagotes/expensebot-mcp.git","type":"git"},"_npmVersion":"11.3.0","description":"ExpenseBot MCP server for receipt and income capture, Gmail scans, spending analytics, and reviewed expense reports from AI assistants.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.23_1788967547455_0.9203587731341079","host":"s3://npm-registry-packages-npm-production"}},"0.6.24":{"name":"@expensebot/mcp-server-auth","version":"0.6.24","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","chatgpt","gemini","copilot","bookkeeping","accounting"],"author":{"url":"https://www.expensebot.ai","name":"ExpenseBot","email":"support@expensebot.ai"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.24","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"homepage":"https://www.expensebot.ai/mcp","bugs":{"url":"https://github.com/TotesMagotes/expensebot-mcp/issues"},"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"813109ac822cfc2033ea299101ed9b0d6077771b","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.24.tgz","fileCount":8,"integrity":"sha512-hg3vaO58tqvXfLq4pCml2I4A3JIAsTRUYGUeauKOwk3688QZFuXfY2TtaHgE4nZZ2P/xm1E4v9LagMU0y5OBsg==","signatures":[{"sig":"MEQCIHviGidJNzT5xKaTlTinehm2AOMSNJ2EWlsWmy8UV7AZAiBk+yq6Vm5fCQr7lacjP5QHZ9Xa/csaGBjQixf7V+9bvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGGEWOI9YTxJ28o3vyqnxLTHMFhOfYDNJhZKgcHoIBV9AiEA7e3PlQXGzM8n0t2fm8K5v447/KJPxqOroeusGqLTUcQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214442},"main":"./src/index.js","type":"module","_from":"file:/tmp/expensebot-npm-artifacts-20260909-v4/expensebot-mcp-server-auth-0.6.24.tgz","engines":{"node":">=18"},"mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"_resolved":"/tmp/expensebot-npm-artifacts-20260909-v4/expensebot-mcp-server-auth-0.6.24.tgz","_integrity":"sha512-hg3vaO58tqvXfLq4pCml2I4A3JIAsTRUYGUeauKOwk3688QZFuXfY2TtaHgE4nZZ2P/xm1E4v9LagMU0y5OBsg==","repository":{"url":"git+https://github.com/TotesMagotes/expensebot-mcp.git","type":"git"},"_npmVersion":"11.3.0","description":"ExpenseBot MCP server for receipt and income capture, Gmail scans, spending analytics, and reviewed expense reports from AI assistants.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.24_1788968149783_0.9846254342965122","host":"s3://npm-registry-packages-npm-production"}},"0.6.25":{"name":"@expensebot/mcp-server-auth","version":"0.6.25","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","chatgpt","gemini","copilot","bookkeeping","accounting"],"author":{"url":"https://www.expensebot.ai","name":"ExpenseBot","email":"support@expensebot.ai"},"license":"MIT","_id":"@expensebot/mcp-server-auth@0.6.25","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"homepage":"https://www.expensebot.ai/mcp","bugs":{"url":"https://github.com/TotesMagotes/expensebot-mcp/issues"},"bin":{"expensebot-mcp-auth":"src/index.js"},"dist":{"shasum":"4945e77612716b638c263916f4a49256d0c19982","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.25.tgz","fileCount":8,"integrity":"sha512-PXpYFEx1trkutqG4hc6621j9hS9qqkbVWyMGGFDGRSddcDV14RHDlVy+05Ej3uUkFldxaF8w81fBUkOb4Q7Fgw==","signatures":[{"sig":"MEUCIDPytLvRm/7SfyLcMISFmZB0s0Z+Zgv/QyT/K+UddARlAiEA9r02C+0FGcTKAK00P2YdcopBtNYRZx/yMWF3mtIqrn0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDgJ4CjpSd/VztMCe9u5gTGDX/r4mld/m1YkiM5Inf+RgIgQsd1wPJqDUH9GAUdQmg77W60c9DNx+J2ms/P2k+tlsQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215064},"main":"./src/index.js","type":"module","engines":{"node":">=18"},"mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"_npmUser":{"name":"expensebot","email":"rob@expensebot.ai"},"repository":{"url":"git+https://github.com/TotesMagotes/expensebot-mcp.git","type":"git"},"_npmVersion":"11.3.0","description":"ExpenseBot MCP server for receipt and income capture, Gmail scans, spending analytics, and reviewed expense reports from AI assistants.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-auth_0.6.25_1788971603099_0.6844560353285762","host":"s3://npm-registry-packages-npm-production"}},"0.6.26":{"_id":"@expensebot/mcp-server-auth@0.6.26","bin":{"expensebot-mcp-auth":"src/index.js"},"bugs":{"url":"https://github.com/TotesMagotes/expensebot-mcp/issues"},"dist":{"shasum":"ea5c7cefdf9ae254ba7e55d9137161cdbb8c0513","tarball":"https://registry.npmjs.org/@expensebot/mcp-server-auth/-/mcp-server-auth-0.6.26.tgz","fileCount":8,"integrity":"sha512-y6D45sVJf9I3xCP7nbe/QK86B4OdfPh9UR+ZoqHV1QfWc373aFooC1MvU937owm4+V+9yQ6rwubDaS2ZZ1cVRA==","signatures":[{"sig":"MEUCIALmCr4yNwe6V5v+k2w4ynZaDrBBG8fCyvq3VKjMgKdcAiEA5DcUCgk/HR2wtZQQsYbsRPn9Sb/E8BR10crJeT1jJLo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFssUfGySJOkvpbOhOAfsde/VQEUMqxj1hgKR6iUQIQxAiEA4YCZ2gVqeXf8FfH+XIKCbzQdRyYL83vCQix7MREBbCo="}],"unpackedSize":249328},"main":"./src/index.js","name":"@expensebot/mcp-server-auth","type":"module","author":{"url":"https://www.expensebot.ai","name":"ExpenseBot","email":"support@expensebot.ai"},"engines":{"node":">=18"},"gitHead":"04f783b2413db03b90ceaaa5b57ccbbba7fc3c32","license":"MIT","mcpName":"io.github.TotesMagotes/mcp-server-auth","scripts":{"test":"node src/test.js","start":"node src/index.js","sync-check":"node scripts/sync-check.js","prepublishOnly":"node scripts/sync-check.js && node src/test.js","gen-descriptions":"node scripts/generate-descriptions-from-kb.js"},"version":"0.6.26","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"3e736db4-0a10-4788-b660-27d9e8cb54cd"}},"homepage":"https://www.expensebot.ai/mcp","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","chatgpt","gemini","copilot","bookkeeping","accounting"],"repository":{"url":"git+https://github.com/TotesMagotes/expensebot-mcp.git","type":"git"},"_npmVersion":"12.1.0","description":"ExpenseBot MCP server for receipt and income capture, Gmail scans, spending analytics, and reviewed expense reports from AI assistants.","directories":{},"maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"_nodeVersion":"22.23.2","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server-auth_0.6.26_1790749592137_0.9685815995057119"}}},"time":{"created":"2026-04-06T18:32:42.443Z","modified":"2026-09-30T06:26:32.567Z","0.1.0":"2026-04-06T18:32:42.639Z","0.2.0":"2026-04-30T16:37:38.529Z","0.3.0":"2026-04-30T16:49:40.329Z","0.3.1":"2026-04-30T17:19:43.059Z","0.3.2":"2026-04-30T17:43:18.481Z","0.4.0":"2026-04-30T18:08:39.874Z","0.5.0":"2026-04-30T20:00:26.493Z","0.5.1":"2026-05-07T03:53:23.316Z","0.6.0":"2026-05-07T05:25:46.283Z","0.6.1":"2026-05-07T11:43:26.328Z","0.6.2":"2026-07-31T15:10:38.895Z","0.6.3":"2026-07-31T20:39:46.998Z","0.6.4":"2026-08-02T18:08:32.486Z","0.6.5":"2026-08-04T16:44:17.967Z","0.6.6":"2026-08-05T22:34:39.568Z","0.6.7":"2026-08-05T22:50:07.892Z","0.6.8":"2026-08-06T13:19:58.801Z","0.6.9":"2026-08-06T18:30:48.729Z","0.6.10":"2026-08-07T17:53:56.650Z","0.6.11":"2026-08-07T18:31:52.186Z","0.6.12":"2026-08-07T21:05:09.468Z","0.6.13":"2026-08-07T23:08:40.055Z","0.6.16":"2026-08-10T05:29:07.413Z","0.6.17":"2026-08-10T16:31:46.087Z","0.6.18":"2026-08-12T14:30:41.324Z","0.6.19":"2026-08-12T18:19:09.589Z","0.6.20":"2026-08-13T02:07:19.377Z","0.6.21":"2026-08-13T12:27:53.688Z","0.6.22":"2026-08-16T14:06:27.506Z","0.6.23":"2026-09-09T15:25:47.541Z","0.6.24":"2026-09-09T15:35:49.872Z","0.6.25":"2026-09-09T16:33:23.186Z","0.6.26":"2026-09-30T06:26:32.221Z"},"bugs":{"url":"https://github.com/TotesMagotes/expensebot-mcp/issues"},"author":{"url":"https://www.expensebot.ai","name":"ExpenseBot","email":"support@expensebot.ai"},"license":"MIT","homepage":"https://www.expensebot.ai/mcp","keywords":["mcp","model-context-protocol","expensebot","expenses","receipts","ai","claude","chatgpt","gemini","copilot","bookkeeping","accounting"],"repository":{"url":"git+https://github.com/TotesMagotes/expensebot-mcp.git","type":"git"},"description":"ExpenseBot MCP server for receipt and income capture, Gmail scans, spending analytics, and reviewed expense reports from AI assistants.","maintainers":[{"name":"expensebot","email":"rob@expensebot.ai"}],"readme":"<p align=\"center\">\n  <a href=\"https://www.expensebot.ai/mcp\">\n    <img src=\"https://raw.githubusercontent.com/TotesMagotes/expensebot-mcp/main/assets/expensebot.png\" alt=\"ExpenseBot logo\" width=\"160\" height=\"160\">\n  </a>\n</p>\n\n# @expensebot/mcp-server-auth\n\nAuthenticated MCP (Model Context Protocol) server for [ExpenseBot](https://www.expensebot.ai). Lets Copilot, Gemini, Replit, Cursor, Claude Desktop, Claude Code, Continue, Cline, Windsurf, and other MCP-compatible assistants search receipts, submit photos and PDFs, scan Gmail, create reports, and analyze spending using your real ExpenseBot account.\n\n**Tools** across:\n- **Search & analytics** — `search_expenses`, `get_spending_summary`, `get_deep_analytics`, `list_categories`, `list_tags`, `list_income_categories`, `search_knowledge`\n- **Income & P&L** *(v0.6.0)* — `get_income_summary`, `get_pnl`, `get_per_tag_pnl`\n- **Mileage & Subscriptions** *(v0.6.1)* — `get_mileage_summary`, `get_subscription_audit`\n- **Receipt and expense capture** — `submit_receipt` (photo/PDF), `get_last_receipt_result`, `add_cash_expense` (including confirmed client advances), `add_mileage_entry`, `add_income`, `add_income_from_file` (screenshot/PDF, parse-preview-confirm), `add_income_from_csv` (CSV/TSV/text, parse-preview-confirm), `parse_expense`, `get_expense_by_id`, `update_expense`, `group_expenses`, `correct_expenses`, `get_spreadsheet_url`\n- **Gmail** — `scan_gmail`, `process_gmail_receipts`, `scan_gmail_years`, `get_scan_status`\n- **Reports & invoicing** — `create_report`, `list_reports`, `get_report_details`, `share_report`, `export_report`, `list_client_invoices`, `get_client_invoice`, `prepare_client_invoice`, `create_client_invoice`, `mark_client_invoice_paid`\n- **Expense review** — `get_expense_splits`, `get_monthly_books_review`, `get_credits_refunds`, `get_client_advance_balances`, `get_trip_suggestions` (read-only exact trip proposals; grouping still requires confirmation)\n- **Accounting destinations** — `get_accounting_integration_status`, `send_report_to_accounting`, `get_accounting_push_status`, `request_accounting_integration` (provider-neutral review/confirm/status contract plus a confirmed, deduplicated request for an unlisted package; agent-driven posting is currently enabled only for Zoho Books; QuickBooks Online, Xero, Wave, and FreeAgent (beta) are read-only status/push-status only until their canonical planning path is shared)\n- **Compliance & tax** — `check_compliance`, `fix_compliance`, `check_tax_deductibility`\n- **Activity, tracing & onboarding** — `get_recent_activity`, `trace_document`, `get_signup_link`, `get_pricing`, `check_feature`, `start_trial_link`\n- **Business what-if** — `whatif_afford`, `whatif_client`, `whatif_tax_setaside`\n\n### Expense identity contract\n\n`search_expenses` returns an `expenseId` for each update-eligible result. That\nvalue is the exact full Receipt ID stored in Column Q, including any\n`::driveFileId` suffix. Pass it unchanged to `update_expense`. Never substitute\na displayed date, a bare receipt-ID prefix, or a sheet row number: dates are\nnot identities, bare IDs can collide, and row numbers move when rows are\nprepended. `update_expense` refuses zero or multiple exact matches.\n\n**Period comparison** — All analytics tools (spending, income, P&L, per-tag P&L, mileage) accept YoY / MoM / QoQ / same-month-prev-year phrasing in the `query` field. Margin is rendered loss-aware (multiplier when expenses exceed revenue) so AI clients see \"expenses 5.4× revenue\" instead of \"-436.9% margin\".\n\n## Setup\n\n**Full step-by-step instructions for every supported client live at:**\n\n→ **<https://www.expensebot.ai/mcp>**\n\n### Quick start (Claude Desktop)\n\n1. Sign in and open [AI Assistant Tokens](https://www.expensebot.ai/process-info?openMcpTokens=true&source=npm) → Generate\n2. Copy the token (shown once)\n3. Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (Mac) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"expensebot\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@expensebot/mcp-server-auth\"],\n      \"env\": {\n        \"EXPENSEBOT_TOKEN\": \"YOUR_TOKEN_HERE\"\n      }\n    }\n  }\n}\n```\n\n4. Restart Claude Desktop\n\n### Quick start (Claude Code CLI)\n\n```bash\nclaude mcp add expensebot -- npx -y @expensebot/mcp-server-auth\n```\n\nStore `EXPENSEBOT_TOKEN` in Claude Code's environment or secret settings first. Do not put the token in the command or paste it into chat.\n\n### Quick start (Cursor)\n\nEdit `~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"expensebot\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@expensebot/mcp-server-auth\"],\n      \"env\": {\n        \"EXPENSEBOT_TOKEN\": \"YOUR_TOKEN_HERE\"\n      }\n    }\n  }\n}\n```\n\nThen in Cursor: Settings → Tools & Integrations → confirm the green dot next to **expensebot**.\n\n### Continue, Cline, Windsurf, custom clients\n\nUse `npx -y @expensebot/mcp-server-auth` in your client's MCP config and provide the token through its `EXPENSEBOT_TOKEN` environment or secret setting.\n\n### Remote/custom agents (including Viktor)\n\nIf the client supports remote HTTP MCP with OAuth, add:\n\n```text\nhttps://mcp.expensebot.ai/mcp\n```\n\nComplete ExpenseBot sign-in and consent in the browser. No personal token or manual OAuth client secret is needed. If the client supports only local/stdio MCP, use the npm setup above. Never email a token or paste it into an AI conversation.\n\nThis repository publishes both connection methods in `server.json`: the remote\nStreamable HTTP server for OAuth-capable clients and the npm stdio package for\nlocal clients. Host directories may expose either or both depending on their\ntransport and authentication support.\n\n## Token model\n\n- **Personal Access Tokens (PAT)** scoped to your ExpenseBot account\n- **Stays valid for as long as you use it** (a token unused for a year lapses), revokable instantly from Settings → AI Assistant Tokens\n- **Max 5 active tokens per user** — generate one per device/AI client\n- All actions audit-logged server-side\n- Tokens stored as SHA-256 hashes; CASA Tier 2 certified\n\n## Discovery\n\n- **Official MCP Registry** — active as\n  `io.github.TotesMagotes/mcp-server-auth`; version `0.6.26` is the current\n  listing with both npm stdio and remote Streamable HTTP transports\n- **awesome-mcp-servers** — Finance & Fintech section\n- **Glama** — <https://glama.ai/mcp/servers/TotesMagotes/expensebot>\n\n## Onboarding mode (no token)\n\nRunning without a token exposes 5 read-only tools that help new users discover ExpenseBot and sign up:\n- `get_signup_link` — returns ExpenseBot signup URL\n- `search_knowledge` — searches the public ExpenseBot knowledge base\n- `get_pricing` — returns current pricing for all plans *(v0.7.0)*\n- `check_feature` — answers \"does ExpenseBot support X?\" *(v0.7.0)*\n- `start_trial_link` — UTM-tagged signup URL *(v0.7.0)*\n\n```bash\nnpx @expensebot/mcp-server-auth\n# (no --token argument)\n```\n\nUseful for AI agents evaluating ExpenseBot before a user has an account.\n\n## Read-only docs server\n\nFor pure pre-sales discovery (no account, no token):\n\n```bash\nnpx @expensebot/mcp-server\n```\n\nExposes the ExpenseBot knowledge base, FAQ, and feature docs as MCP resources. Useful for AI agents answering \"does ExpenseBot support X?\" type questions.\n\n## Source / issues / support\n\n- Source: <https://github.com/TotesMagotes/expensebot/tree/master/mcp-server-auth>\n- Issues: email `support@expensebot.ai`\n- Complete setup chooser and remote/desktop instructions: <https://www.expensebot.ai/mcp#choose-connection>\n\n## Maintainer: adding or changing a tool\n\nThe stdio `TOOLS[]` catalog in `src/index.js` is the schema source of truth, but\nit is only one part of the release. A new MCP tool must also be registered in\nthe main app's shared action policy, and a deliberate decision must be made\nabout whether the same tool belongs in ExpenseBot's in-app chat.\n\nRequired workflow:\n\n1. Add the `TOOLS[]` definition and matching `handleTool()` case here.\n2. Run `npm run sync-check` and `npm test`; update the inventory and versioned\n   package metadata when publishing.\n3. Run `npm run sync-tools` from `mcp-server-remote/` and commit the generated\n   catalog.\n4. Register the backend action in `server/config/actionPolicy.js` and the tool\n   in `server/config/toolPolicy.js`, with explicit `mcp` and/or `chat`\n   `surfaces`.\n5. Verify remote `TOOL_TO_ACTION`, metadata/exclusions, main-route parity, and\n   policy coverage tests.\n6. For a chat-visible write, do not enable it until it has the durable\n   confirmation adapter and result probe required by the canonical contract.\n\nThe complete bidirectional checklist and deployment matrix are in\n`docs/architecture/mcp-and-chat-tool-surface.md`. In particular, changing the\nmain backend does not require republishing this npm package unless this\npackage's schema, local dispatch, or transport also changed.\n\n## Publishing this package\n\nReleases are automated through **GitHub Actions OIDC trusted publishing** — there\nis no long-lived npm token to manage.\n\n- Workflow: `.github/workflows/publish-mcp-server-auth.yml` (runs on Node 22, the\n  minimum an OIDC-capable npm needs).\n- Trigger: a push to `master` that changes `mcp-server-auth/package.json` (i.e. a\n  version bump), or a manual **Run workflow** (`workflow_dispatch`).\n- It runs `prepublishOnly` (`npm run sync-check` + `src/test.js`), then\n  `npm publish` authenticated via OIDC, which also attaches build provenance.\n- It is idempotent: if the version in `package.json` is already on npm it skips\n  the publish, so a manual run is a safe no-op dry run.\n\n**To cut a release:** bump `version` in `mcp-server-auth/package.json` on `master`.\nThe workflow publishes the new version automatically.\n\nTrusted publishing is configured on npm (package Settings -> Trusted Publisher:\nGitHub Actions, repo `TotesMagotes/expensebot`, workflow\n`publish-mcp-server-auth.yml`). Do not hand-publish with a personal token — npm is\nremoving direct-publish granular tokens in 2027, and OIDC is the supported path.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}