{"_id":"@merill/lokka","_rev":"15-459421f4d11f6de0bf8a280353bfd0c0","name":"@merill/lokka","dist-tags":{"latest":"2.1.2"},"versions":{"0.1.0":{"name":"@merill/lokka","version":"0.1.0","_id":"@merill/lokka@0.1.0","maintainers":[{"name":"merill","email":"merill@merill.net"}],"bin":{"lokka":"build/index.js"},"dist":{"shasum":"1e5bade3eb8487b81c22be0e6d67ca91fc59638f","tarball":"https://registry.npmjs.org/@merill/lokka/-/lokka-0.1.0.tgz","fileCount":5,"integrity":"sha512-QHyZJ7CSCRLueafeptGjlE848ueP530DS20ZY8s5Tr/nczeIY4AKK5Ljsv37RCu1m+6qqdtkjcrtP/5xFw4iMQ==","signatures":[{"sig":"MEUCIQDwFHZnFG+98zhzssmbRahvdo7Qj3gX6IWTAoYmRIHWegIgcySs96DU2AvF8hpX4W4pqOJi57ByUIzInh7usY+xp5s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15739},"main":"index.js","type":"module","gitHead":"c87d2dccf47a34a7b6c8b25c77d882bc4316d045","scripts":{"build":"tsc && chmod 755 build/index.js"},"_npmUser":{"name":"merill","email":"merill@merill.net"},"_npmVersion":"10.9.0","description":"Lokka is an Model Context Protocol (MCP) server for Microsoft Graph.","directories":{},"_nodeVersion":"22.10.0","dependencies":{"zod":"^3.24.2","@azure/msal-node":"^3.3.0","@modelcontextprotocol/sdk":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.2","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/lokka_0.1.0_1742159711773_0.007665640071568003","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@merill/lokka","version":"0.1.1","author":{"name":"Merill"},"license":"MIT","_id":"@merill/lokka@0.1.1","maintainers":[{"name":"merill","email":"merill@merill.net"}],"homepage":"https://lokka.dev","bugs":{"url":"https://github.com/merill/lokka/issues"},"bin":{"lokka":"build/main.js"},"dist":{"shasum":"39408769f95e15b2df073946df2cd2d2086ff323","tarball":"https://registry.npmjs.org/@merill/lokka/-/lokka-0.1.1.tgz","fileCount":5,"integrity":"sha512-cWgVUbakhq7AT/1KVlSSeryWRC7/5KayU1/S3TUeD2TImBXDH38XmWdlXMXadtEdvb7I5WVyIvsj+B3M+fxBog==","signatures":[{"sig":"MEUCIEFCroAVLUxhPwh3LG3wByMwehAfGVZisA+XEuzho4agAiEAnZV/cn2q9VY5qY3Fhy6FxYrEe2cclzXsUnRryxq6uGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14206},"main":"index.js","type":"module","gitHead":"7911ff88a15ebcd5c2c67f7e188f5951a7b503e2","scripts":{"build":"tsc && chmod 755 build/main.js"},"_npmUser":{"name":"merill","email":"merill@merill.net"},"_npmVersion":"10.9.0","description":"Lokka is an Model Context Protocol (MCP) server for Microsoft Graph.","directories":{},"_nodeVersion":"22.10.0","dependencies":{"zod":"^3.24.2","@azure/msal-node":"^3.3.0","@modelcontextprotocol/sdk":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.2","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/lokka_0.1.1_1742176664170_0.6616809265756738","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@merill/lokka","version":"0.1.2","keywords":["mcp","graph","microsoft","graph","model","context","protocol"],"author":{"name":"Merill"},"license":"MIT","_id":"@merill/lokka@0.1.2","maintainers":[{"name":"merill","email":"merill@merill.net"}],"homepage":"https://lokka.dev","bugs":{"url":"https://github.com/merill/lokka/issues"},"bin":{"lokka":"build/main.js"},"dist":{"shasum":"4c90280ac93957ddfd805190acc8a14543a73fff","tarball":"https://registry.npmjs.org/@merill/lokka/-/lokka-0.1.2.tgz","fileCount":5,"integrity":"sha512-6a7k+UDqb3cdeGV834OgMuW77I2nNicK9VnFBu+xbLE1wCpx7q5vNL7sH2donxg468heXW4C2ucuz+IRshQdIg==","signatures":[{"sig":"MEUCICQRyfLgQL1eSsO3S7edRYNdr2ZN65BPl+TPMr73K0zGAiEAl9Wx/ARzPOYHJzji+VyUv5bnTc5q4yEyMOMHBx9evm8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14467},"main":"index.js","type":"module","gitHead":"7911ff88a15ebcd5c2c67f7e188f5951a7b503e2","scripts":{"build":"tsc && chmod 755 build/main.js"},"_npmUser":{"name":"merill","email":"merill@merill.net"},"repository":{"url":"git+https://github.com/merill/lokka.git","type":"git","directory":"src/mcp"},"_npmVersion":"10.9.0","description":"Lokka is an Model Context Protocol (MCP) server for Microsoft Graph.","directories":{},"_nodeVersion":"22.10.0","dependencies":{"zod":"^3.24.2","@azure/msal-node":"^3.3.0","@modelcontextprotocol/sdk":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.2","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/lokka_0.1.2_1742177252641_0.009798713604795006","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@merill/lokka","version":"0.1.3","keywords":["mcp","graph","microsoft","graph","model","context","protocol"],"author":{"name":"Merill"},"license":"MIT","_id":"@merill/lokka@0.1.3","maintainers":[{"name":"merill","email":"merill@merill.net"}],"homepage":"https://lokka.dev","bugs":{"url":"https://github.com/merill/lokka/issues"},"bin":{"lokka":"build/main.js"},"dist":{"shasum":"dd423c73a311eea25573728583f87ecdac02e969","tarball":"https://registry.npmjs.org/@merill/lokka/-/lokka-0.1.3.tgz","fileCount":5,"integrity":"sha512-zxvEmCNO3xbOEu0ygduBQCxHhdnm2n/DnleOoRtyqOAaTdyhDv7+zbA1WYYZehFrCJQsRTG4b1FI3nN8aXJX6Q==","signatures":[{"sig":"MEYCIQDV6x48n8dajRGCni0dkB6Au+CJvOeIUHFxkW43K53qAQIhAPIt2/iv67nOUskoSvMy0m8jNrup2g3zKcYu3+oumgHj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11177},"main":"main.js","type":"module","gitHead":"7911ff88a15ebcd5c2c67f7e188f5951a7b503e2","scripts":{"build":"tsc && chmod 755 build/main.js"},"_npmUser":{"name":"merill","email":"merill@merill.net"},"repository":{"url":"git+https://github.com/merill/lokka.git","type":"git","directory":"src/mcp"},"_npmVersion":"10.9.0","description":"Lokka is a Model Context Protocol (MCP) server for Microsoft Graph.","directories":{},"_nodeVersion":"22.10.0","dependencies":{"zod":"^3.24.2","@azure/msal-node":"^3.3.0","@modelcontextprotocol/sdk":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.2","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/lokka_0.1.3_1742179529250_0.3771348903940359","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@merill/lokka","version":"0.1.4","keywords":["mcp","graph","microsoft","graph","model","context","protocol"],"author":{"name":"Merill"},"license":"MIT","_id":"@merill/lokka@0.1.4","maintainers":[{"name":"merill","email":"merill@merill.net"}],"homepage":"https://lokka.dev","bugs":{"url":"https://github.com/merill/lokka/issues"},"bin":{"lokka":"build/main.js"},"dist":{"shasum":"2fd0534b2cbd7f5602354126d5317342e3a9ebcd","tarball":"https://registry.npmjs.org/@merill/lokka/-/lokka-0.1.4.tgz","fileCount":5,"integrity":"sha512-BCG3LcU+StXKlk5LZbgF4vvbwy20a60/UGsoGhEyNKunrOIy2cEeS9xbSbm29Avi+hgebH7B7/CbLlb1biF8kA==","signatures":[{"sig":"MEUCIQCPB4kphR1n6uIZgln8LsIkOZfrSzbrwDnz3j7d4wjQ7gIgKVIji/fYWIz1TnxDXtDsWvjjIaZIDb18LMWGJluBcXQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11640},"main":"main.js","type":"module","gitHead":"dd731a2ddcbdfae136ba5e9e28c84fc0164b3547","scripts":{"build":"tsc && chmod 755 build/main.js"},"_npmUser":{"name":"merill","email":"merill@merill.net"},"repository":{"url":"git+https://github.com/merill/lokka.git","type":"git","directory":"src/mcp"},"_npmVersion":"10.9.0","description":"Lokka is a Model Context Protocol (MCP) server for Microsoft Graph.","directories":{},"_nodeVersion":"22.10.0","dependencies":{"zod":"^3.24.2","@azure/msal-node":"^3.3.0","@modelcontextprotocol/sdk":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.2","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/lokka_0.1.4_1742180498309_0.40671227849255875","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@merill/lokka","version":"0.1.5","keywords":["mcp","graph","microsoft","graph","model","context","protocol"],"author":{"name":"Merill"},"license":"MIT","_id":"@merill/lokka@0.1.5","maintainers":[{"name":"merill","email":"merill@merill.net"}],"homepage":"https://lokka.dev","bugs":{"url":"https://github.com/merill/lokka/issues"},"bin":{"lokka":"build/main.js"},"dist":{"shasum":"91e0ad07fa59ba4b6caf27c4dd6c59fa60a4a1f6","tarball":"https://registry.npmjs.org/@merill/lokka/-/lokka-0.1.5.tgz","fileCount":5,"integrity":"sha512-Nmja2Jpo1Sl77cdrPikLWxw7XAuRlZ3NKy9ekLO9Ox/7rZQAvOkhEyw4YCyRMyHeQMeMWWq+SbP3PkuHdZUkEw==","signatures":[{"sig":"MEQCIEKvj/BNu8NDemUQHVb8+3OLZF1lY+2o7mPclbOuusiyAiAczjjLsXwuhg7eau2h/q6T/X3LnKCXEPu35f2Mb/gvUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11726},"main":"main.js","type":"module","gitHead":"dd731a2ddcbdfae136ba5e9e28c84fc0164b3547","scripts":{"build":"tsc && chmod 755 build/main.js"},"_npmUser":{"name":"merill","email":"merill@merill.net"},"repository":{"url":"git+https://github.com/merill/lokka.git","type":"git","directory":"src/mcp"},"_npmVersion":"10.9.0","description":"Lokka is a Model Context Protocol (MCP) server for Microsoft Graph.","directories":{},"_nodeVersion":"22.10.0","dependencies":{"zod":"^3.24.2","@azure/msal-node":"^3.3.0","@modelcontextprotocol/sdk":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.2","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/lokka_0.1.5_1742181211957_0.7162034228094687","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@merill/lokka","version":"0.1.6","keywords":["mcp","graph","microsoft","graph","model","context","protocol"],"author":{"name":"Merill"},"license":"MIT","_id":"@merill/lokka@0.1.6","maintainers":[{"name":"merill","email":"merill@merill.net"}],"homepage":"https://lokka.dev","bugs":{"url":"https://github.com/merill/lokka/issues"},"bin":{"lokka":"build/main.js"},"dist":{"shasum":"eacc073419fec42c003e31c330c3b831c9c9fd8e","tarball":"https://registry.npmjs.org/@merill/lokka/-/lokka-0.1.6.tgz","fileCount":5,"integrity":"sha512-wegzPGyyXapCJqJYHuA0x1mcTJBUNA1NC6aYgUFuNqutEOF7YsY+Ix/wU6WK109FzvHKblzZfQMrVGqxUT6Nsg==","signatures":[{"sig":"MEQCIE+z43NMtm7GQNrOWXo9FGVl8LHalTfCrlZ2QfAewo6mAiBmdGhS8e+V4oLanwVydJjkEC7fyevuKm358lpA47EC3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9982},"main":"main.js","type":"module","gitHead":"4c9f4c81bfe29f5b7886132169c8108d076bf6b8","scripts":{"build":"tsc && chmod 755 build/main.js"},"_npmUser":{"name":"merill","email":"merill@merill.net"},"repository":{"url":"git+https://github.com/merill/lokka.git","type":"git","directory":"src/mcp"},"_npmVersion":"10.9.0","description":"Lokka is a Model Context Protocol (MCP) server for Microsoft Graph.","directories":{},"_nodeVersion":"22.10.0","dependencies":{"zod":"^3.24.2","@azure/msal-node":"^3.3.0","@modelcontextprotocol/sdk":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.2","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/lokka_0.1.6_1742439510665_0.9228781834653601","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@merill/lokka","version":"0.1.7","keywords":["mcp","graph","microsoft","graph","model","context","protocol"],"author":{"name":"Merill"},"license":"MIT","_id":"@merill/lokka@0.1.7","maintainers":[{"name":"merill","email":"merill@merill.net"}],"homepage":"https://lokka.dev","bugs":{"url":"https://github.com/merill/lokka/issues"},"bin":{"lokka":"build/main.js"},"dist":{"shasum":"7dfa3d1d0636117608aa3d996abdd03a6e7a1f0f","tarball":"https://registry.npmjs.org/@merill/lokka/-/lokka-0.1.7.tgz","fileCount":5,"integrity":"sha512-LN6SVYgZpDrKTQ0TwWQ2wI+voLJAL04F6a7dUvGxgGF/r6el3bxNQVPVfaAtVTP4J8QqoSFE1KUQE14tbqTitA==","signatures":[{"sig":"MEYCIQCEVeRm8K701VaF+EszMX6ED1VU5s9GOL6vPbGB6tNqagIhAPyCKq/R0oRxbKByE+aXklkRdn2l87EmNFOj3r5cwQ4w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10978},"main":"main.js","type":"module","gitHead":"e50c0eeff90188cb38c27e32c3158a20da435c27","scripts":{"build":"tsc && chmod 755 build/main.js"},"_npmUser":{"name":"merill","email":"merill@merill.net"},"repository":{"url":"git+https://github.com/merill/lokka.git","type":"git","directory":"src/mcp"},"_npmVersion":"10.9.0","description":"Lokka is a Model Context Protocol (MCP) server for Microsoft Graph.","directories":{},"_nodeVersion":"22.10.0","dependencies":{"zod":"^3.24.2","@azure/msal-node":"^3.3.0","@modelcontextprotocol/sdk":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.2","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/lokka_0.1.7_1742442702776_0.21977322055655502","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@merill/lokka","version":"0.1.8","keywords":["mcp","graph","microsoft","graph","model","context","protocol"],"author":{"name":"Merill"},"license":"MIT","_id":"@merill/lokka@0.1.8","maintainers":[{"name":"merill","email":"merill@merill.net"}],"homepage":"https://lokka.dev","bugs":{"url":"https://github.com/merill/lokka/issues"},"bin":{"lokka":"build/main.js"},"dist":{"shasum":"d78b7bf2690c238a06c9b471819bc80be07188be","tarball":"https://registry.npmjs.org/@merill/lokka/-/lokka-0.1.8.tgz","fileCount":5,"integrity":"sha512-KYshNH1DeSS2s7SurG0Df/L+HwaQa06PkpI8WhW0aqZI5uajp3pG4MMWDoEyKNWMwWH8BvyiflNHg7XZHtD7MQ==","signatures":[{"sig":"MEUCIQDgqI/viltuHGpuP+sz9BUwn6bbODlNk8FvALcNJWc6UwIgAZClH1ghQP7BmXb1AavgoGlXJyYDlGONY0JXFM4Nvr4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36217},"main":"main.js","type":"module","gitHead":"1326b36dfe0202acef287a4b8296e3819a51bab0","scripts":{"build":"tsc && chmod 755 build/main.js"},"_npmUser":{"name":"merill","email":"merill@merill.net"},"repository":{"url":"git+https://github.com/merill/lokka.git","type":"git","directory":"src/mcp"},"_npmVersion":"10.9.0","description":"Lokka is a Model Context Protocol (MCP) server for Microsoft Graph.","directories":{},"_nodeVersion":"22.10.0","dependencies":{"zod":"^3.24.2","@azure/msal-node":"^3.3.0","@modelcontextprotocol/sdk":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.2","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/lokka_0.1.8_1743563137995_0.49853296398178704","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@merill/lokka","version":"0.2.0","keywords":["mcp","graph","microsoft","graph","model","context","protocol"],"author":{"name":"Merill"},"license":"MIT","_id":"@merill/lokka@0.2.0","maintainers":[{"name":"merill","email":"merill@merill.net"}],"homepage":"https://lokka.dev","bugs":{"url":"https://github.com/merill/lokka/issues"},"bin":{"lokka":"build/main.js"},"dist":{"shasum":"17ddf987d0576ff0f3cd351af43df3fc8db80439","tarball":"https://registry.npmjs.org/@merill/lokka/-/lokka-0.2.0.tgz","fileCount":11,"integrity":"sha512-+xj4mszuR8/ebaZIJQss5n2eTbevmCDW0UEU90IkBqifN4keoyevLAvnKzeiXQXdTf6axXDfPbcIjHAHdZlpGg==","signatures":[{"sig":"MEYCIQCy9e3SDpRGAPrnVwqYgQIwSBsSp9UQs1CLw+WYeNXewAIhAMoTb++YKrWxCvWvskX2Vx7mHv0TI4oPAiieKX/5ajkd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69529},"main":"main.js","type":"module","gitHead":"276545a13eddf756c718849d5a2f45ad3aa7c8ca","scripts":{"build":"tsc","start":"node build/main.js","test:live":"node build/live-test.js","build:unix":"tsc && chmod 755 build/main.js","demo:token":"node build/demo-token-auth.js","test:token":"node build/test-token-auth.js","test:simple":"node build/simple-token-test.js"},"_npmUser":{"name":"merill","actor":{"name":"merill","type":"user","email":"merill@merill.net"},"email":"merill@merill.net"},"repository":{"url":"git+https://github.com/merill/lokka.git","type":"git","directory":"src/mcp"},"_npmVersion":"10.9.0","description":"Lokka is a Model Context Protocol (MCP) server for Microsoft Graph.","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.24.2","@azure/identity":"^4.3.0","isomorphic-fetch":"^3.0.0","@modelcontextprotocol/sdk":"^1.7.0","@microsoft/microsoft-graph-client":"^3.0.7"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.2","@types/node":"^22.13.17","@types/isomorphic-fetch":"^0.0.39"},"_npmOperationalInternal":{"tmp":"tmp/lokka_0.2.0_1750573379431_0.6061558632075601","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@merill/lokka","version":"0.3.0","keywords":["mcp","graph","microsoft","graph","model","context","protocol"],"author":{"name":"Merill"},"license":"MIT","_id":"@merill/lokka@0.3.0","maintainers":[{"name":"merill","email":"merill@merill.net"}],"homepage":"https://lokka.dev","bugs":{"url":"https://github.com/merill/lokka/issues"},"bin":{"lokka":"build/main.js"},"dist":{"shasum":"624eeb9273bb9bbd0f471285330f76ef7343e77a","tarball":"https://registry.npmjs.org/@merill/lokka/-/lokka-0.3.0.tgz","fileCount":6,"integrity":"sha512-57srwLOb8yc11ILo2ZhkhMnPojuKZfC6BTo68uWldHWYz5MU5K+wZUhuEBRyOq9tvbtEQfWkZ+aRdaG6jSYdxQ==","signatures":[{"sig":"MEUCIQCkx+zyl9Q5qdyxbm/MDlM9qFsKP5LFHOliMMBLNQd6ZgIgbbPFCt50FM1/BS/CWxoPbgDsfBZVMASSRuZgie4vgJg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53177},"main":"main.js","type":"module","gitHead":"6c8cb5fb1190f2cc4fd2b05ff75ef4f276b69c35","scripts":{"build":"tsc","start":"node build/main.js","test:live":"node build/live-test.js","build:unix":"tsc && chmod 755 build/main.js","demo:token":"node build/demo-token-auth.js","test:token":"node build/test-token-auth.js","test:simple":"node build/simple-token-test.js"},"_npmUser":{"name":"merill","email":"merill@merill.net"},"repository":{"url":"git+https://github.com/merill/lokka.git","type":"git","directory":"src/mcp"},"_npmVersion":"10.9.0","description":"Lokka is a Model Context Protocol (MCP) server for Microsoft Graph.","directories":{},"_nodeVersion":"22.10.0","dependencies":{"zod":"^3.24.2","jsonwebtoken":"^9.0.2","@azure/identity":"^4.3.0","isomorphic-fetch":"^3.0.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.7.0","@microsoft/microsoft-graph-client":"^3.0.7"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.2","@types/node":"^22.13.17","@types/isomorphic-fetch":"^0.0.39"},"_npmOperationalInternal":{"tmp":"tmp/lokka_0.3.0_1752584176901_0.5122252714431816","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@merill/lokka","version":"2.0.0","keywords":["mcp","graph","microsoft","graph","model","context","protocol"],"author":{"name":"Merill"},"license":"MIT","_id":"@merill/lokka@2.0.0","maintainers":[{"name":"merill","email":"merill@merill.net"}],"homepage":"https://lokka.dev","bugs":{"url":"https://github.com/merill/lokka/issues"},"bin":{"lokka":"build/main.js"},"dist":{"shasum":"b24e87526382b7124efdd7be9a1a46ca2247571a","tarball":"https://registry.npmjs.org/@merill/lokka/-/lokka-2.0.0.tgz","fileCount":11,"integrity":"sha512-aNYSa96ww8Qx9oI7JEgzS18lyDQj66OPvwXzrnfqZ7jrK2VZ7haFSiiww7G2sPJK0L1+WijBnVSu48Vxl/v/Tg==","signatures":[{"sig":"MEUCICFC5zJC1gOhSGooKhf09nMjUV5hQWCdIebxDlcIFUbvAiEA9fcBS8kh7nn7QW1iyurWJ8dC1n9dTwQPXiGpivRt3Jk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2401378},"main":"main.js","type":"module","gitHead":"66330df8b85e9c0ea547656ab66112398f80c02f","scripts":{"build":"tsc && npm --prefix ui run build && node scripts/copy-assets.mjs","start":"node build/main.js","test:ui":"node scripts/test-ui.mjs","setup:ui":"npm --prefix ui install","pack:mcpb":"node scripts/pack-mcpb.mjs","test:live":"node build/live-test.js","build:unix":"tsc && npm --prefix ui run build && node scripts/copy-assets.mjs && chmod 755 build/main.js","demo:token":"node build/demo-token-auth.js","test:token":"node build/test-token-auth.js","test:simple":"node build/simple-token-test.js"},"_npmUser":{"name":"merill","email":"merill@merill.net"},"repository":{"url":"git+https://github.com/merill/lokka.git","type":"git","directory":"src/mcp"},"_npmVersion":"10.9.8","description":"Lokka is a Model Context Protocol (MCP) server for Microsoft Graph.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","jsonwebtoken":"^9.0.2","@azure/identity":"^4.3.0","isomorphic-fetch":"^3.0.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.29.0","@microsoft/microsoft-graph-client":"^3.0.7"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","typescript":"^5.8.2","@types/node":"^22.13.17","@types/isomorphic-fetch":"^0.0.39"},"_npmOperationalInternal":{"tmp":"tmp/lokka_2.0.0_1781252623938_0.6046402796018311","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@merill/lokka","version":"2.1.0","keywords":["mcp","graph","microsoft","graph","model","context","protocol"],"author":{"name":"Merill"},"license":"MIT","_id":"@merill/lokka@2.1.0","maintainers":[{"name":"merill","email":"merill@merill.net"}],"homepage":"https://lokka.dev","bugs":{"url":"https://github.com/merill/lokka/issues"},"bin":{"lokka":"build/main.js"},"dist":{"shasum":"b1d68df15516c912f9a254f488858b6c74278b9c","tarball":"https://registry.npmjs.org/@merill/lokka/-/lokka-2.1.0.tgz","fileCount":15,"integrity":"sha512-YnKd3Vz3V5k056A3uP384Pw2FoPfAYv8PCHPJVyjcBUespLH//5uo7pVYtY6PPHK4S6M4vcuBDfPtgvQY3EnWQ==","signatures":[{"sig":"MEYCIQCP3clmEaTdyKdqauV1LCdEfh+liq4NShQQV/bQ+H0uAgIhAKvWNwJeqfT4XAVAHsgj23Gn3bu9L+i/Fxw7c3oQ4jvb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4684383},"main":"main.js","type":"module","gitHead":"5a1ce608be0b550bf56f5fd08c859cc77b91dda5","mcpName":"io.github.merill/lokka","scripts":{"build":"tsc && npm --prefix ui run build && node scripts/copy-assets.mjs","start":"node build/main.js","test:ui":"node scripts/test-ui.mjs","setup:ui":"npm --prefix ui install","pack:mcpb":"node scripts/pack-mcpb.mjs","test:live":"node build/live-test.js","build:unix":"tsc && npm --prefix ui run build && node scripts/copy-assets.mjs && chmod 755 build/main.js","demo:token":"node build/demo-token-auth.js","test:token":"node build/test-token-auth.js","test:simple":"node build/simple-token-test.js","registry:sync":"node scripts/sync-registry-metadata.mjs","registry:publish":"npm run registry:sync && mcp-publisher publish","registry:sync:mcpb":"node scripts/sync-registry-metadata.mjs --include-mcpb"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a940362b-1425-493d-8f1c-73e956ee56a5"}},"repository":{"url":"git+https://github.com/merill/lokka.git","type":"git","directory":"src/mcp"},"_npmVersion":"11.17.0","description":"Lokka is a Model Context Protocol (MCP) server for Microsoft Graph.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","keytar":"^7.9.0","selfsigned":"^5.5.0","jsonwebtoken":"^9.0.2","@azure/identity":"^4.3.0","isomorphic-fetch":"^3.0.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.29.0","@azure/identity-cache-persistence":"^1.3.0","@microsoft/microsoft-graph-client":"^3.0.7"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","typescript":"^5.8.2","@types/node":"^22.13.17","@types/isomorphic-fetch":"^0.0.39"},"_npmOperationalInternal":{"tmp":"tmp/lokka_2.1.0_1781527847915_0.002701149765504285","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@merill/lokka","version":"2.1.1","keywords":["mcp","graph","microsoft","graph","model","context","protocol"],"author":{"name":"Merill"},"license":"MIT","_id":"@merill/lokka@2.1.1","maintainers":[{"name":"merill","email":"merill@merill.net"}],"homepage":"https://lokka.dev","bugs":{"url":"https://github.com/merill/lokka/issues"},"bin":{"lokka":"build/main.js"},"dist":{"shasum":"27a2f82fbb26543be2b25891d2ee4343c510af46","tarball":"https://registry.npmjs.org/@merill/lokka/-/lokka-2.1.1.tgz","fileCount":15,"integrity":"sha512-GmVp8YvW5I+KVMYcDVZcOvbFMzMEXjWoKTtFbTjqxH18k+IR3DNQoA3BLLF/XTwpTXh4mwb5MomK0nWWseloOA==","signatures":[{"sig":"MEYCIQCx6vdZJOsaB6Xkw1AS9XgBFOiD6haMCQGLa8/bCgiHiwIhAMvu3GVtcwIvvv7rl0Oa+sWKbe+/sgfBKYbVlutqnEmE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4684384},"main":"main.js","type":"module","gitHead":"184654f1f2c80522822abfea1d380d32c62a2f32","mcpName":"io.github.jozrahq/lokka","scripts":{"build":"tsc && npm --prefix ui run build && node scripts/copy-assets.mjs","start":"node build/main.js","test:ui":"node scripts/test-ui.mjs","setup:ui":"npm --prefix ui install","pack:mcpb":"node scripts/pack-mcpb.mjs","test:live":"node build/live-test.js","build:unix":"tsc && npm --prefix ui run build && node scripts/copy-assets.mjs && chmod 755 build/main.js","demo:token":"node build/demo-token-auth.js","test:token":"node build/test-token-auth.js","test:simple":"node build/simple-token-test.js","registry:sync":"node scripts/sync-registry-metadata.mjs","registry:publish":"npm run registry:sync && mcp-publisher publish","registry:sync:mcpb":"node scripts/sync-registry-metadata.mjs --include-mcpb"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a940362b-1425-493d-8f1c-73e956ee56a5"}},"repository":{"url":"git+https://github.com/merill/lokka.git","type":"git","directory":"src/mcp"},"_npmVersion":"11.17.0","description":"Lokka is a Model Context Protocol (MCP) server for Microsoft Graph.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","keytar":"^7.9.0","selfsigned":"^5.5.0","jsonwebtoken":"^9.0.2","@azure/identity":"^4.3.0","isomorphic-fetch":"^3.0.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.29.0","@azure/identity-cache-persistence":"^1.3.0","@microsoft/microsoft-graph-client":"^3.0.7"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","typescript":"^5.8.2","@types/node":"^22.13.17","@types/isomorphic-fetch":"^0.0.39"},"_npmOperationalInternal":{"tmp":"tmp/lokka_2.1.1_1781528519442_0.7203696300474984","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"@merill/lokka","version":"2.1.2","mcpName":"io.github.jozrahq/lokka","description":"Lokka is a Model Context Protocol (MCP) server for Microsoft Graph.","license":"MIT","author":{"name":"Merill"},"homepage":"https://lokka.dev","bugs":{"url":"https://github.com/merill/lokka/issues"},"main":"main.js","type":"module","keywords":["mcp","graph","microsoft","graph","model","context","protocol"],"repository":{"type":"git","url":"git+https://github.com/merill/lokka.git","directory":"src/mcp"},"bin":{"lokka":"build/main.js"},"scripts":{"build":"tsc && npm --prefix ui run build && node scripts/copy-assets.mjs","build:unix":"tsc && npm --prefix ui run build && node scripts/copy-assets.mjs && chmod 755 build/main.js","setup:ui":"npm --prefix ui install","pack:mcpb":"node scripts/pack-mcpb.mjs","registry:sync":"node scripts/sync-registry-metadata.mjs","registry:sync:mcpb":"node scripts/sync-registry-metadata.mjs --include-mcpb","registry:publish":"npm run registry:sync && mcp-publisher publish","test:ui":"node scripts/test-ui.mjs","demo:token":"node build/demo-token-auth.js","test:token":"node build/test-token-auth.js","test:simple":"node build/simple-token-test.js","test:live":"node build/live-test.js","start":"node build/main.js"},"dependencies":{"@azure/identity":"^4.3.0","@azure/identity-cache-persistence":"^1.3.0","@microsoft/microsoft-graph-client":"^3.0.7","@modelcontextprotocol/sdk":"^1.29.0","@types/jsonwebtoken":"^9.0.10","isomorphic-fetch":"^3.0.0","jsonwebtoken":"^9.0.2","keytar":"^7.9.0","selfsigned":"^5.5.0","zod":"^4.4.3"},"devDependencies":{"@types/isomorphic-fetch":"^0.0.39","@types/node":"^22.13.17","jsdom":"^29.1.1","typescript":"^5.8.2"},"gitHead":"1db65766a341e35cdc2b1db61a02ccfcc3966324","_id":"@merill/lokka@2.1.2","_nodeVersion":"22.22.3","_npmVersion":"11.17.0","dist":{"integrity":"sha512-sj5gT0+I5Iumr+9wS/jyZ+D51EsfzyaB5GHdPUZ82wxQnUZYOIVD7heC8XX6YeiCz5SCkLPWTd13bOamTr7cMw==","shasum":"713a5e416744c84fe65b5c3fd186f2b9ef85b71f","tarball":"https://registry.npmjs.org/@merill/lokka/-/lokka-2.1.2.tgz","fileCount":15,"unpackedSize":4686122,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCK0SgiwA3t6K0fy0al+Et0Iuu0CLZYTawo9RUx4Y7KEwIhALpXnitnf6r75udxpzogbMXZBVV9IWH3AF82iyMqkKLH"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a940362b-1425-493d-8f1c-73e956ee56a5"}},"directories":{},"maintainers":[{"name":"merill","email":"merill@merill.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lokka_2.1.2_1781875190564_0.7509148174371123"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-16T21:15:11.650Z","modified":"2026-06-19T13:19:50.871Z","0.1.0":"2025-03-16T21:15:11.948Z","0.1.1":"2025-03-17T01:57:44.351Z","0.1.2":"2025-03-17T02:07:32.825Z","0.1.3":"2025-03-17T02:45:29.422Z","0.1.4":"2025-03-17T03:01:38.479Z","0.1.5":"2025-03-17T03:13:32.116Z","0.1.6":"2025-03-20T02:58:30.854Z","0.1.7":"2025-03-20T03:51:42.967Z","0.1.8":"2025-04-02T03:05:38.228Z","0.2.0":"2025-06-22T06:22:59.654Z","0.3.0":"2025-07-15T12:56:17.063Z","2.0.0":"2026-06-12T08:23:44.143Z","2.1.0":"2026-06-15T12:50:48.188Z","2.1.1":"2026-06-15T13:01:59.598Z","2.1.2":"2026-06-19T13:19:50.765Z"},"bugs":{"url":"https://github.com/merill/lokka/issues"},"author":{"name":"Merill"},"license":"MIT","homepage":"https://lokka.dev","keywords":["mcp","graph","microsoft","graph","model","context","protocol"],"repository":{"type":"git","url":"git+https://github.com/merill/lokka.git","directory":"src/mcp"},"description":"Lokka is a Model Context Protocol (MCP) server for Microsoft Graph.","maintainers":[{"name":"merill","email":"merill@merill.net"}],"readme":"# Lokka\n\n[![npm version](https://img.shields.io/npm/v/@merill/lokka?logo=npm&color=cb3837)](https://www.npmjs.com/package/@merill/lokka)\n[![downloads](https://img.shields.io/npm/d18m/@merill/lokka?label=downloads&color=blue)](https://www.npmjs.com/package/@merill/lokka)\n[![downloads per month](https://img.shields.io/npm/dm/@merill/lokka?label=downloads%2Fmonth&color=blue)](https://www.npmjs.com/package/@merill/lokka)\n[![GitHub stars](https://img.shields.io/github/stars/merill/lokka?style=flat&logo=github)](https://github.com/merill/lokka/stargazers)\n[![license](https://img.shields.io/github/license/merill/lokka?color=green)](https://github.com/merill/lokka/blob/main/LICENSE)\n\nLokka is a model-context-protocol server for the Microsoft Graph and Azure RM APIs that allows you to query and manage your Azure and Microsoft 365 tenants with AI.\n\n<img src=\"https://github.com/merill/lokka/blob/main/assets/lokka-demo-1.gif?raw=true\" alt=\"Lokka Demo - user create demo\" width=\"500\"/>\n\nPlease see [Lokka.dev](https://lokka.dev) for how to use Lokka with your favorite AI model and chat client.\n\nLokka lets you use Claude Desktop, or any MCP Client, to use natural language to accomplish things in your Azure and Microsoft 365 tenant through the Microsoft APIs.\n\nHave ideas or feature requests? Share feedback and vote on requests at [lokka.userjot.com](https://lokka.userjot.com/). Bugs and code discussions still belong in [GitHub Issues](https://github.com/merill/lokka/issues).\n\ne.g.:\n\n- `Create a new security group called 'Sales and HR' with a dynamic rule based on the department attribute.` \n- `Find all the conditional access policies that haven't excluded the emergency access account`\n- `Show me all the Intune device configuration policies assigned to the 'Call center' group`\n- `What was the most expensive service in Azure last month?`\n\n![How does Lokka work?](https://github.com/merill/lokka/blob/main/website/docs/assets/how-does-lokka-mcp-server-work.png?raw=true)\n\n## Authentication Methods\n\nLokka now supports multiple authentication methods to accommodate different deployment scenarios:\n\n### Interactive Auth\n\nFor user-based authentication with interactive login, you can use the following configuration:\n\nThis is the simplest config and uses the default Lokka app.\n\n```json\n{\n  \"mcpServers\": {\n    \"Lokka-Microsoft\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@merill/lokka\"]\n    }\n  }\n}\n```\n\n#### Interactive auth with custom app\n\nIf you wish to use a custom Microsoft Entra app, you can create a new app registration in Microsoft Entra and configure it with the following environment variables:\n\n```json\n{\n  \"mcpServers\": {\n    \"Lokka-Microsoft\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@merill/lokka\"],\n      \"env\": {\n        \"TENANT_ID\": \"<tenant-id>\",\n        \"CLIENT_ID\": \"<client-id>\",\n        \"USE_INTERACTIVE\": \"true\"\n      }\n    }\n  }\n}\n```\n\n### App-Only Auth\n\nTraditional app-only authentication. You can use either certificate (recommended) or client secret authentication with the following configuration.\n\nSee [Install Guide](https://lokka.dev/docs/install) for more details on how to create an Entra app.\n\n#### App-Only Auth with Certificate\n\nApp only authentication using a PEM-encoded client certificate:\n\n```json\n{\n  \"mcpServers\": {\n    \"Lokka-Microsoft\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@merill/lokka\"],\n      \"env\": {\n        \"TENANT_ID\": \"<tenant-id>\",\n        \"CLIENT_ID\": \"<client-id>\",\n        \"CERTIFICATE_PATH\": \"/path/to/certificate.pem\",\n        \"CERTIFICATE_PASSWORD\": \"<optional-certificate-password>\",\n        \"USE_CERTIFICATE\": \"true\"\n      }\n    }\n  }\n}\n```\n\nFor comfort, in order to convert a PFX client certificate to a PEM-encoded certificate:\n\n```bash\nopenssl pkcs12 -in /path/to/cert.pfx -out /path/to/cert.pem -nodes -clcerts\n```\n\n#### #### App-Only Auth with Client Secret\n\n```json\n{\n  \"mcpServers\": {\n    \"Lokka-Microsoft\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@merill/lokka\"],\n      \"env\": {\n        \"TENANT_ID\": \"<tenant-id>\",\n        \"CLIENT_ID\": \"<client-id>\",\n        \"CLIENT_SECRET\": \"<client-secret>\"\n      }\n    }\n  }\n}\n```\n\n### Client-Provided Token\n\nToken-based authentication where the MCP Client provides access tokens:\n\n```json\n{\n  \"mcpServers\": {\n    \"Lokka-Microsoft\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@merill/lokka\"],\n      \"env\": {\n        \"USE_CLIENT_TOKEN\": \"true\"\n      }\n    }\n  }\n}\n```\n\nWhen using client-provided token mode:\n\n1. Start the MCP server with `USE_CLIENT_TOKEN=true`\n2. Use the `set-access-token` tool to provide a valid Microsoft Graph access token\n3. Use the `get-auth-status` tool to verify authentication status\n4. Refresh tokens as needed using `set-access-token`\n\n## New Tools\n\n### Token Management Tools\n\n- **`set-access-token`**: Set or update access tokens for Microsoft Graph authentication\n- **`get-auth-status`**: Check current authentication status and capabilities\n- **`add-graph-permission`**: Request additional Microsoft Graph permission scopes interactively\n\n### Graph API Version Control\n\nLokka now supports controlling the default Microsoft Graph API version used for all requests:\n\n- **Default behavior**: Uses `beta` version for access to latest features\n- **Production mode**: Set `USE_GRAPH_BETA=false` to force all requests to use `v1.0` version\n- **Per-request override**: You can still specify `graphApiVersion` parameter in individual requests (unless `USE_GRAPH_BETA=false`)\n\nWhen `USE_GRAPH_BETA=false`, all Graph API calls will use the stable `v1.0` version, even if `beta` is explicitly requested in the `graphApiVersion` parameter.\n\n## Getting started\n\nSee the docs for more information on how to install and configure Lokka.\n\n- [Introduction](https://lokka.dev/)\n- [Install guide](https://lokka.dev/docs/install)\n- [Developer guide](https://lokka.dev/docs/developer-guide)\n\n## Components\n\n### Tools\n\n1. `Lokka-Microsoft`\n   - Call Microsoft Graph & Azure APIs. Supports querying Azure and Microsoft 365 tenants. Updates are also supported if permissions are provided.\n   - Input:\n     - `apiType` (string): Type of Microsoft API to query. Options: 'graph' for Microsoft Graph (Entra) or 'azure' for Azure Resource Management.\n     - `path` (string): The Azure or Graph API URL path to call (e.g. '/users', '/groups', '/subscriptions').\n     - `method` (string): HTTP method to use (e.g., get, post, put, patch, delete)\n     - `apiVersion` (string): Azure Resource Management API version (required for apiType Azure)\n     - `subscriptionId` (string): Azure Subscription ID (for Azure Resource Management).\n     - `queryParams` (string): Array of query parameters like $filter, $select, etc. All parameters are strings.\n     - `body` (JSON): The request body (for POST, PUT, PATCH)\n   - Returns: Results from the Azure or Graph API call.\n\n2. `set-access-token` *(New in v0.2.0)*\n   - Set or update an access token for Microsoft Graph authentication when using client-provided token mode.\n   - Input:\n     - `accessToken` (string): The access token obtained from Microsoft Graph authentication\n     - `expiresOn` (string, optional): Token expiration time in ISO format\n   - Returns: Confirmation of token update\n\n3. `get-auth-status` *(New in v0.2.0)*\n   - Check the current authentication status and mode of the MCP Server\n   - Returns: Authentication mode, readiness status, and capabilities\n\n### Environment Variables\n\nThe configuration of the server is done using environment variables. The following environment variables are supported:\n\n| Name | Description | Required |\n|------|-------------|----------|\n| `TENANT_ID` | The ID of the Microsoft Entra tenant. | Yes (except for client-provided token mode) |\n| `CLIENT_ID` | The ID of the application registered in Microsoft Entra. | Yes (except for client-provided token mode) |\n| `CLIENT_SECRET` | The client secret of the application registered in Microsoft Entra. | Yes (for client credentials mode only) |\n| `USE_INTERACTIVE` | Set to \"true\" to enable interactive authentication mode. | No |\n| `USE_CLIENT_TOKEN` | Set to \"true\" to enable client-provided token authentication mode. | No |\n| `USE_CERTIFICATE` | Set to \"true\" to enable certificate authentication mode. | No |\n| `CERTIFICATE_PATH` | Path to the PEM-encoded certificate file for certificate authentication. | Yes (for certificate mode only) |\n| `CERTIFICATE_PASSWORD` | Password for the certificate file (if encrypted). | No |\n| `REDIRECT_URI` | Redirect URI for interactive authentication (default: `http://localhost:3200`). | No |\n| `ACCESS_TOKEN` | Initial access token for client-provided token mode. | No |\n| `USE_GRAPH_BETA` | Set to \"false\" to force all Graph API calls to use v1.0 instead of beta (default: true, allows beta). | No |\n| `LOKKA_DISABLE_TOKEN_CACHE` | Set to \"true\" to disable the secure OS token cache — connections are then never remembered across restarts. | No |\n| `LOKKA_CONFIG_DIR` | Directory for Lokka's saved-connection metadata (default: `~/.lokka`). Contains no tokens or secrets. | No |\n| `LOKKA_DISABLE_TELEMETRY` | Set to \"true\" to disable anonymous usage telemetry. (`DO_NOT_TRACK=1` is also honored, and telemetry is off automatically when `CI` is set.) | No |\n\n## Telemetry\n\nLokka sends a single anonymous \"server started\" event to PostHog each time it launches, to help gauge how widely it's used. It is **anonymous and contains no personal or tenant data** — only a random per-install id, the Lokka version, the authentication *mode* (e.g. `interactive` — never any credentials), and coarse environment info (OS, architecture, Node version). No tenant ids, usernames, tokens, secrets, client ids, or file paths are ever collected, and no PostHog person profile is created.\n\nTo opt out, set either `LOKKA_DISABLE_TELEMETRY=true` or `DO_NOT_TRACK=1`. Telemetry is also skipped automatically in CI (when `CI` is set).\n\n## Contributors\n\n- Interactive and Token-based Authentication (v0.2.0) - [@darrenjrobinson](https://github.com/darrenjrobinson)\n- Certificate Authentication (v0.2.1) - [@nitzpo](https://github.com/nitzpo)\n\n## Interactive apps\n\nIn hosts that support MCP Apps (like Claude Desktop and VS Code with GitHub Copilot), Lokka ships six interactive apps that render right inside the chat. Type **`lokka help`** for a visual tour — it's the best place to start. Other entry points: `open lokka` (Graph explorer with endpoint + OData IntelliSense, table/JSON results, fetch-all, code snippets, exports and a fix-your-403 permissions tab), `lokka settings` (Connections + Guardrails in one view), `lokka sign in` (multi-tenant connections — user or service principal, Global + US Gov clouds, one-click or AI-driven switching), `lokka permissions` (search 1,100+ Graph permissions and consent in one flow), and `lokka guardrails` (optional local limits for model tool-call methods, paths, and resources; off by default and useful during testing; direct Graph Explorer runs are not blocked). Full guide: [lokka.dev/docs/apps](https://lokka.dev/docs/apps).\n\n## Installation\n\nTo use this server with the Claude Desktop app, add the following configuration to the \"mcpServers\" section of your `claude_desktop_config.json`:\n\n### Interactive Authentication\n\n```json\n{\n  \"mcpServers\": {\n    \"Lokka-Microsoft\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@merill/lokka\"]\n    }\n  }\n}\n```\n\n### Client Credentials Authentication\n\n```json\n{\n  \"mcpServers\": {\n    \"Lokka-Microsoft\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@merill/lokka\"],\n      \"env\": {\n        \"TENANT_ID\": \"<tenant-id>\",\n        \"CLIENT_ID\": \"<client-id>\",\n        \"CLIENT_SECRET\": \"<client-secret>\"\n      }\n    }\n  }\n}\n```\n\nMake sure to replace `<tenant-id>`, `<client-id>`, and `<client-secret>` with the actual values from your Microsoft Entra application. (See [Install Guide](https://lokka.dev/docs/install) for more details on how to create an Entra app and configure the agent.)\n","readmeFilename":"README.md"}