{"_id":"formlab-mcp","_rev":"51-75e478c1928e568172cbc64723c73e36","name":"formlab-mcp","dist-tags":{"latest":"0.6.37"},"versions":{"0.1.0":{"name":"formlab-mcp","version":"0.1.0","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.1.0","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"75af3c76634307e9162300b55db6ba8b3e7d2838","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.1.0.tgz","fileCount":8,"integrity":"sha512-CusW/bI7iTlHho8OyM3X+9/SVWoJH5AcmHtv+Z3eItf/Q3XE5FTK2xd+yw2k+jaX5Wu+qHr9/sA3WpUfXbFRqg==","signatures":[{"sig":"MEMCHwn6asSEqzFsa23bYpoYyd5hS2A8+0pFeHujjTOm+6ICIFypIT0F7N/RicC4TbB6358IaJ8qnqroW12ikBmeqZoL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57806},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"2815fc95de8d5cffdcc14c09d50c350c34cd7a4f","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your local FormLab export. Your recipes never leave your machine.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.1.0_1780153796578_0.9565027074777259","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"formlab-mcp","version":"0.1.1","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.1.1","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"92f7b675b0911f163220d1c26bffcf1bbb64805e","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.1.1.tgz","fileCount":10,"integrity":"sha512-dVeD2MlpP5alsXOTTKkB37cNENA6ssmTZvFfTloE/+F0PqN2oKs3RNVEJB+GLr8YsAs6mJ77IrWjQv+w3t3tsw==","signatures":[{"sig":"MEQCIG3LuIO0f5Sc67C1uBy4OYP9bW6TBINtr0lVzWJNhuvAAiB3dPyz6mgnxReZoUFXzlEivs7/eMusC1wT1YCav8l7GA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63879},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"11967c923fb278f89579b08d6dea9954d0ad9996","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your local FormLab export. Your recipes never leave your machine.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.1.1_1780255878671_0.005967766378804695","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"formlab-mcp","version":"0.1.2","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.1.2","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"c45cd62df19501b96000f22d557f5124e92eca8d","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.1.2.tgz","fileCount":10,"integrity":"sha512-UqkwwBpXHJ24lZfKhxTjy9JaLtu7eKSdRAZ5mZbjBWV+DhX0TrAKtrXz3Vk5VBDjNlS/cqUDG1mBezxcXxrMNA==","signatures":[{"sig":"MEYCIQDWBTX5anOAqR6f0GBYA8/cXl3fjm7f2Kw3ask2FDXKIwIhALpdDkD6X9u2e5p6wmJ6310Ec7AcqOQRFWD/gGMjYGF9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63927},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"9999f21867ee4964ee71572a993167f2007a22ab","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your local FormLab export. Your recipes never leave your machine.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.1.2_1780256097084_0.4601569662321625","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"formlab-mcp","version":"0.1.3","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.1.3","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"1df7dc80ef80770f1590fd242590e6ec60971ea7","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.1.3.tgz","fileCount":10,"integrity":"sha512-HSOaadah6ZMwe/3sTB7dLxIBZ4sJL7Fjy9HNHRnd7qxpGwgzUnOtgD+/XlGXFMXVDG2tmuy5R+bSpvC1hb2hPg==","signatures":[{"sig":"MEQCIFg/1qEHjOvjsfmffliKz5BsKSU5issnemEjPNwVbLwtAiAWegZ9igUzKtmI4wXhCIIHcSiIubUINLle51SAV4lOZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65152},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"c4eaef48c985ae473ef1ffad689e343b3af45d01","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your local FormLab export. Your recipes never leave your machine.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.1.3_1780259450838_0.3380415915153281","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"formlab-mcp","version":"0.1.4","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.1.4","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"3cc9f03a853183fa75c6c88da5a251f95e83e4cd","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.1.4.tgz","fileCount":10,"integrity":"sha512-hI+QyGQPITkFph6HvuW37gy9tBJyA9ies/6BwnKS3+MKye0dfa/+DkUibqs+cf6nnntRjPOTaSmyE8qQrDCZmA==","signatures":[{"sig":"MEYCIQDHE14pj4zX5M1Hus0ISougcqHMgxTHIcmalleiijKbgAIhALRQxkQva7ibokQnd6hImmMqKTzD5tns3RJdqFf7/ty5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65223},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"9b10982c29b76c81281abc8a2b10f2dec271f93c","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your local FormLab export. Your recipes never leave your machine.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.1.4_1780261426761_0.912137760518156","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"formlab-mcp","version":"0.1.5","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.1.5","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"ec4ffd1671ff7aefed0e9745c78f9f51fa76061d","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.1.5.tgz","fileCount":10,"integrity":"sha512-/gMNaJ94Flh1v46NZBX255/13sW0CCSjBiCeKCSlccBOk4rdobK10FtpTWRat5+x04jzCFb8Ks1+uZQpnCxW/Q==","signatures":[{"sig":"MEUCIAW0aQqAWsJNicU39h7gSZLXu2gug4qrLeoL8UgQaJIBAiEAz9AAg+3dJZd4OmTSWnUU4GxvKxM8KtUNNkCsKdOPzBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65632},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"f95c050d8741be1ce9cb2ee64ca73024ca942c1a","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your local FormLab export. Your recipes never leave your machine.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.1.5_1780272028994_0.3251496796801916","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"formlab-mcp","version":"0.1.7","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.1.7","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"8ea0090cb72ae76f0601d617161469cfad1e8e3d","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.1.7.tgz","fileCount":10,"integrity":"sha512-UcQrbozmNL277hq7ylBpAxLOD2W17sdNFn2ljkLwIi65UVCkdq1arL+6tIdCIOjtC/bOBwhC0+lSqrJG1gSF9w==","signatures":[{"sig":"MEUCIQC2dAxBIKbQrrjEM1e/gWhuDbnT2znblSW6nvu7f6GNVwIgbq0KUe2Pj7712AT5WanVWM8YM5bE18dHuzfnfKAoyOY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71088},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"2711c2dfb2a01def8eb646c48670ea325b128e6c","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your local FormLab export. Your recipes never leave your machine.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.1.7_1780319712203_0.8422686228995622","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"formlab-mcp","version":"0.3.0","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.3.0","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"e0c322808c30f5c07b22e01f8a558a9034c5047c","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.3.0.tgz","fileCount":11,"integrity":"sha512-KhXLpEtYTqrwjLPxYDYZ6zB+bsIvOPHyctTaGnvUG+quUhp5pXwPQm0hyto+emrvWNgWXoNscQ+aFXV7e65d9Q==","signatures":[{"sig":"MEQCIC95JnOK9pnTEtZTlAqaLho6wN06jqGjgJv5SIC/YUEjAiAT+rzcRVf1VkmUfOIpmsnpQItE3bTJ3+k6Ss2jbYySoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85915},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"b8f3ef25aba6b4070127ef76ee8bbddf9d2d7e14","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@supabase/supabase-js":"^2.45.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.3.0_1780954323651_0.3307425392328749","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"formlab-mcp","version":"0.4.0","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.4.0","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"29af6ea940b623ff7eb91f64a9f8ef091956ce1b","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.4.0.tgz","fileCount":14,"integrity":"sha512-0EJ7Ob+ZjwJ2JNqHa71HEaO7t2m6yMBWBzpVtOoLsJxPrLHcThjEsHr5RRTqgsyMVaWyiHgGCNPr/U82U8EGbA==","signatures":[{"sig":"MEYCIQDO0MquH5hf1weyH+dKQos3DipF8WeCwszXMCwv5Xg2AAIhANP1/z+2ZXqcnIi+j9X9B/ClIgUatB6AQsT0vh8XsN6H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118252},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"af364e7ff3465e097882686aac2c45c7c28ecd19","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@supabase/supabase-js":"^2.45.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.4.0_1783188941044_0.4117695886974637","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"formlab-mcp","version":"0.4.1","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.4.1","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"45e46d7ed82e03b180b89027e31947fb3d53f89d","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.4.1.tgz","fileCount":14,"integrity":"sha512-1tZ6SEngJBGrkJXJAIhy58YvQEbFAEU1AFSkdlGswc5+t2bGVfs8cZN7OAg7lrpnpsvaRFdAbwd7QxkO/AfTvA==","signatures":[{"sig":"MEUCIQCe+GqTQZ51CsbeoVQbKBoKWpOO/4E/tPOZL+QcW/4oFAIgaBnel3W78Ct8sqwjJCSXNRAiLjCz4kTDZY4GiRFO0Rk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118605},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"166cc070e505b35a896698fb6c9aea0e5697f3f5","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@supabase/supabase-js":"^2.45.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.4.1_1783455306427_0.6522150562273394","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"formlab-mcp","version":"0.4.2","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.4.2","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"b21c7c92449ef1e205a3bc50e2acc28223d1a61a","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.4.2.tgz","fileCount":15,"integrity":"sha512-OHfGOUHBK94FXudy3rWWH6QcsubfxViXYCl8QUbg/Rmy1akNVfEy8maE+OYuiImHLCgjr8EYhqMZiyeqxvLtNA==","signatures":[{"sig":"MEUCIQCA8E+0R4AdVbkcVr5bfwhzfjV9aDbNt4Xpk38N6pUevwIgR7GZ5YA2HS7lO7RL10foyD3UtIlNemG8wBMHpN+EFbQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122967},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"6b954fcf3b76bef33baec9eaca3b0cdc7927eedd","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@supabase/supabase-js":"^2.45.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.4.2_1784296766143_0.8755269917655661","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"formlab-mcp","version":"0.5.0","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.5.0","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"eaf61e61ed6193910dc7d7e0de84d3c17be3c999","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.5.0.tgz","fileCount":14,"integrity":"sha512-qOHj9f3DkuwtY/G7eHHIiD2m1yHjBbwq9fUYxlRkmTNwW/WRNtY9qtUPBytDzE/e6k/X/8EntVktjy1IdKsalQ==","signatures":[{"sig":"MEUCIAaLjpB9SbOwS2o++8/oSTjXYydcK4FybF7dW4Db5Qv3AiEAnuXXgtxbk6ck6H7CCMM2hSn4MtTUjjyQr0bYru7dzVM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117580},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"b333c63bc26d1c2529babcc0ba52fef1fefeff76","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.5.0_1784301949213_0.5366726494163927","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"formlab-mcp","version":"0.5.1","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.5.1","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"646c031badb165b5fee0926033532c2ea809f9db","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.5.1.tgz","fileCount":14,"integrity":"sha512-bKblLGmmM+PPgzTFPZQz/aoW8uyVZoJMO5ZIN7UHcUi3KgTa+fW05WKRSXNJyrdQ4YEZpSBNguI/m85GJQU6VA==","signatures":[{"sig":"MEUCIQCe5Tb8aze2JpQvejTbSwgq6BCrRVX48nGMtXFWkJJyvgIgcRL/AHOV01E1ZHR0ooEAzmJ93/Cz981fMnpEhewbqcQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119882},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"a88c0fb8eb27b6078ebbf5fe8999fcddae9d0eb1","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.5.1_1784321754721_0.28216102100570284","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"formlab-mcp","version":"0.5.2","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.5.2","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"dcc9cbad2921b1d6d3dbd90607633732b8f00f4b","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.5.2.tgz","fileCount":14,"integrity":"sha512-xPsUBJjVOQQ3qe/z5rNOdIKi6PuupHwZ58DZUBRPrzIG3MkKLKGOuB8C4mTaNfF+74G4xuZIRKKFx8QCMT7rWA==","signatures":[{"sig":"MEUCICxVLzfmBoa9xpfH32FJO6Qpboq6ajKn2YIZ4OmyzwdBAiEAmXpa+hWpxnwUXdtjslkVEKoT4CMngAzdPjck8qQ6EAI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122193},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"d55275a3843380d2bdb81fccc5f45cdcc4d58a96","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.5.2_1784466938708_0.7796563756096497","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"formlab-mcp","version":"0.6.0","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.0","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"87a332b7041af5b5791af97a2db1bc1e76212c7f","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.0.tgz","fileCount":14,"integrity":"sha512-DfoFXJQ0953zLYLugnxBHZyJmFjGj4XmMXx99KKNQOS1xDS/byAu6KRwlmjWCI1sc1UuXYXklpQFtSHui7xRcw==","signatures":[{"sig":"MEUCIQCoDFSMSkvNHeeGcEmr6I8YYLdZ+yVcyCCcqNeMGl0RQwIgJcWx/StJIxgCxeUurAVCjWB6JVKR4epTEXiRC95Rgcw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131757},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"53e3af858bddf4a1893109b9414a2be50791c9b6","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.0_1784745875440_0.12087436872051227","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"formlab-mcp","version":"0.6.2","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.2","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"52d7d5f1c9174a542af608baa6766af8a9740703","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.2.tgz","fileCount":14,"integrity":"sha512-Nuy+ExBIOrC4cm/OHrrsFsZOcOI7Y09KjBd4m88F2CFuE9X0/Rrcz3vNEN8QwVheV6rRDfrlk7u55NHu6VXO9Q==","signatures":[{"sig":"MEYCIQCu/0AxePsPwpOTKjhdNAEV0j/3851knfoiQRQRP+wtLAIhAPAh1rjGMibHgw0ozP3wu2bcdZLUOMbFCjL+j3wgZ3s9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132675},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"df50fb240e9a8d4d3e7dec6e5344649986b672a2","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.2_1784843138352_0.47227853170954126","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"formlab-mcp","version":"0.6.3","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.3","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"bf408919421c67b86dace0690bcd9a43aac2b1be","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.3.tgz","fileCount":14,"integrity":"sha512-y9S81/QHiygH3cPpFLYyb0R4FagYj+ryY8PZsIuvXX1HTAXvphQpQeyus9qyZI8LU0P+PU110ufBLWXo01+nZA==","signatures":[{"sig":"MEUCIELGv5PpFgP+yUU8hiDaywPF0HCIpWc1ISbJQRu8R8ipAiEA1MIK78Hili0xRlCyFvolyl0plW/48jOSuLYauM+9+A8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134899},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"128d7d80c8674247a3870f18c12c35b629cbd9f0","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.3_1784843861436_0.7176773835811974","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"formlab-mcp","version":"0.6.4","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.4","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"d2112d6383caf2209a83899010a8321ee4e10736","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.4.tgz","fileCount":14,"integrity":"sha512-eoU9X1vsuWt5f/7Uk9OTuJe1RpBMpVeG21o5lTqoAwiq0fAdH8PwI46632liv5Rp5895/NoberEBv6BYoqFt6A==","signatures":[{"sig":"MEYCIQCZep8AEQwy22MzATxdaqVqmK+21EPWPL16iaT0vGzWAwIhAJPc9vdn0TAoxkV034uKzQf9/CZL1SaGC7oD5JwKS3Kv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134899},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"1fc16464b463e49f2013c434e51d254f7366746b","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.4_1784847122091_0.07521065737454014","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"formlab-mcp","version":"0.6.5","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.5","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"2eaff46eaca8dc055bdcbefc77f3a70f59105aed","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.5.tgz","fileCount":15,"integrity":"sha512-MVYQ9hFZT+zWUDnC2m9iq96V2V7ZhxxUNhY2Sl8UWHqbpDDMhw5vwDkkoipuDHHHCIlvQS0Ux+2fbb86jBqzbQ==","signatures":[{"sig":"MEYCIQCjFJQp6uIwbBI6BBA0AeRxBbKtrGyAcgwrmAJYu7qnhAIhAO+JgHlmWEFB6dpIW02TPmwBkCc1sAkobr6o3XUp6dqh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":161110},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"e87ed52e0406630f02f75d9d9128d7423c21797e","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.5_1785095117927_0.2547434699822544","host":"s3://npm-registry-packages-npm-production"}},"0.6.6":{"name":"formlab-mcp","version":"0.6.6","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.6","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"5bbb3627a8b15b97aca8b5dad16804ac5e1fa562","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.6.tgz","fileCount":15,"integrity":"sha512-EvGOcype+BSnVBIyHWpjjzFzenAdf6nxNMWKVgm6gLg36pREamnSwt1tQlBAw629YtgWvvrkHXrammD+gAyIDg==","signatures":[{"sig":"MEUCIF35bJOiJ+Hp1TjePbFUImQpA+oF1KgG8b8Vw7zr/t4rAiEArQDKq5gBpvpn6n8IXQPYfvDskrar7XJcdRL88S0fw2I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163347},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"1f6a4fec3a69bb16a9b9fd1660c75a7acf184b1b","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.6_1785969076793_0.1501433177177418","host":"s3://npm-registry-packages-npm-production"}},"0.6.7":{"name":"formlab-mcp","version":"0.6.7","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.7","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"805c037f7f8014ba84dfe81533066a74728b5cec","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.7.tgz","fileCount":15,"integrity":"sha512-As/UTJC2rcZJBC4AFs5qcisOgh+lOWRKFji0iNI8GPuVHwmSgff4/pulGI00vq5LNQoeiTmHnwI/7Ujii6eoCg==","signatures":[{"sig":"MEYCIQDI7tQz8Lik1JmqBetBYbCMgH9mwwmYUuPNswGyBBB6dAIhAMYxqHjzPL7OpZPvMh0DyA9pqKEtYL9kbn0qrAXLGlRg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173657},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"7d094672226746d40d79275870ae1fe8c3ec9bc7","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.7_1785969695711_0.614161557760887","host":"s3://npm-registry-packages-npm-production"}},"0.6.8":{"name":"formlab-mcp","version":"0.6.8","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.8","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"610e873b3021dfe5a61e9d53959f3cb251358c68","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.8.tgz","fileCount":15,"integrity":"sha512-lan90NsgSok0i2DzAvltW4O3A6ErT5s17uS7umNiEtAgY9awJEh+AmbGojsBXWccxXex+eHLyGfb4iar4SYNbQ==","signatures":[{"sig":"MEQCIF4CWt94t4Jwixv5xtnxk46ZsL5uyj60rywk3ImSezRdAiAgzfUWcQHMuJwophTz5slvECTRkkHmuWIjQPgHHyg2Bw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176851},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"a65698232d6225c4d49287f4ffbb3ec21b99d1ff","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.13.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.8_1786850982589_0.9810602160457886","host":"s3://npm-registry-packages-npm-production"}},"0.6.9":{"name":"formlab-mcp","version":"0.6.9","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.9","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"37a3fdda56d577e352d537b1e7c1c8a6318c0782","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.9.tgz","fileCount":15,"integrity":"sha512-FnsmOa8ePmv6J8gHuyBotOUDyn8xzHDKr7MtVBtKBaUSsTN7Up2+EG93CnzUDVsjjZRs7qN3j8LKbc5oOoNixg==","signatures":[{"sig":"MEYCIQCfX2Oiuy4L0bQrOk3mii0RTyFkTdEmKFsOv/U6yCydqwIhANmmEerY7bAEEpfsJ/l867PWYjiIUOoHAPWVaLbbOGHI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177869},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"2b19291706b7f3e57eca4158e9bac4982a3a3c78","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.9_1787431136364_0.3365833155044273","host":"s3://npm-registry-packages-npm-production"}},"0.6.10":{"name":"formlab-mcp","version":"0.6.10","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.10","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"a07ff1eff8b4eb87a807269625ca48a6d0b0449f","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.10.tgz","fileCount":15,"integrity":"sha512-WHW+ua1OBxlIT4RXjXOmfOr3D/V3Ibi8eUdvj4JTWEViXNsdL2QSvblmIHQ9nzHXgaf61XAR2MrYqqIdV93gUA==","signatures":[{"sig":"MEYCIQCW6qKbsfammDR58QomZj8Hy+spnfaNCnoIR5/4DI2fWgIhAI9uRHWudOKE2by9cQfqoE/DHsFN6+bETVh5fzpEpSkW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178276},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"83f5297e6aa8a1d9950ab82b16aef5e652b3e414","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.10_1787579564090_0.9007352874376271","host":"s3://npm-registry-packages-npm-production"}},"0.6.11":{"name":"formlab-mcp","version":"0.6.11","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.11","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"32468b35ec8786edb9db9bcc30f2e365c17a58f9","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.11.tgz","fileCount":15,"integrity":"sha512-/8MiL9hq0S29IU/cD8d679t+rWKbvyIQVJaEm/pswe+49QZTCAwMOLG3ZIR848mDmEdmPGgFfHDpe6LiBXVVfg==","signatures":[{"sig":"MEYCIQC8IUnHLw3YdjPXoLDhOwVF6sIVJVK3lwIS8lhd2gQejwIhAObQsNPOtjpa2grdPkwarHkhdpax4vmJb1Jl8JntUcB4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178603},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"83fe28d0c0b14f504ee94328980ec2b0fe2f12dc","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.11_1787582466805_0.9320518629296959","host":"s3://npm-registry-packages-npm-production"}},"0.6.12":{"name":"formlab-mcp","version":"0.6.12","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.12","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"3bf24561932fcd812b7496e4d1c31e7737d477c9","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.12.tgz","fileCount":15,"integrity":"sha512-UnyAVmlbT1GWbftsQJi5p90x/BlQrpKzJPwNfv+6iZ3yX33FA7cnhL3nXBV3hRQ8qqS6maG5SbhQwLHZK6evHQ==","signatures":[{"sig":"MEYCIQD4vwfggeHIXI4d45z1HVuTWFfAuAKFDGqWWNmAb8MKcgIhAIK50frwWpOz07y7qw6JMtfwINpJCB78Cx9dpFxvJDkJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183622},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"72d3425e5c9effe30361ba933bbd19acdb9da599","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.12_1787668657933_0.9547810204625453","host":"s3://npm-registry-packages-npm-production"}},"0.6.13":{"name":"formlab-mcp","version":"0.6.13","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.13","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"cd86ec08cbfe5f66196588a6511ca8581a2ef3c6","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.13.tgz","fileCount":15,"integrity":"sha512-Tkl0yF38HYxigOdaDbOulYK+pT2+dEFCU2o/u7ieFnGkVTV93dReYwukzBk2A3aVmHGd+FSPOe5GpJPJoGxNJA==","signatures":[{"sig":"MEQCIGXSJ31cpfn8WCFul3pwng7dBegDiTDbOrFqU+tO/LPeAiBM9Ouox7C6XjZJwMfckU+ZaXN2HQxUgRCkFUaFYhYfMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184774},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"dc0ae035c82d187225af1136e713a421d5863c8b","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.13_1787762411079_0.8647282975684796","host":"s3://npm-registry-packages-npm-production"}},"0.6.14":{"name":"formlab-mcp","version":"0.6.14","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.14","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"8ec872e7ae386be8c74f8883266854b7d21fa886","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.14.tgz","fileCount":15,"integrity":"sha512-X7RrH6OrtxasbTmaSkNobnW2tF9lXrmT6ceI7jVtqxIGgwPOS8ScjzdNCWWPKj525+fekFtgUVi2A6n/3dxhgA==","signatures":[{"sig":"MEUCIGMrYI0/OCBdZKnzWkomtYN8Ptjq1mEd+3Zb83sIGX8VAiEA4H08uFshSFbqu0PeMh3m59LzetGKeTbfo9evIF4sftw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185251},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"af534b1cb53cd33bc2d3a0e87ff39f49cb71d421","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.14_1787769993721_0.4242537842212595","host":"s3://npm-registry-packages-npm-production"}},"0.6.15":{"name":"formlab-mcp","version":"0.6.15","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.15","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"4591f4e19bdde6b614c49829809550238243ec17","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.15.tgz","fileCount":16,"integrity":"sha512-0ErAUIn9TUW55w8IBfzZhe7D+vvE9wpCBQ3Eae/qecFdcDwHsEB2x1SPmhrr4oonW35G8XTeseFHDhRmPnFWVw==","signatures":[{"sig":"MEQCIETjj0wRsRcTpUAJodIOF/Ng3udfjpSnYGnmOKCS1GT3AiBGL6xUOEzCMjN2TI7tPQzR5sStZZ3nRmveAdcoqZ1M5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200554},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"918c58e3248f4cf84e8e08828bd8cddcef7f9386","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.15_1787962299029_0.3150446694379905","host":"s3://npm-registry-packages-npm-production"}},"0.6.16":{"name":"formlab-mcp","version":"0.6.16","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.16","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"ce21ea5f304a0095e86a39e6309dbfac8defca48","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.16.tgz","fileCount":16,"integrity":"sha512-6NyqBjAa4oFAibD9wIEpFAfdlrkXF27CH/9vz9EGge5AREV+RmW0HKRu3pxVb5tC6kaZZcQKB2jD2jLYmvJs/Q==","signatures":[{"sig":"MEUCIC99JyPUxX8PKbqrEereNRkceoWOhSS+vb5Ad7DNrU/uAiEAsT6QkZW0bMFwqYRZmizBevkPFITrGZ01pYUasJdb9Oc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":207134},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"c1e343bdf94f4e37e990916f05a36bb474e93cef","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.16_1788033953688_0.3911150872409921","host":"s3://npm-registry-packages-npm-production"}},"0.6.17":{"name":"formlab-mcp","version":"0.6.17","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.17","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"ec9f8be7a2185b4650d8bef26a464e789b7adbcb","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.17.tgz","fileCount":16,"integrity":"sha512-g3wvMRuqCG5FNQqoba7tqZhs8N069t3rxmiGp+hG7oq4+TxM70zzWtEw8DUNy7Zgjh/qHUasax9y9YQCOrKDhQ==","signatures":[{"sig":"MEUCIBLRxGqUpS2Fb3lzuomqwR3gRn2KFmCkl0wbCEAx/GltAiEAppqvz3rmlVUYoAZCPhs7o64PxEh8Os6QHQVRqf5W6l4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208022},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"c78ae02b2e7520544248bec8d504151aa5279253","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.17_1788048441111_0.0578377344217198","host":"s3://npm-registry-packages-npm-production"}},"0.6.18":{"name":"formlab-mcp","version":"0.6.18","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.18","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"37a09dd8b5ea9e75068d45daef2f6943164d6cac","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.18.tgz","fileCount":16,"integrity":"sha512-YP6OBKyEhKu/xSFlt1Af+T5P8+D4LNCtc934b+VvqjT5Szf7VuZ5CE5vltyGLfcJ5ARMBZh8/l1vV5jBRHtmPA==","signatures":[{"sig":"MEUCIF7CrlD7jaluX7unnjUp69PQh/AA+q3lz0cOUIH5MAnSAiEAttc9zbZPt6FS1K9l5fW25OEHePCgktRbdzjcoalNTKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208070},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"3cedec9c974f11f037c5d8443470a9b15f5af24f","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.18_1788377018379_0.11414778084416599","host":"s3://npm-registry-packages-npm-production"}},"0.6.19":{"name":"formlab-mcp","version":"0.6.19","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.19","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"c3fd747a61fc7af8a6c72b2a6db748b984e7e58d","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.19.tgz","fileCount":16,"integrity":"sha512-ynq97BBPrSy9zv1oanaczK47fgMnvMSLGW/HEyuhkcj9xwmawmMAi7g27B7Y/f3O6T9xz3JKcUS2PkKBxAvXqg==","signatures":[{"sig":"MEYCIQDRhquWCQ+PHvHr+gpg7hBdleYQa5ujsE1Equv+izN0cwIhAMSWVIgggcXQbTt6CFYfkn53JWxlXTJaJovESCpstYI+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":210074},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"f7396dfa2ce90281e3050de91fcc1056a1258766","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.19_1788552180556_0.6908302422892354","host":"s3://npm-registry-packages-npm-production"}},"0.6.20":{"name":"formlab-mcp","version":"0.6.20","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.20","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"8b342eada9676d0963b504e70ca5ab04884788cb","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.20.tgz","fileCount":16,"integrity":"sha512-pfsNSLWIJNvf6zC5jEu8D3I8ytsndzgLyPnx0pEFohb3KJRdyY5jT7i92qYZvXx74NZHEAYJ2FDx6EsmdwCHLw==","signatures":[{"sig":"MEQCIEGOA4prAQBGiPekcA+p5Yf6LOU5FTuVCg++6DHoV60UAiBpUyVKnrCm8I+Z25g9qge965zR/9IymTvgFK/CIXw/Lw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212086},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"ef6371159924999998de7edb0a6ae4aa35183696","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.20_1788728284249_0.3915312198062799","host":"s3://npm-registry-packages-npm-production"}},"0.6.21":{"name":"formlab-mcp","version":"0.6.21","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.21","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"bbd22eba54c4a9fe32e806eaad7a535fba98468a","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.21.tgz","fileCount":16,"integrity":"sha512-CtkT+bdR2rIpAsvN6hMFaboMvkLe+wmYycjFTync/0LzhjcKbXxYkAykgIp95tmTe9frcZcv9C5nzt9Z1LsoTg==","signatures":[{"sig":"MEYCIQCUHPi5lKcYE24LY1b7LbS64pLilC1ojYlxiVUSVdxTwwIhAKWzEdTTnJVm0l52JF2xSPMLL5rfTLZvrOp+ZwDoBbYP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212368},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"dedd72c8c2c2fec7b2a93072c7292ccdc2f00eae","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.21_1788730791039_0.14373108771561838","host":"s3://npm-registry-packages-npm-production"}},"0.6.22":{"name":"formlab-mcp","version":"0.6.22","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.22","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"a5fb286782654d4da744e0c17fcaf316f4cf4095","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.22.tgz","fileCount":18,"integrity":"sha512-tz8Ti2w8coZSTodIj9o6l3HwcfS3mVyp72z7TuESiY6EQgYsUbhamkpxf9tNPvpQE/Kdk36AjfxAj73FBOyShg==","signatures":[{"sig":"MEUCIQCuXJpCKElZX//y7WGc9GvTdc5IBLkOsDiTwrfUGcwQ1QIgPyRCyydSIR+9pwi4RXh00ytYn9AmU/y1x5ylwW/GjU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":226559},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"3a21c289b41336381e90a36b93a217ea27a82577","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.22_1788836917812_0.46682063836660204","host":"s3://npm-registry-packages-npm-production"}},"0.6.23":{"name":"formlab-mcp","version":"0.6.23","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.23","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"49ec231e4c7b6370e404e51e39e5390c8d9bf8ee","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.23.tgz","fileCount":18,"integrity":"sha512-deUMWsGDZ9/VO6gr9MBWLh5Et+5OvKy47JN35vggBTj9Y2+xw6IqNzqBw6f49HTMRdLZrXxIw6DYNm/M8vVmiw==","signatures":[{"sig":"MEUCIAJ807ebXxFOUcs2Z775SBDqtyEDbrCdCRlw52F+RQBBAiEAqrRak++gReHqVZfTfB/tpBpuxZHpGgZQXsnrarvjkjk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCBsVyTg7R1bG70zfBcewdLzgiwfQm6NrbfB8ju7SxGogIhAJXw/Gy/zWq5xSbDhMjrLoc6YBaEmDBDGvOqZdd/zVSv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234908},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"234a13b08cd65a01899a3ce3da317d64a4a7a6ec","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.23_1789165253656_0.3672336302532402","host":"s3://npm-registry-packages-npm-production"}},"0.6.24":{"name":"formlab-mcp","version":"0.6.24","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.24","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"8e955a1dc1154ffc4b81bf3773ddc7e6276622b4","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.24.tgz","fileCount":18,"integrity":"sha512-IzT4FbPJDCRPSlYULID10BMuIXaajWcOyD23ENJY6K/savem6zE9xRo6m2bes6G5gGYaPx5+fSexKQ7qGbRapA==","signatures":[{"sig":"MEUCIQDCKDrawIZGcOd2mNLrry6Skskvivul1W0mqG7MEg0wzQIgHK1kVtOEU4PHkrvoMZ8Du8dG2CVpNujHNmojy1ranzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDHvsEL29hAYv2g33CO6R9zV0EhuD12NWzE85ANLWZrdAiEAwvbDdYffxZdx6DFUwXwJ6cx/ULCxeYQO7W1P/a8abn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":241352},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"024fdf912bb43428e94771f87cec9c30d5351e66","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.24_1789330221958_0.8063776720369042","host":"s3://npm-registry-packages-npm-production"}},"0.6.25":{"name":"formlab-mcp","version":"0.6.25","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.25","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"873efaad3d60378a0b0711333b930ee34167dfb9","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.25.tgz","fileCount":20,"integrity":"sha512-KUZ4mXTU3zZEx60TDMQCAaclMUHTTY5UR5vnV9Z5JeANb/4v2z8E4CfSN59kIPdnBUcm3gvGwEojMTS2DdnCnQ==","signatures":[{"sig":"MEQCIDg0t5NOGY0x1rVsNcQJvoKJUPZbtMcD2KZXGTYWVIGQAiBqqpwPuOMK4PPPSPQyCEddR/Cjn/aJ4axnfYrKHjqEIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGqa+A9AvC3lA2DEUzjDk0rqr2F5aHDwU2o+e3o+6+M2AiAAtELwKzLeVxCRQxDZDMr/0rIW5WoCpMVLPzjhmUc/UA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268649},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"de11f406d3f2804bfbe3c129effb7cca52315e1e","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.25_1789652137766_0.5149808457958318","host":"s3://npm-registry-packages-npm-production"}},"0.6.26":{"name":"formlab-mcp","version":"0.6.26","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.26","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"610763b2d0c21c143033f2d40dca3fcfab466ebb","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.26.tgz","fileCount":20,"integrity":"sha512-bLEZnyH8tjRAGD/SnJ8qt9ZGpdmTWiOUIqbGDvuTOznDR6wjHUY12/KcmAwbUISikt1ffah5p22Xu0PpB1ThEQ==","signatures":[{"sig":"MEQCIDB165KFrzFdrJ4iOFOe4ib5p5eYV3Q1K6oZsG431RlrAiApaGusDy4DF7YVTM6bsdHwJMhx39qUzpMD87L4AUGkag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDUl2v5lwVocM3Hfd9WiqzvsoGpj8dG/0NAbuMJG9TqLAIhAIrmUFMP/39uorVUhM1XUVVBwdrq71Fq/3NPxbYOb87+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":271422},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"8b1d9ce501b11ab742ac21ecb322572754090da4","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.26_1789753521284_0.36545311406429426","host":"s3://npm-registry-packages-npm-production"}},"0.6.27":{"name":"formlab-mcp","version":"0.6.27","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.27","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"b89bf754d304e2b3648261d6628a002e45243b85","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.27.tgz","fileCount":20,"integrity":"sha512-46MxFsgtFkrY5/2SRzDHaN2Z6yMi8ETqrNrA1twv8tVozM0Cl0PG3VmQDmpOpzX+7HA3CYBRGsgIHh/eMLsSHQ==","signatures":[{"sig":"MEYCIQC6WTOHfk4xLzrscbBU7XqTOuw/6SVhIS51OY4jFOdCVwIhAKfQJ8O481gHnH3tcVt6BbS9owv0tLu6tJKaeuNX3zkf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF3ygDqcOKmPphUYNbdhFNM5lXZNXF3wI+b0OtIrwS0XAiEA7xXHawqyHYndGumnb31CG2kw1VfZhcWCk9XZlsTr2dA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":272215},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"5e643a04a52ea3fff15d66f7c3732b57fce146bd","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.27_1789753594055_0.8181054599247521","host":"s3://npm-registry-packages-npm-production"}},"0.6.28":{"name":"formlab-mcp","version":"0.6.28","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.28","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"d7ba941e3e68edbf0788335ef2c64db65b851265","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.28.tgz","fileCount":20,"integrity":"sha512-7W/82deJuUhng21wp1cxCtvJiJqkj1ryjev6T9sPoza2bx8F2fnuAglEjp9hQqu46gCHfCKJFILp15naa6ih9A==","signatures":[{"sig":"MEUCIQCc28dfubKS0YQj7G+EpL0JSSzHqYWnN6cNPI5F1ILBjAIgMG4OvKIAQcbUBjURsYNEPbh75kpZAsIqjEQbBcbMEbo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCPXPUfMyMUtGfXOWtjNPQtpC7xN3OiR3cEbGzAo+J29AIhAM6nRGu+JjL+U5qn+sro0KWBy5KfRs1BMRGSD31is71C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":272454},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"e2e8157b02cf41115b8718a7a60d0d760e46ba05","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.28_1789834080753_0.3534386184717111","host":"s3://npm-registry-packages-npm-production"}},"0.6.29":{"name":"formlab-mcp","version":"0.6.29","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.29","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"73cee21362a9f539c6ab60394a4cb9ab153916a8","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.29.tgz","fileCount":20,"integrity":"sha512-ar4xGAHGJKToC8ZSEDQYOcl8TceKfLW8HoBGAnfd/WYANLopXsQk6IFMRD6Pe9q8frlpc5DnCA7khDCIxWBpDA==","signatures":[{"sig":"MEUCIC1tm6JTzMCw04Moam4Pd+WCR/ab4FQUWtFbvqB/AnwgAiEA0tfZgQsyGiXMmdu7U5UFzgZgjyIPlIPcf9cfHGmU9nI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCUxYgNr3sK12aCs+swIBmURuXpon0gSyGR4HaoiHX2gwIhAJaGwaz3wqCXcbY+IVJNGM/do2Vuv9MJwtPuTuuMcUFy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":272844},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"8b5e75e5b3d21dcefe19ffe8cbd52028b60f259f","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.29_1789834558455_0.8248625986730083","host":"s3://npm-registry-packages-npm-production"}},"0.6.30":{"name":"formlab-mcp","version":"0.6.30","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.30","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"f4022f5875c506af3e55bd734ea4c42ecd73ef99","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.30.tgz","fileCount":20,"integrity":"sha512-45kK/ZV7u5kVPNsLzAIPnwi69DYxfvFTbD1bNq5tjkJpxizPL9LZEfN/3BMA7IEbBGaQg8mSMSvFRRuLU9WFYg==","signatures":[{"sig":"MEUCIHCx6ZaT/aH/slDx2knPxv2GIbMxBxu6SEkeFilQLClvAiEA4F1ejsVq6YWNMNbM1rdOkBKCyRVWQO++H2hPCVjb7co=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIC1Svwi8T2hTczfAhi+Lo8a/lfZ+I0e7C+V8pJoJzw4CAiEAvtrCQT8Emj/wvdwFbuy5Y6ApQc4ySwnSGKTGVNoGmbI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":272870},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"f9a90d9863c02c673393823be871f449e54ae30b","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.30_1789835706602_0.3236576483138185","host":"s3://npm-registry-packages-npm-production"}},"0.6.31":{"name":"formlab-mcp","version":"0.6.31","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.31","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"e54a59470c97185cd32251bfaa882788a08933dd","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.31.tgz","fileCount":20,"integrity":"sha512-CWk17EMPZ0Jx9E9tOXoHo/QDsUIhzQl8TBDsCXigds97GBsar/DfQfHSVowiaPCCTvkb/XkXBEnhi8uXhEDOnA==","signatures":[{"sig":"MEYCIQDd29cqDEHtoRe4a/LIRqXyYYSqC20dBm5V9mIN/lIMEgIhAPz6vcIk+0ivggGaI12xoRTKQXJAYRwah5KnRhZsjPhp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCMio8qytyrqVqvCWAGJkaBzhSyIvRiT8OAo57tNhyysAIgVFg9rAhblcfv1F2WqE1WMSdvn2mxlI5XZyVGJOt5IvY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":274434},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"cc0241ce7135f65cf685301d1fd402d7f720cc30","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.31_1789846851704_0.8248674090737695","host":"s3://npm-registry-packages-npm-production"}},"0.6.32":{"name":"formlab-mcp","version":"0.6.32","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.32","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"725689870a95ee509ec855cbb233b8ad568ed683","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.32.tgz","fileCount":20,"integrity":"sha512-cpztJeQ8B1/yZYevp080A9746bCggcRDAEN4w/mUpGrIGTjinC4jksCItRXphTBBUlesKY5JWiAetrIsHoYJ7w==","signatures":[{"sig":"MEYCIQDXciGyLeCKxbs1MTFNf8p8q/ADXNvSJHyMuSVRmUG/egIhAMop+hxhXf7giLGcPohvoj+Mx0+7yNokihCHWyxm5eX5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD4bunTkw3Iv7TeXusOXJCtCo4i2J4oz/U2GDyZv+SQuAIgEiSDbng3Z3Sh5+fu2WYyoKnW5HTI1DJ8zTqq/l6fc3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":274608},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"913cf38e298d27310160ef845aad25ccc114184b","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.32_1789847907364_0.9589926489578349","host":"s3://npm-registry-packages-npm-production"}},"0.6.33":{"name":"formlab-mcp","version":"0.6.33","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.33","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"30a8c0bf1646bd6cf7857e5cc0030b7ce3b26805","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.33.tgz","fileCount":20,"integrity":"sha512-RxJ5d5EaxBwNtPxXPyA3C4xrqXN3TEKa6dUDtkDxLVfxCWty2nD0wghxPu3GXcBYGndhaAfFqh7tuIfcN27Evg==","signatures":[{"sig":"MEUCIQCTZoiSLVix6bLvYOGQtqA2DVz/3X+JaddWS1l0Wq95fQIgMnpVfKhZx+u439pwEIjcqyF8gBvETzbAVSRRgIhPpHY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEwicMSRUmn5f0LrlFTcpROLzEy5wzdnwS5+qDGe5RegAiEAwdx9qNGPWzmdYyNWMcx1QJJL47opUVlqxPAd1KyUQpg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":279274},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"8a5b8ac56c7088088618fa474c2f93bd1995821c","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.33_1790016774697_0.373475568860429","host":"s3://npm-registry-packages-npm-production"}},"0.6.34":{"name":"formlab-mcp","version":"0.6.34","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.34","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"37d3dc6aab9915800a0c58a238aa6bc2d06c190b","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.34.tgz","fileCount":20,"integrity":"sha512-t9PrT2yiTijxJnRRGO/AOd7S/EVK7I5v1zLkGjg2Jv5/d+M/ZuwVdYDRXkwrJ7YtMJEr9ypOwj3TriNHb0SOqw==","signatures":[{"sig":"MEUCIFWsPqTn27atJNJkzoaM7NL111qVa4kkG1MDY63PSy3OAiEA5ZhP8rR4HzfvWKZ9u6yWIxz79FVW5cx54XDNfj2+LB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDuxdQA+ZVMGjdV/NH85czqopu3F9YgE+hgqrWHsAClqwIhAL2d5DApQa/mRjnLKH6z1JxWBz5m+5lO3hIvDLAW/euM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":280721},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"f9c889fa288e068161ad2b7f78428ac26e706bbb","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.34_1790017825067_0.859622024803901","host":"s3://npm-registry-packages-npm-production"}},"0.6.35":{"name":"formlab-mcp","version":"0.6.35","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.35","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"c2e667fb1f075bb3f2022a806164c81f02b309cb","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.35.tgz","fileCount":20,"integrity":"sha512-bWGj5nGD54IvK8y0CIlvzjEGze9MoqiQhopsVVI2mVwufkH5/ZGtscAwDA14AHepz5Yt/sdls+MKu8uKqdnuFA==","signatures":[{"sig":"MEQCIHACUoElDo7buEYR1xKFWqw9rtgseyyv18m7NOR/X4D2AiB5YbHh5mNQ20Z7E5tna5xNdE4+wxlJNTEWgjvQIgpTlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAgJ8CCf4xG7Qo4tX5Hd/W3fsM34BknqcvdHsHNakC82AiEAmH61a+w7PY4AsAZJrMPIz/uyFZZ862cD8FCHePZ2aPM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":282812},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"6a524b102b3a40aec6ae699810433dbfd58ecf42","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.35_1790019064404_0.7657991505600961","host":"s3://npm-registry-packages-npm-production"}},"0.6.36":{"name":"formlab-mcp","version":"0.6.36","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"license":"MIT","_id":"formlab-mcp@0.6.36","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"homepage":"https://github.com/juliu1980/FormLab#readme","bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"bin":{"formlab-mcp":"index.js"},"dist":{"shasum":"30c591566f9e5109c7ee5f489f9ac8808040e466","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.36.tgz","fileCount":20,"integrity":"sha512-hWTZCkbGPSQ0oeKcqb5sPbtBRKwG3HFfsXG9g4/TWNsLat4CMCgCNe2GcD+n5ahJ4IinBW7Qwgwm8Og+kfm1Hg==","signatures":[{"sig":"MEUCIA4NApw7HLiUsEaWGtxk+VtwZQvfrOOOcpQcaUkBi8X1AiEAtBavEU0UMLlWEbQbjdhiXAEsvU4ywib2bw9dG/H4Ytg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFOOQKp23wMwNKWniPoaT6ONVICIGb4SXc056eIFbqNFAiEAzbjmUr2xdYWy2RbsfHTiCUe4Jhs3K5r755QU3gTbAwc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293414},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"e5f450c7e0ab881bb0b556883f2325cff0677dab","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"tmp":"tmp/formlab-mcp_0.6.36_1790190237525_0.813105969837211","host":"s3://npm-registry-packages-npm-production"}},"0.6.37":{"_id":"formlab-mcp@0.6.37","bin":{"formlab-mcp":"index.js"},"bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"dist":{"shasum":"74233fb26c0c611088d1d2ec0fe230eb4c18ae05","tarball":"https://registry.npmjs.org/formlab-mcp/-/formlab-mcp-0.6.37.tgz","fileCount":20,"integrity":"sha512-iHlpvgHTjkrhYT+clp9sK9TMy/31i7xedyicDHR4qGr0gJX4+6NBHXp7i6VvNHkgrWaxcPhh71oekWI7gtFOMA==","signatures":[{"sig":"MEYCIQCBgnqaMVCK935+E3fD21cmpj4o6FM40BHs37CcfKapRwIhAPvjj+bGbz3PpHUVqzky7uJbhqQTEIqRrwEu5NfPKtGQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDnY2k77foZodOi1DEBn5V27DXH25jennRl2oXRAFcU2AiEA3qQQpoJ7KffIObXer7xHvPUKcclFWd6aEPnn5XQW93E="}],"unpackedSize":294934},"main":"index.js","name":"formlab-mcp","type":"module","engines":{"node":">=18"},"gitHead":"f241426d89894db662c23cd29cd7db7adc071890","license":"MIT","mcpName":"io.github.juliu1980/formlab-mcp","scripts":{"dev":"node --watch index.js","start":"node index.js"},"version":"0.6.37","_npmUser":{"name":"juliu1980","email":"juliu1980@gmail.com"},"homepage":"https://github.com/juliu1980/FormLab#readme","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"_npmVersion":"11.19.0","description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","directories":{},"maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"_nodeVersion":"26.7.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"optionalDependencies":{"@rdkit/rdkit":"^2024.9.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/formlab-mcp_0.6.37_1790976209148_0.37555723166866173"}}},"time":{"created":"2026-05-30T15:09:56.504Z","modified":"2026-10-02T21:23:29.366Z","0.1.0":"2026-05-30T15:09:56.722Z","0.1.1":"2026-05-31T19:31:18.820Z","0.1.2":"2026-05-31T19:34:57.259Z","0.1.3":"2026-05-31T20:30:51.002Z","0.1.4":"2026-05-31T21:03:46.920Z","0.1.5":"2026-06-01T00:00:29.139Z","0.1.7":"2026-06-01T13:15:12.383Z","0.3.0":"2026-06-08T21:32:03.840Z","0.4.0":"2026-07-04T18:15:41.179Z","0.4.1":"2026-07-07T20:15:06.578Z","0.4.2":"2026-07-17T13:59:26.292Z","0.5.0":"2026-07-17T15:25:49.351Z","0.5.1":"2026-07-17T20:55:54.974Z","0.5.2":"2026-07-19T13:15:38.873Z","0.6.0":"2026-07-22T18:44:35.599Z","0.6.2":"2026-07-23T21:45:38.478Z","0.6.3":"2026-07-23T21:57:41.573Z","0.6.4":"2026-07-23T22:52:02.229Z","0.6.5":"2026-07-26T19:45:18.134Z","0.6.6":"2026-08-05T22:31:16.957Z","0.6.7":"2026-08-05T22:41:35.855Z","0.6.8":"2026-08-16T03:29:42.732Z","0.6.9":"2026-08-22T20:38:56.514Z","0.6.10":"2026-08-24T13:52:44.236Z","0.6.11":"2026-08-24T14:41:06.957Z","0.6.12":"2026-08-25T14:37:38.081Z","0.6.13":"2026-08-26T16:40:11.230Z","0.6.14":"2026-08-26T18:46:33.871Z","0.6.15":"2026-08-29T00:11:39.167Z","0.6.16":"2026-08-29T20:05:53.835Z","0.6.17":"2026-08-30T00:07:21.257Z","0.6.18":"2026-09-02T19:23:38.528Z","0.6.19":"2026-09-04T20:03:00.696Z","0.6.20":"2026-09-06T20:58:04.424Z","0.6.21":"2026-09-06T21:39:51.178Z","0.6.22":"2026-09-08T03:08:37.936Z","0.6.23":"2026-09-11T22:20:53.743Z","0.6.24":"2026-09-13T20:10:22.058Z","0.6.25":"2026-09-17T13:35:37.861Z","0.6.26":"2026-09-18T17:45:21.362Z","0.6.27":"2026-09-18T17:46:34.151Z","0.6.28":"2026-09-19T16:08:00.828Z","0.6.29":"2026-09-19T16:15:58.563Z","0.6.30":"2026-09-19T16:35:06.690Z","0.6.31":"2026-09-19T19:40:51.785Z","0.6.32":"2026-09-19T19:58:27.459Z","0.6.33":"2026-09-21T18:52:54.791Z","0.6.34":"2026-09-21T19:10:25.169Z","0.6.35":"2026-09-21T19:31:04.516Z","0.6.36":"2026-09-23T19:03:57.650Z","0.6.37":"2026-10-02T21:23:29.241Z"},"bugs":{"url":"https://github.com/juliu1980/FormLab/issues"},"license":"MIT","homepage":"https://github.com/juliu1980/FormLab#readme","keywords":["mcp","model-context-protocol","formlab","chemistry","formulation","lab-notebook","doe","design-of-experiments","claude"],"repository":{"url":"git+https://github.com/juliu1980/FormLab.git","type":"git","directory":"mcp"},"description":"Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.","maintainers":[{"name":"juliu1980","email":"juliu1980@gmail.com"}],"readme":"# formlab-mcp\n\n[![npm](https://img.shields.io/npm/v/formlab-mcp.svg)](https://www.npmjs.com/package/formlab-mcp)\n[![license](https://img.shields.io/npm/l/formlab-mcp.svg)](https://github.com/juliu1980/FormLab/blob/main/LICENSE)\n[![FormLab](https://img.shields.io/badge/site-formvix.com-2563eb.svg)](https://formvix.com)\n\nA **read-only Model Context Protocol server** for [FormLab](https://formvix.com). Lets Claude (or any MCP-compatible AI assistant) read and analyze your local FormLab database — your formulations, ingredients, batches, samples and test reports — **without your data ever leaving your machine**.\n\n> Local-first + AI-native. Your proprietary recipes stay on your laptop; only the LLM's answer to your question travels.\n\nListed in the official MCP Registry as `io.github.juliu1980/formlab-mcp`.\n\n## What it does\n\nAsk Claude (or another MCP client) things like:\n\n- _\"Which of my formulations use silicone fluid at 5% or more?\"_\n- _\"Compare the composition of Formula FORM-001 and FORM-004 side by side.\"_\n- _\"What parameters fail most often in Q2 testing?\"_\n- _\"Show me the DOE matrix at sample grain for all 'Anti-aging serum' family formulas.\"_\n- _\"What's untested? Which of my approved formulas have no measurements yet?\"_\n- _\"Map the design space of my WallPaint project — which ingredients vary, and what combination haven't I tried yet?\"_\n- _\"List all peptide ingredients with purity above 95%.\"_\n- _\"Which botanicals do I source from Madagascar?\"_\n- _\"Find ingredients where the sequence contains KTTKS.\"_\n\n## Tools exposed\n\n| Tool | Purpose |\n|---|---|\n| `list_formulations` | Filtered list of recipes |\n| `get_formulation` | Full record + flattened wt-% composition (sub-formulas expanded), the ordered **step procedure**, user **custom fields**, any **process-factor values** (DOE inputs — cure temp, mix time, RPM, pH…), and the declared **finishedDensity** (g/mL of the mixed product; volume-targeted batches scale by it) |\n| `find_similar_formulations` | Find formulas using a given ingredient ≥ threshold % |\n| `compare_formulations` | Pairwise side-by-side composition diff |\n| `list_ingredients` | Filtered list of raw materials. Filters: `family`, `supplier`, `name_contains`, `in_stock_only`, `ingredient_class` (small-molecule / surfactant / polymer / extract / fragrance / pigment / sequence / mixture), `sequence_contains` (e.g. `KTTKS` → Matrixyl), `taxon_contains` (e.g. `Centella`) |\n| `get_ingredient` | Full record + supplier / **cost ($/kg)** / stock / chemical name / molecular weight / storage / formulations using it, plus **GHS safety** (pictograms, H/P codes, signal word), **per-jurisdiction regulatory status**, **approved sources** (the suppliers / manufacturers qualified to supply this material — ASL/AML), and **inventory lots** (balances + expiry + the source each was received from). Returns every class-specific sub-object when present: `sequence` (peptide / oligo), `taxon` (NCBI ID + scientific name), `ingredientClass`, `extractDetails`, `sequenceDetails`, `polymerDetails`, `surfactantDetails`, `pigmentDetails`, `fragranceDetails` |\n| `list_lots` | Inventory lots across ingredients (each a received batch with its own remaining balance, supplier, expiry, **unit cost**, **status** — `active` / `hold` / `quarantine` / `rejected`; held lots are blocked from consumption, with a `holdReason` — and the **approved source** it was received from: `source.supplier` + `source.manufacturer`, where recalls hinge on the manufacturer). Each lot also reports its **Certificate of Analysis** (`coa`: linked, or matched by lot number) and `coaMissing` for an in-stock lot without one. Filters: `ingredient_id`, `expiring_within_days`, `status` (e.g. `hold` to find lots held for a recall), `missing_coa` |\n| `list_suppliers` | Supplier / manufacturer records with roll-ups — ingredients approved, lots received / on hand (+ value at paid cost), qualified / trial / disqualified source counts, last receipt; lots count by supplier **and** by manufacturer |\n| `get_supplier` | One supplier in full: record, every ingredient it's an approved source for, every lot from it, and the **recall trace** (batches that consumed those lots → products, shipments, samples, sub-batches; lots on hold flagged) |\n| `list_documents` | The document register (same as the app's Documents page): ingredient SDS / PDS / CoA / other with lot, version, source and expiry; test and notebook attachments; per-record uploads and links (formulas, batches, samples, suppliers, equipment…). File **metadata** only, never the text inside a file, with who added each file (`addedBy`) and when. Filters: `type`, `record`, `linked`, `query`, `lot`, `format`, `expiry`, `expiring_within_days`, `without_expiry`, `uploaded_within_days`, `added_by`. A `summary` block carries the page's tile counts: expired, expiring in 30 days, SDS/CoA without expiry, ingredients missing an SDS (+ coverage %), lots in stock without a CoA, added last 7 days |\n| `list_inventory` | Portfolio stock rollup — one row per ingredient with on-hand qty, summed lot balance, nearest expiry, and a low-stock flag (on-hand ≤ `reorderThreshold`, or zero). Filters: `low_stock_only`, `expiring_within_days`, `family` |\n| `list_batches` | Filtered list of production / lab-prep events |\n| `get_batch` | Full record + actual composition, measured/derived **actual volume** (mass ÷ density, never a sum of per-ingredient volumes) and **actual mass** (yield, else summed as-prepared inputs — mL rows through that ingredient's density — else measured volume × density), **estimatedVolume** (mass ÷ the formula's finished density when no actual exists, flagged `estimate: true`), **plannedMass** for volume-target batches (target × finished density) and **formulaFinishedDensity**, the **process** method + any **process-factor values** (DOE inputs), samples + blend lineage, and — as a finished-goods lot — its storage **`location`** + finished-goods **`stockLedger`** (shipments out + adjustments; `shippedQty` total) |\n| `list_samples` | Filtered list of physical specimens |\n| `get_sample` | Full record + canonical variant + test reports + blend lineage |\n| `list_test_results` | Filtered list of test reports (by sample, parameter, **measured-value range** (`value_min`/`value_max`), date, or lab) |\n| `get_test_result` | Full report: every measurement's value, spec, any per-measurement run **conditions**, and the **resolved instrument** (`instrumentSource`: row / method / run). Complex types carry a `representative` (time-series → final, distribution → D50); a time series adds `aggregated` (per-timestamp mean ± sd) and `pointReplicates` (repeat readings at one `t`). Report-level `seriesReplicates` lists parameters measured 2+ times as separate rows — point vs series replicates are distinct. Each measurement also gives its **effective spec** (`effectiveSpec`, `specSource`: override / template / parameter / none) and `passFail` — panel and Test Method specs apply exactly as in the app, and every pass/fail count across the tools uses the same rule |\n| `get_doe_matrix` | Pivot matrix (CSV by default) — rows × ingredients × parameters. A parameter measured under two or more **run conditions** (storage 25 °C vs 40 °C) is one column per condition (`pH`, `pH · 40 °C`; the bare name is the base arm), never averaged together — same columns as the app's DOE Matrix |\n| `find_failures` | Parameters ranked by failure **rate** (failing ÷ all readings; replicates in one report count once), `lowN` flag under 5 readings, plus formulations ranked by share of failing reports — same numbers as the app's Test Analytics → Failures |\n| `get_coverage_matrix` | TEST coverage by formulation, batch or sample (`grain`) × parameter. Each cell is the **latest** reading by test date (same-day reports averaged, any fail → fail) with its date and how many reports measured it; one column per **run condition** when a parameter was measured under two or more — same rollup as the app's Test Analytics → Coverage |\n| `compare_batches` | Reproducibility of 2+ runs (ideally of one formula): each run's **yield %**, actual produced mass, cost/kg; per-ingredient **drift** across the runs vs the formula's proposed wt-%; and the biggest **outlier** run. `basis`: `wt_percent` (default) or `amount` |\n| `get_batch_pivot` | Production analytics — aggregate batches by `group_by` (formula / status / month / prepared_by / project) × `metric` (count, avg_yield_pct, total_produced_kg, avg_cost_per_batch, total_samples, total_tests), with share + total for additive metrics. Optional `batch_uids` scope + `status` filter |\n| `get_project_pivot` | Portfolio analytics — aggregate projects by `group_by` (status / phase / priority / business_unit / site / customer / lead, or `cf:<custom field>`) × `metric` (count, total_formulas / batches / samples, total_cost, avg_formulas / batches / cost_per_batch), rolling child activity + cost up by any project attribute. Optional `project_uids` scope |\n| `get_stability` | Grounded stability / shelf-life analysis for a formulation, sample or batch × parameter (auto-detected): time-series, drift (per-month slope + R²), an I-chart (mean ±3σ + out-of-control points), spec status, and an ICH-Q1E-flavored projected shelf life (point + 95%-CI crossing), all on **one point per test date per run condition** (replicates averaged, never separate time points), split by storage condition |\n| `get_design_space` | COMPOSITION design space for one project, several (`projects`) or any formula list (`formulas`, across projects — like the app's Scope → DOE Matrix): which ingredients vary and over what observed wt-% ranges (ranked), an occupied-region summary (\"where you've been\"), the biggest untested **interior gap** as ready-to-seed DOE ranges (a combination you could have made but skipped), and an optional standardised **2-component PCA** of all varying ingredients — loadings, variance-explained, scree, and a full-dimensional gap. Optional `axes` (choose the 2–3 axes), `by_role` (map ingredients summed by primary Function, e.g. Pigment / Solvent / Film Former — no gap, roles aren't DOE factors) and `property` (highest / lowest formula plus the ingredients whose level tracks it, Spearman ρ). Reports formulas that aren't on the map and the spread on it. Matches the in-app Design Space Viewer exactly. Answers *\"where haven't I explored?\"* / *\"what should I formulate next?\"* |\n| `list_doe_designs` | Saved DOE designs — the *recipe* behind each batch of runs: design type, factors + ranges, constraints, run count, D-efficiency. Filters: `project`, `design_type`, `constrained_only`, `name_contains` |\n| `get_doe_design` | One design in full: constraints in plain language, the model it was optimised for, generation settings (run budget, replicates, centre points, seed) and the complete run matrix with the formulation each run became |\n| `find_by_smarts` | SMARTS-pattern substructure search across every ingredient with a SMILES; peptides that only store a sequence are searched with the structure derived from it, as the app draws them (`smilesDerived: true`). Requires `@rdkit/rdkit` (optional dependency — install with `npm install @rdkit/rdkit` in `mcp/` if you get a \"not installed\" error). Examples: `c1ccccc1` (any aromatic 6-ring), `[OX2H1]` (any hydroxyl), `C(=O)O` (carboxylic acid), `[F,Cl,Br,I]` (any halogen). |\n| `list_equipment` | Filtered list of the Equipment registry (mixers, ovens, viscometers, balances…). Filters: `category`, `status`, `manufacturer`, `name_contains` |\n| `get_equipment` | Full equipment record + `usedIn` (panels, step presets, test methods, formula steps, batches, testReports resolved to it), `usage` (reports / formulas / batches / samples / pass rate / top formulas) and `measured` (per parameter: mean here vs mean on other instruments, biasPct) |\n| `list_test_methods` | Filtered list of Test Methods (the parameter library). Filter by `analyte` (the property measured, e.g. `Viscosity` — finds every method for it), `category`, `name_contains`, `include_retired` |\n| `get_test_method` | One Test Method: full definition, run conditions, analyte siblings, using panels, plus `usage`, `valueSummary` (mean / sd / min / max) and `byInstrument` |\n| `list_step_presets` | Filtered list of Step Presets (reusable procedure steps: duration / temp / RPM / equipment). Filters: `industry`, `name_contains` |\n| `get_step_preset` | Full step-preset record incl. the multi-value equipment list (`{name, equipmentId}`) |\n| `list_test_panels` | Filtered list of Test Panels (reusable column-sets — the parameters measured together on a sample). Filters: `industry`, `name_contains` |\n| `get_test_panel` | One Test Panel: ordered parameters with resolved method UIDs + specs, plus `usage` (reports created from it) and `performanceByParameter` |\n| `list_projects` | Filtered list of projects (the buckets formulations are filed under) + per-project formulation count. Filters: `status`, `name_contains` |\n| `get_project` | Full project record + the formulations filed under it |\n| `list_notebook_entries` | ELN feed — dated authored notes attached to records. Append-only: a withdrawn note is kept with `retracted` = {at, by, reason}. Filters: `entity_type`, `entity_id`, `author`, `text_contains`, `since`, `until`, `retracted` |\n| `get_notebook_entry` | One notebook entry — full body, author, attachment metadata, resolved linked record, and `retracted` when withdrawn |\n\n## Install\n\n```bash\n# Run directly without installing — recommended:\nnpx formlab-mcp /path/to/formlab-export.json\n\n# Or install globally for repeated use:\nnpm install -g formlab-mcp\nformlab-mcp /path/to/formlab-export.json\n```\n\nFor local development from this repo:\n\n```bash\ncd mcp\nnpm install\nnode index.js /path/to/formlab-export.json\n```\n\nRequires **Node 18+**.\n\n## Get your FormLab export\n\n1. Open FormLab\n2. Sidebar → **⇅ Import / Export**\n3. Click **Export** — saves `formlab-export-YYYY-MM-DD.json` to your downloads folder\n4. Point this MCP at the downloaded file\n\nThe MCP server watches the file — re-export from FormLab and the next tool call sees the fresh data without restarting the server.\n\n## Or: LIVE cloud mode (no export needed)\n\nInstead of an export file, point the server at your **live cloud workspace** so it's always current.\n\n1. In FormLab (Pro): **Settings → Account → AI tools (MCP) → Connect…**\n2. Click **Create token**, copy the generated config, and paste it into Claude Desktop.\n\nThe config sets a single env var, which switches the server into cloud mode:\n\n| Env var | Value |\n|---|---|\n| `FORMLAB_MCP_TOKEN` | a dedicated, **read-only**, revocable token (`flmcp_…`) |\n| `FORMLAB_SUPABASE_URL` | (optional) override the backend URL — defaults to production |\n| `FORMLAB_SUPABASE_ANON_KEY` | (optional) override the publishable key — defaults to production |\n| `FORMLAB_REFRESH_SECONDS` | (optional) poll interval, default `60` |\n\nWhen `FORMLAB_MCP_TOKEN` is present, the server POSTs it to FormLab's `mcp-data` Edge Function, which returns your workspace scoped to you by row-level security and re-fetches every `FORMLAB_REFRESH_SECONDS`. It's **read-only** — enforced at the database (a dedicated `mcp_readonly` Postgres role with `SELECT`-only grants), not by trust.\n\n> **Security.** The token grants **read-only** access to one workspace and holds **no account session** — only a SHA-256 hash is stored server-side, and it never rotates. Treat the config like a password (don't share or commit it). **Revoke or re-mint any time** from *Settings → Account → AI tools (MCP) → Connect*.\n\nCloud mode has no extra dependency — it's a plain `fetch`.\n\n## Wire it up to Claude Desktop\n\nAdd this to your `claude_desktop_config.json` (on macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"formlab\": {\n      \"command\": \"npx\",\n      \"args\": [\"formlab-mcp\", \"/Users/you/Downloads/formlab-export-2026-05-30.json\"]\n    }\n  }\n}\n```\n\nOr for local-dev (from the repo):\n\n```json\n{\n  \"mcpServers\": {\n    \"formlab\": {\n      \"command\": \"node\",\n      \"args\": [\n        \"/Users/you/formlab/mcp/index.js\",\n        \"/Users/you/Downloads/formlab-export-2026-05-30.json\"\n      ]\n    }\n  }\n}\n```\n\nRestart Claude Desktop. You should see a hammer icon indicating tools are available, and FormLab's 40 tools become callable in any conversation.\n\n## Wire it up to Claude Code\n\n```bash\nclaude mcp add formlab npx formlab-mcp /Users/you/Downloads/formlab-export.json\n```\n\nOr with a stored env var:\n\n```bash\nexport FORMLAB_EXPORT=/Users/you/Downloads/formlab-export-2026-05-30.json\nclaude mcp add formlab npx formlab-mcp\n```\n\n## Privacy and architecture\n\n- **No network calls.** The server runs on stdio between Claude and your local Node process. Your data file never leaves your disk.\n- **No FormLab cloud.** FormLab itself is a local-first app; the MCP follows the same model.\n- **Hot-reload on file change.** Re-export from FormLab while the server is running — the next tool call picks up fresh data.\n- **Read-only.** Tier 1 cannot mutate your FormLab data. (Write tools are planned for a future paid \"Pro\" tier — register / batch / log-test mutations with cascade-safe confirmation.)\n\n## Data shape\n\nThe server accepts both FormLab export shapes:\n\n- **Wrapped FAIR export**: `{ \"fair\": {...metadata...}, \"data\": {...db...} }`\n- **Legacy bare-db JSON**: `{...db...}` directly\n\nThe wrapped form is the default since 2026; the legacy form is supported for older exports.\n\n## Tier 2 (planned, paid)\n\nLive file-sync with write tools: `create_formulation`, `update_formulation`, `log_test_result`, `create_batch`, etc. Mutations from Claude write back to the same JSON FormLab reads. Conflict detection, cascade-safe deletes, schema versioning.\n\nNot yet shipped — see the FormLab roadmap.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}