{"_id":"google-health-mcp-unofficial","_rev":"36-fc24fce03235e776dd77cfc267e88f97","name":"google-health-mcp-unofficial","dist-tags":{"latest":"0.7.8"},"versions":{"0.1.0":{"name":"google-health-mcp-unofficial","version":"0.1.0","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.1.0","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"8a6f0cec4ed934a0ec788ada7d29fb10cd1e34a3","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.1.0.tgz","fileCount":104,"integrity":"sha512-HEj4rxmVgTUa2/rQpJsJ/pSKkpNWXNamWcrCQ2LTdhED/1vyaqEl6Mpikdq01mbaOWoEDyJV7Ds9GrlIBmK9HQ==","signatures":[{"sig":"MEUCIQCG7TtAx4TlpSX2oOmtnRHGOFib4zJhASugXqEOH5mCUgIgX/AtZVvsJADn0o/8khByr/TCUC48Fc3Kk+xR+6X3iyQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":361981},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"0c0979f58f1ec1b3592fab63ae9f655a20a56b15","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.1.0_1778172122362_0.6744250523185009","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"google-health-mcp-unofficial","version":"0.1.1","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.1.1","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"a5acee7a3647494e7a23a3c9d1a3136acdf070da","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.1.1.tgz","fileCount":104,"integrity":"sha512-n+rgoNgqsbKshtlZzdiNhgcBF95VW7v+plcvyuh6WyaZl7Esi9NdCSFDtPqCj1y1w8enLVlI0BSKRVna7m9uxA==","signatures":[{"sig":"MEYCIQCHFeYwFPJbs/bSPRR+E2OROwnNTSeDssvVLood+DkjpAIhAISoY0B7AAWQfjYiRMXPtQgaku3y1gTLLpzXraTedRPV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":361987},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"0c0979f58f1ec1b3592fab63ae9f655a20a56b15","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.1.1_1778172724080_0.8597638630778499","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"google-health-mcp-unofficial","version":"0.1.2","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.1.2","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"69aa4b15b21970f07c81a011d78f3822fac162b3","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.1.2.tgz","fileCount":108,"integrity":"sha512-1En1kzQwQr2Ln8FXfkTk/bEOd/ydUO+990iEpLT/e0SoPChO4x0x6WBlnfGYJeZ0QxRgvzMYuMQS221A1w0+bQ==","signatures":[{"sig":"MEYCIQDKb67zJv6RNXF9Z/jP0BQHyuSh1phBiiEFyI+Dj0K4LAIhAPR7euoabmpp+q6jnFzWaMKgz7fmzgEDzNNSbEVazdYC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":503525},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"ce2c52e6315ae3a697a58aa3273a51248b517d4b","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.1.2_1778176963167_0.6891393665102701","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"google-health-mcp-unofficial","version":"0.1.3","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.1.3","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"79988afee668e2af8eb603233be2a91e9d124914","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.1.3.tgz","fileCount":109,"integrity":"sha512-ny/qSTMnIE7f9+zNAv/L8vIFUKV4yZ7dx27kHdagg4WTiFdNFP/75FKN1oKBhPR7ukwU7urgtapPYztfjQzweg==","signatures":[{"sig":"MEYCIQDsQ6152cUdwpAh8HkqFM5gMGz3XveHzCTT3ed6hQ2sCwIhAJN+uOxotKo+304bjrt82l2dmKYAjZVoj9EvQEnkEAhF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":504348},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"f6c6c5e83c5fa4f7862a1ab9286c62da3916de48","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.1.3_1778177684158_0.6380623613985068","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"google-health-mcp-unofficial","version":"0.1.4","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.1.4","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"e617cc32f276bf5a8f600f963770d9d839459de6","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.1.4.tgz","fileCount":109,"integrity":"sha512-apWDjFF23RQ4SLMAr5lnpAnOAxzjegFloAlEzZluMkrMJI1tSWJfSCO9UhgDC6iwzuuWKYv6bIx2XavYkWeGPw==","signatures":[{"sig":"MEYCIQDYUn2CRLHr7DNoBmIKm1RELOxxL90HhTaV5s7jE0XXwQIhAIlkvpe+NPP6OVOCH54pZojuImlTHMI53y4aUsEirjLy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":505587},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"3f3ebc8fe72e147f5d2a772f379a36f33ff3a884","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.1.4_1778405588011_0.4459150983082474","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"google-health-mcp-unofficial","version":"0.2.0","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.2.0","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"dbff3569032caf7062b0c7f4e449b42c21614cb9","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.2.0.tgz","fileCount":121,"integrity":"sha512-NngHi8lN2kTHvHfkmCNrQRaiupQ3dqLtWi6l2/IalpozTFwmrURq3fe9wDOegFRNZ46Owqvq2F0qgGQm6fufLw==","signatures":[{"sig":"MEUCIHPzg7d2CqWBcaY9mCfNZeXUBKHoztVatV/ON7DSRFTjAiEArcvgTUuGgeHMzOxYnPeF+udEBxydi7S5lDbvKtMwf6U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":532925},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"dd2932b99646945608622f3d548350937940c09d","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.2.0_1778406658971_0.14767115757696736","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"google-health-mcp-unofficial","version":"0.2.1","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.2.1","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"4651bfaf4c897490e04d3ffbd40e457a6731fbc1","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.2.1.tgz","fileCount":121,"integrity":"sha512-jBsHGay/dfQG+Z0PkyzOYG7NC667qvWl1BQIoObh9ZWjjnoEQ4mK0b+o6jWlzBJcJDme1OEv6qRLCM72KotTwA==","signatures":[{"sig":"MEYCIQDMI6+qHvX1oEYKC404+jlcKni5i5xbBheduupe+vMHvgIhAIQuyAJHcAYOZCg0t1FUvYdE81l/M9XZEHzpAMIlWPPk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":533179},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"41e8c3efb5d7374d9bca1a3a869401d972b42917","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.2.1_1778406837653_0.5367516192805797","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"google-health-mcp-unofficial","version":"0.2.2","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.2.2","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"226f7b215e08d7ca30159cd9151d0c97c7da9dc8","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.2.2.tgz","fileCount":121,"integrity":"sha512-c7yZYrFOPOxFEdpy0Q7MR5XJ6jAcnQbnWpnqk6bxRDiGmOS7ygDQzHrXzQJ5O6O4baiODC53xfX3Dl47MVFzYw==","signatures":[{"sig":"MEUCIQCDIIXqrrN2uvOIsVYyXuMiUdnyUznsMY+1OTLdBeqKxQIgWyeog6IQzp7byDogv1OFMqDpi2AINnHzraaX2SfAxeI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":533302},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"a20fa9f8b8ff0d1e55b83ca0947dec329d87c90f","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.2.2_1778407074007_0.5843743042133167","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"google-health-mcp-unofficial","version":"0.3.0","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.3.0","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"dad10644517b21a238280b324ed19aca3d35c9c7","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.3.0.tgz","fileCount":127,"integrity":"sha512-bLCwjwuQuWmgMaS+PLfYzYJYR/VgO6f7hhUcFKvHI3GVPzRi95c12yz8u4rSFqTj8+dtEly9XyXrfPXUHGH7VQ==","signatures":[{"sig":"MEUCIFM58nDi/yST6aYahrLmng4hLNH55udO62nAoRclFSVtAiEAzxuEw2CrK/FZz/8Kn9LknJg0HstZhJu15ETPie7Pjho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":550875},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"62e8c8501a06549d40d8978532fcf453207e8fb1","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.3.0_1778489787925_0.10617547943353856","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"google-health-mcp-unofficial","version":"0.4.0","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.4.0","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"47378a67665a945b53538bf0e127ab8684830ddf","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.4.0.tgz","fileCount":130,"integrity":"sha512-Pf3snB3yUOo3VYG/mTqLUQ0CpanIObtY00gSyHMO0mpYQOVndtD7Bg5M2XSXnPmf9Sr6oxKofn/xwyf6gmhkmw==","signatures":[{"sig":"MEQCID69XZ+2yyDexmLDOu5gD36bYJWjRSc/2rDMIbE6jlwwAiBJpEzoCcPlP+g5vEHaeWROjcBeU1T8B2MLFUx8u5cAgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":594378},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"56f1bdd96b4b4604eed2057f5820891c8c1bbd8f","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.4.0_1778492167392_0.24527278945433229","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"google-health-mcp-unofficial","version":"0.4.1","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.4.1","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"b6e5fa551a89ba1d7ece4f19ef3af5b6d04c5703","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.4.1.tgz","fileCount":130,"integrity":"sha512-Rd8ziskfOAFNnhF3gFQvR4uN696DAfxMRkt4J8iVKrylS+ivfQoA0XHutY/fnulz19D0e7dYotq+Wy+nEkCqTw==","signatures":[{"sig":"MEUCIC+2wSlPwA/U5wSXw2uQBveR9rjNI3QkZ1jwLuohD1KOAiEApF1lgjZfN19tNv+T8DrIUABK7aw9qzeoMD2uAyDpig8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":599035},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"e6eeace1015ebb37364fdc2a7921bd71a46cac58","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.4.1_1778494966967_0.20782060073341024","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"google-health-mcp-unofficial","version":"0.4.2","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.4.2","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"b3a328e60aa40bae65694354b2999f4091794ff5","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.4.2.tgz","fileCount":130,"integrity":"sha512-JhrzM/58I0o+H6V0XpdH8Tnel4q0m8PrCqiR8VEI9dahjfaABeiWR4jDfuXsg36T6bnh4QT5ZCAn0KNSWjhaBw==","signatures":[{"sig":"MEUCIQDYT4jyyP/FzURMmO4vz5rHZrXGAFmPCLR/eAVt6J8foAIgMKSO9WSNhFD7fDx5VwQEFl1/iDZfyALaV6bQnmd6gc4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":600859},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"d6d47ffc1848d3470add3ed234e023886bd5f47d","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.4.2_1779220548842_0.9375461262339448","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"google-health-mcp-unofficial","version":"0.4.3","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.4.3","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"a99089fd56764ce76791e3e60e93cd1670de9595","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.4.3.tgz","fileCount":133,"integrity":"sha512-OZGKZlFafyYYcVt/YxmW0GY+PC2wMgW9rU2Kys3PwTusEzEFdov63duKIf+5bHP2JheKHvlyKni5KISKOb5VjA==","signatures":[{"sig":"MEYCIQDg/wXbgA96yn1X5wLG2kD4uqGxf/I8jtXr9KM73UTpZAIhAMTuWAQo7AEbBcBTxcwquZo/6kPp0FQ1JyhXhRTSknm6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609348},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"c04bd6cad66f2382a55e04fd7fa4f0842a4278eb","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:http-retry && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-retry":"node scripts/http-retry-test.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.4.3_1779222784659_0.23716107523484742","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"google-health-mcp-unofficial","version":"0.4.4","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.4.4","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"d7b20d60fd5a6e5562708589ce23835ad821bbc3","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.4.4.tgz","fileCount":136,"integrity":"sha512-bUc2Gv0ZUB4Q4xSD1Hksvr7Tiu+dJbT/K2KZY4SM6S0gzvazEmRu/tSc2mk3Bcug8bfaSDrgype2pIL6ZnVLhw==","signatures":[{"sig":"MEYCIQCmWqRvvd3yg5q2vF6VjTP9PZxN0ikenBuwRbIQdneyPwIhAPsKUVareYMbvfOs3FZ6pqu5EpPlTy2RIw/LhpB63MbC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621139},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"5b83edb0c6d0aecdaaa87c36da6a3f4ca8a551eb","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.4.4_1779310690538_0.24484407235672534","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"google-health-mcp-unofficial","version":"0.4.5","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.4.5","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"c41a06414d52c1f432f286e4c7083de5cf1f97f2","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.4.5.tgz","fileCount":136,"integrity":"sha512-8ayG6kquy7tXPPSgbG5jyt91gCEgJ9tpiYaB16Y0jbtTy4tXmeHWdv+tWdN2OZ1NDksUIvPQqmbz1fC53QTFDg==","signatures":[{"sig":"MEYCIQDoXc/AlGutQY0d6WzBtBeRAP7FP1HLgoAM7do8E3yPtQIhAJEBMvtdQPITw7g7UEHovrz3xoQGZErVC0a+nzAFidjd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621139},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"49672a2a6333be5f6e0fd4fc157a235523c0672f","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.4.5_1779310807331_0.40511217519450415","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"google-health-mcp-unofficial","version":"0.4.6","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.4.6","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"c57dd2f2d54b23e075f793d661ef1e7a739a616d","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.4.6.tgz","fileCount":130,"integrity":"sha512-lGX8H8FbxXwbVeoOFQcTI2HT19tFEXrs7bBPsWblpboK2QK/8S1n6RcE9LA0A0+590ZKEde2OPZloBpKz9/ZFg==","signatures":[{"sig":"MEQCIDkFCtAO+VJ0d13/NBnZJdqu29FIgguB2MqNm6YRTIHWAiBEdi+slPd0Xh8KmgwlqiwVGVv4m3FInMd2LchLC2ZmFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":617195},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"418c8ba5a7d271c15cf5488a3bf37aaa082a9c9d","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.22","fast-uri":"3.1.2","ip-address":"10.2.0"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.4.6_1779618133689_0.5574129330846016","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"google-health-mcp-unofficial","version":"0.4.7","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.4.7","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"68c6cdb411c137592af198a70e8470b563ad5c16","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.4.7.tgz","fileCount":130,"integrity":"sha512-XFbJkwlkT39/b9jWDiWltRKle/6DeLzdO53Ncw9Ej/LT0RHiza5IqGbibGfa2dio14Z/oPrZgYIpEE7Hwl5KbQ==","signatures":[{"sig":"MEYCIQCt6iwKB9qYFNKM1A7iNH7CuSLnfqFthVlLapir6LJ2xgIhAI88HMU9RsZobS6a9rk25D+nCtyC/8slvZSfNDbcXQA+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":619469},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"3f519ac5e1e16377fddccfccb1e1a51f7088bbcb","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.22","fast-uri":"3.1.2","ip-address":"10.2.0"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.4.7_1779622161572_0.73971810028217","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"google-health-mcp-unofficial","version":"0.4.8","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.4.8","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"6dedccd755cca399ecf87d619b538a42e19ecdb4","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.4.8.tgz","fileCount":140,"integrity":"sha512-W5zzYS3Yde4DYZ73oYummMU7iCGtL6ri+zbqqVMzChC9tAVxINIswmntZnMbK3ed7KBlHP242zR5gPC5VeEJBw==","signatures":[{"sig":"MEUCIQDU9VmjZhiuHjHhoA94Cu0eL30earLSx/GxEL1BLtYz9wIgZWH5Kfj97WOxaf9qz8lRMMJaAusNFekIug2OyXnCq98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":727251},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"775568c75a1b4e483949d28e3bea329b1c4046ea","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.27","fast-uri":"3.1.2","ip-address":"10.2.0"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.4.8_1782559377840_0.8925050498146125","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"google-health-mcp-unofficial","version":"0.4.9","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.4.9","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"f56c68b7b279860cb010c7bb1e65acad790b5c00","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.4.9.tgz","fileCount":142,"integrity":"sha512-bZ+k1qzNfovQ0douNGuEV1xDh0L4bNC/6grqN7PaUvEcjuQ4DQ+JiaB8QxMFoR2wuf2r/FPc8ZEZ5w3Wn3EC5w==","signatures":[{"sig":"MEYCIQCD5u4Gg2H+dcRx57XpxbQxa0SbOqagbq5kjuLw3hfoewIhAJaFh8rFWiJkRnFvp/h18cUh4X94sfTO/iFvBjOSxx2s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":736042},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"119d501f9f943043a9acb6b3cb2dd009d5ac76a9","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.27","esbuild":"0.28.1","fast-uri":"3.1.2","ip-address":"10.2.0"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.4.9_1782565274164_0.6645670692258963","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"google-health-mcp-unofficial","version":"0.5.0","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.5.0","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"2942116a109c397025c0a7ee97a424fdb99dcb3a","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.5.0.tgz","fileCount":143,"integrity":"sha512-0wI4ER/oklWxi9AlK8VOHB35WTbaqJHvKm17HetoiQVgAY0q1EQpR+EZG7h4u8ervIDVMxoOfpAPbw9rncGXEA==","signatures":[{"sig":"MEUCIB477hUqQB74qhhWqePIZ/puLXA8VSDOzmwajXvngwolAiEAotx4IaLTiOL5H51ErBEnMSB7xbAJVwplxleyf3r8np0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":751420},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"5e2f0efc0afc8bd73d963a402522dd523e043e16","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:privacy-cache && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.27","esbuild":"0.28.1","fast-uri":"3.1.2","ip-address":"10.2.0"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.5.0_1782586487631_0.09372946490044698","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"google-health-mcp-unofficial","version":"0.5.1","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.5.1","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"48deb898e8c4048a7cd908f24b6b968d48d2473b","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.5.1.tgz","fileCount":147,"integrity":"sha512-2xnCiD0GOiE2Omal2oLBOCMbAUHG8E6FNdL38qEJOayq2MZ6MKv7IBV/JdqgzVLP9V1lxiSz8siGCGJbnn19XA==","signatures":[{"sig":"MEYCIQCuMIq/EYyDoe8loeKA1saqnlokThgJTslGDplFqlbn+AIhANx2OjV9mINKsDwahg+qAk0kQxne/dz21JqZ2xGKTBg3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":822111},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"7548390207c45e0a529cf042ae3b854caa1844c3","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:coverage-report && npm run test:privacy-cache && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:coverage-report":"node scripts/coverage-report-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.27","esbuild":"0.28.1","fast-uri":"3.1.2","ip-address":"10.2.0"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.5.1_1782588774378_0.25038485906292807","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"google-health-mcp-unofficial","version":"0.5.2","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.5.2","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"e3f6105dbff841b17161f30625d2c3ee55cfb386","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.5.2.tgz","fileCount":147,"integrity":"sha512-UWlvdCU+cZQoZQTUypp3ZHjDjz9vqUjgpQebNN9DVevFNq7aG+wrlZAFvZOQqBKYgfVNOchaEqwI2hKT3w08GQ==","signatures":[{"sig":"MEUCIQDUBVrEz6bB30Ggrruv8zM9xlGQ6tTfbEsYhSaAJSIYlAIgByhYwVqrVjGuZVkdjNAmxVZ/iuJ9gvD4mxswSxqj2q8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":828772},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"0682eb64caadc9a56b24792590d57b7dd243e087","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:summary && npm run test:coverage-report && npm run test:privacy-cache && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:coverage-report":"node scripts/coverage-report-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.27","esbuild":"0.28.1","fast-uri":"3.1.2","ip-address":"10.2.0"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.5.2_1783853111588_0.43907198229424305","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"google-health-mcp-unofficial","version":"0.5.3","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.5.3","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"ca1b991f2b82bca0ff0352233696fc9738ff9b1d","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.5.3.tgz","fileCount":148,"integrity":"sha512-rDWWvmrKSkckodRpC/c01LUnTyVIkAudUVgqxXRx+l8cKYo8lqY78e9zz2PVGnBiAgAdxi3HXdofb7zeGi9k3A==","signatures":[{"sig":"MEUCIQD3iH0C3fJueqtQCzc+1ONA5OyNEsOjEZMTuKyQsgOhsQIgbfwSOj6YaGeCHMk9h927H/ShKbElPOTnYqyvktUAx9A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":838048},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"1ca7bd44549ad4c19de855010e13497923d66055","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:endpoint-contracts && npm run test:summary && npm run test:coverage-report && npm run test:privacy-cache && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:coverage-report":"node scripts/coverage-report-test.mjs","test:endpoint-contracts":"node scripts/endpoint-contract-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.27","esbuild":"0.28.1","fast-uri":"3.1.2","ip-address":"10.2.0"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.5.3_1784204679662_0.01974647153780018","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"google-health-mcp-unofficial","version":"0.5.4","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.5.4","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"8587cabb15a6017fade4727c85bbd52087c2c2e3","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.5.4.tgz","fileCount":148,"integrity":"sha512-uzuunLXS+Y5FRc2d8aXC8yzqsrH0yRv/TaGZ126jb1BKdZKTke4aAYDomBdUCpx9SY9y6jnq/xhWMylmn68I6A==","signatures":[{"sig":"MEUCICAlYK4n4XvLmNQR5V0e4y6tmv33KdM1IlJFDByNU3/QAiEAr886zLRNuPIj/ReSlJNsSOEB22M3oAmx+BWbi+PGwJ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":843480},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"ae763594d465d7e0f77383ff9c081cc0029c5d06","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:endpoint-contracts && npm run test:summary && npm run test:coverage-report && npm run test:privacy-cache && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:coverage-report":"node scripts/coverage-report-test.mjs","test:endpoint-contracts":"node scripts/endpoint-contract-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.27","esbuild":"0.28.1","fast-uri":"3.1.4","ip-address":"10.2.0","body-parser":"2.3.0","@hono/node-server":"2.0.12"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.5.4_1785415370476_0.48307609708938126","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"google-health-mcp-unofficial","version":"0.5.5","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.5.5","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"15068e7e6b904776993390f1ff8e5126536a25e4","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.5.5.tgz","fileCount":151,"integrity":"sha512-88sIBtBWBRF5VEZ+41HMG3pL7ck8VOTjM27hMMM0GpduoAwd52/FufPDfePQJ8dlQ2gOmIZVWBabRmzJz75ftA==","signatures":[{"sig":"MEUCIQDXKlOVN3JQYupQIfHnwuNlFaT91CWi6V7rm8roTxREuAIgchEimG/LWvUezbHMCWsXfi9ErTI+78GIddMT6KLSB50=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":847785},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"72c3ea01dfd5fa526e7d43f57f51047e3b95a807","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:endpoint-contracts && npm run test:summary && npm run test:coverage-report && npm run test:privacy-cache && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition && npm run test:synthetic-demo","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:synthetic-demo":"node scripts/test-synthetic-demo.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:coverage-report":"node scripts/coverage-report-test.mjs","test:endpoint-contracts":"node scripts/endpoint-contract-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.27","esbuild":"0.28.1","fast-uri":"3.1.4","ip-address":"10.2.0","body-parser":"2.3.0","@hono/node-server":"2.0.12"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.5.5_1785424400953_0.35465869196581057","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"google-health-mcp-unofficial","version":"0.5.6","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.5.6","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"89a406dbccf5a411332242455e6908183b815f3d","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.5.6.tgz","fileCount":151,"integrity":"sha512-bjUskrMh3jDA/KZm0b/5ntT+0x/JS/61vBNpKHovOBffwnT7Ho4PHAwy2Ub52TTkdCKpHYpEq1gRqXUWOLasMw==","signatures":[{"sig":"MEQCIBrhe0uVAjHg02ocPA0FDk2kLV2FVFdEi6zTiXak2vdcAiAz6fO10BIMxlJbCcLQmsfzu1+WuGWEMpS14uZDDzV1Pw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":848814},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"1bf72faa93bdd239cba72f9396d7af9ce7aedc0a","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:endpoint-contracts && npm run test:summary && npm run test:coverage-report && npm run test:privacy-cache && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition && npm run test:synthetic-demo && npm run test:revoke-gate","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:revoke-gate":"node scripts/test-revoke-gate.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:synthetic-demo":"node scripts/test-synthetic-demo.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:coverage-report":"node scripts/coverage-report-test.mjs","test:endpoint-contracts":"node scripts/endpoint-contract-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.27","esbuild":"0.28.1","fast-uri":"3.1.4","ip-address":"10.2.0","body-parser":"2.3.0","@hono/node-server":"2.0.12"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.5.6_1785425519384_0.08191600415945488","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"google-health-mcp-unofficial","version":"0.5.7","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.5.7","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"108daa2fdaeecdb67ce80be86117b0d466587190","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.5.7.tgz","fileCount":151,"integrity":"sha512-pfYuh/FgBWuNOhrW40u+1PuJ2eDs3QY4YsvIJx5XBvv3GavQDER9EOZAoKQYwNuVf2+djvt1QQxs0a4cQcrnaQ==","signatures":[{"sig":"MEQCIHMWoig1I/TggErM9VNjUKSI53kx88Hy7xMR5VqLkWNkAiB92IT6NH1AwkCoERPYsLiYewOc0F+dFolJk4mdhoGKQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":851344},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"ee95e88817b024c8a1f5c554264061bc4ab6cd4f","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:endpoint-contracts && npm run test:summary && npm run test:coverage-report && npm run test:privacy-cache && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition && npm run test:synthetic-demo && npm run test:revoke-gate","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:revoke-gate":"node scripts/test-revoke-gate.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:synthetic-demo":"node scripts/test-synthetic-demo.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:coverage-report":"node scripts/coverage-report-test.mjs","test:endpoint-contracts":"node scripts/endpoint-contract-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.27","esbuild":"0.28.1","fast-uri":"3.1.4","ip-address":"10.2.0","body-parser":"2.3.0","@hono/node-server":"2.0.12"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","delx-mcp-kit":"^0.1.0","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.5.7_1785435972974_0.24730734260327836","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"google-health-mcp-unofficial","version":"0.7.0","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.7.0","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"8e4da8ef1a64be349fbcebe3556e921d37bd7f76","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.7.0.tgz","fileCount":151,"integrity":"sha512-vDbPWIS4Gr/J8EriO1ZGMJN90QXxo5cYMEa3Yz/yL2kSxssZiPW85YLq+DQnLG3pUF+EsQn6025CSPn/ffsZBg==","signatures":[{"sig":"MEQCIBtDnzx0p9Et7VFc38fhl08obeEUUBthzJQuEjSf97QsAiAPTPlX3cLsZn+JRL7XiES38dfeHcVbYCDjuLu+4ZDSjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":878729},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"fea34e2b402eba1fd893ce31d7ba7ebbff485bcc","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:endpoint-contracts && npm run test:summary && npm run test:coverage-report && npm run test:privacy-cache && npm run test:gps-redaction && npm run test:redaction-docs && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition && npm run test:synthetic-demo && npm run test:revoke-gate","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:revoke-gate":"node scripts/test-revoke-gate.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:gps-redaction":"node scripts/gps-redaction-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:redaction-docs":"node scripts/redaction-doc-test.mjs","test:synthetic-demo":"node scripts/test-synthetic-demo.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:coverage-report":"node scripts/coverage-report-test.mjs","test:endpoint-contracts":"node scripts/endpoint-contract-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.27","esbuild":"0.28.1","fast-uri":"3.1.4","ip-address":"10.2.0","body-parser":"2.3.0","@hono/node-server":"2.0.12"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","delx-mcp-kit":"^0.1.0","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.7.0_1785581515085_0.14244349147365898","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"google-health-mcp-unofficial","version":"0.7.1","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.7.1","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"a3963b1e21abc39ad2a3f412a7203d7c6a0381e8","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.7.1.tgz","fileCount":151,"integrity":"sha512-z/nNLaTkfzRTHQ2KVHm7W8tBcKdjkpo692Y0r02y8P3nMhvR6KjuB97R1OYbYqgv0h01xLhNH6mkDMTy3Dk0zQ==","signatures":[{"sig":"MEUCICSpcPNuRqCVhIkJdBMvk8sXVrJPFkBszQO+HMo5+Aj5AiEArIkRqbhBgNPtXBQcVliOFeKB9jBkt5aiCfvxXWHLk70=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":885448},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"6e0ca6646a04d11f3dfb7eb1afe4fea2ac6c5497","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:endpoint-contracts && npm run test:summary && npm run test:coverage-report && npm run test:privacy-cache && npm run test:gps-redaction && npm run test:redaction-docs && npm run test:declared-limits && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition && npm run test:synthetic-demo && npm run test:revoke-gate","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:revoke-gate":"node scripts/test-revoke-gate.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:gps-redaction":"node scripts/gps-redaction-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:redaction-docs":"node scripts/redaction-doc-test.mjs","test:synthetic-demo":"node scripts/test-synthetic-demo.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:coverage-report":"node scripts/coverage-report-test.mjs","test:declared-limits":"node scripts/declared-limits-test.mjs","test:endpoint-contracts":"node scripts/endpoint-contract-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.27","esbuild":"0.28.1","fast-uri":"3.1.4","ip-address":"10.2.0","body-parser":"2.3.0","@hono/node-server":"2.0.12"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","delx-mcp-kit":"^0.1.0","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.7.1_1785583823597_0.5972337955512264","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"google-health-mcp-unofficial","version":"0.7.2","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.7.2","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"9637dd2d3548f8c6749b9bf062609af64f3a8a51","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.7.2.tgz","fileCount":151,"integrity":"sha512-6LAH+iVbfWv5+W5R1uPeUlA1UGBd7ibudH+Kczxt/i9Bwn3a6X2XCMIfiqjreAPzKDaHdnJGETRFCSvGvUMVlA==","signatures":[{"sig":"MEUCIALU2FJ7uj79BHZ8QT8RAndydNC8+3OhEjOaaSWVkD7wAiEA3JscO8pXSKgLWSFhM3vc/MF99GbxiSZge09ySq6hJcE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":891663},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"0b690241e4fb8c53ec0f7204fa49e401ab332856","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:endpoint-contracts && npm run test:summary && npm run test:coverage-report && npm run test:privacy-cache && npm run test:gps-redaction && npm run test:redaction-docs && npm run test:declared-limits && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition && npm run test:synthetic-demo && npm run test:revoke-gate","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:revoke-gate":"node scripts/test-revoke-gate.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:gps-redaction":"node scripts/gps-redaction-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:redaction-docs":"node scripts/redaction-doc-test.mjs","test:synthetic-demo":"node scripts/test-synthetic-demo.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:coverage-report":"node scripts/coverage-report-test.mjs","test:declared-limits":"node scripts/declared-limits-test.mjs","test:endpoint-contracts":"node scripts/endpoint-contract-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.27","esbuild":"0.28.1","fast-uri":"3.1.4","ip-address":"10.2.0","body-parser":"2.3.0","@hono/node-server":"2.0.12"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","delx-mcp-kit":"^0.1.0","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.7.2_1785766507138_0.4624003130415426","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"google-health-mcp-unofficial","version":"0.7.3","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.7.3","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"ce3be63366fe32d03304c43c60e650c0bbb2cc0e","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.7.3.tgz","fileCount":154,"integrity":"sha512-/7tsezXnx4CK6MqfPdHwXG6Koe4WkSrwtSkuXyfEH9pOUZPftzgTLrIn7Ek0/DwFI4VoiySp+CAdakfROYQ3DA==","signatures":[{"sig":"MEYCIQDCdEyfLy3t4oZIvPw3ZwLB+u0ysDBntOIAL24xfgzW4gIhAJ/a7Poy1dTLb+SSXkMl1CguF8nD7W5Jh7GEMznnQOoA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":917292},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"464b1f19ab96a999d4156c7068c28f8e73703734","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:endpoint-contracts && npm run test:summary && npm run test:coverage-report && npm run test:privacy-cache && npm run test:gps-redaction && npm run test:redaction-docs && npm run test:declared-limits && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:headless-auth && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition && npm run test:synthetic-demo && npm run test:revoke-gate","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:revoke-gate":"node scripts/test-revoke-gate.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:gps-redaction":"node scripts/gps-redaction-test.mjs","test:headless-auth":"node scripts/headless-auth-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:redaction-docs":"node scripts/redaction-doc-test.mjs","test:synthetic-demo":"node scripts/test-synthetic-demo.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:coverage-report":"node scripts/coverage-report-test.mjs","test:declared-limits":"node scripts/declared-limits-test.mjs","test:endpoint-contracts":"node scripts/endpoint-contract-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.27","esbuild":"0.28.1","fast-uri":"3.1.4","ip-address":"10.2.0","body-parser":"2.3.0","@hono/node-server":"2.0.12"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","delx-mcp-kit":"^0.1.0","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.7.3_1785766785779_0.5053392873562035","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"google-health-mcp-unofficial","version":"0.7.4","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.7.4","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"5b1bd72da35f215e9f35f8e96ff66f04c5e38c9a","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.7.4.tgz","fileCount":163,"integrity":"sha512-8kFq4RO7vNAdTLu8tLVbyytaV+Ow5oV5ax3xk4D19gJMeioFjIXU51cwuEthh0f6sQffzfnbejt/HCkWX1Ygvw==","signatures":[{"sig":"MEUCIC4HCRCUlxJZ8KmSgpl07eUAvJKNpK7xcQEdC7DT1qTMAiEA/N32RZP7KW9kOyyS1VHaYn6O/K8j2R/0/3BNS2i4hcU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":921598},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"866d8b8a497f7e86f6de7a640e8590b6bfa92cd8","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:endpoint-contracts && npm run test:summary && npm run test:coverage-report && npm run test:privacy-cache && npm run test:gps-redaction && npm run test:redaction-docs && npm run test:declared-limits && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:headless-auth && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition && npm run test:synthetic-demo && npm run test:revoke-gate","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:revoke-gate":"node scripts/test-revoke-gate.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:gps-redaction":"node scripts/gps-redaction-test.mjs","test:headless-auth":"node scripts/headless-auth-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:redaction-docs":"node scripts/redaction-doc-test.mjs","test:synthetic-demo":"node scripts/test-synthetic-demo.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:coverage-report":"node scripts/coverage-report-test.mjs","test:declared-limits":"node scripts/declared-limits-test.mjs","test:endpoint-contracts":"node scripts/endpoint-contract-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.27","esbuild":"0.28.1","fast-uri":"3.1.5","ip-address":"10.4.0","body-parser":"2.3.0","@hono/node-server":"2.0.12"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","delx-mcp-kit":"^0.1.0","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.7.4_1786472681914_0.49649418239964604","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"google-health-mcp-unofficial","version":"0.7.5","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.7.5","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"6b0d7fef2b146f70d51c35be1f229174a185d3df","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.7.5.tgz","fileCount":163,"integrity":"sha512-IIxF0qMiNiuNZYuxb6c9tAzd8ZTxQt+iDr912j69JbxkZbjpUUbDOPRnvKx1ps7iV4DuVOLfuGsjFPy/+QShiQ==","signatures":[{"sig":"MEUCIQChlPZl+ePdVmn0WjZUrSaQo2evbDHm4ssy/sHi6wY5RgIgIlMQNl1dOeif1WQZAFnka88b3mkXyj+aaRebrbh28ZE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":921732},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"4b7b18f1c601586fa563cd847d4225ea1ba11580","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:endpoint-contracts && npm run test:summary && npm run test:coverage-report && npm run test:privacy-cache && npm run test:gps-redaction && npm run test:redaction-docs && npm run test:declared-limits && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:headless-auth && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition && npm run test:synthetic-demo && npm run test:revoke-gate","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:revoke-gate":"node scripts/test-revoke-gate.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:gps-redaction":"node scripts/gps-redaction-test.mjs","test:headless-auth":"node scripts/headless-auth-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:redaction-docs":"node scripts/redaction-doc-test.mjs","test:synthetic-demo":"node scripts/test-synthetic-demo.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:coverage-report":"node scripts/coverage-report-test.mjs","test:declared-limits":"node scripts/declared-limits-test.mjs","test:endpoint-contracts":"node scripts/endpoint-contract-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.13.1","esbuild":"0.28.1","fast-uri":"3.1.5","ip-address":"10.4.0","body-parser":"2.3.0","@hono/node-server":"2.1.0"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","delx-mcp-kit":"^0.1.0","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.7.5_1786482329484_0.26828035981579923","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"google-health-mcp-unofficial","version":"0.7.6","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.7.6","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"22cfade534ecbaf0c8a1d828ac755d7e2546d15f","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.7.6.tgz","fileCount":167,"integrity":"sha512-gWV7I5k8z2zzAG3mtLTonJzl9UZqI33zvtx5CFZRAhgJdVhGureyGNgNMxM02NPwZa8k4ZH8SxOAwca6y62dRQ==","signatures":[{"sig":"MEUCIQCNEfy8mKdvFRTbT9CT07QTzDGGvPAfsKNDdOxcRMNZNAIgc5z5lbPXV3dv1+iKjWVUy6XTll1/WpnB+mYo1cE5ALA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":930078},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"f03504953192371350344367014e65dcf2804db6","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:output-schema-dialect && npm run test:endpoint-contracts && npm run test:summary && npm run test:coverage-report && npm run test:privacy-cache && npm run test:gps-redaction && npm run test:redaction-docs && npm run test:declared-limits && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:headless-auth && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition && npm run test:synthetic-demo && npm run test:revoke-gate","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:revoke-gate":"node scripts/test-revoke-gate.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:gps-redaction":"node scripts/gps-redaction-test.mjs","test:headless-auth":"node scripts/headless-auth-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:redaction-docs":"node scripts/redaction-doc-test.mjs","test:synthetic-demo":"node scripts/test-synthetic-demo.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:coverage-report":"node scripts/coverage-report-test.mjs","test:declared-limits":"node scripts/declared-limits-test.mjs","test:endpoint-contracts":"node scripts/endpoint-contract-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs","test:output-schema-dialect":"node scripts/output-schema-dialect-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.13.1","esbuild":"0.28.1","fast-uri":"3.1.5","ip-address":"10.4.0","body-parser":"2.3.0","@hono/node-server":"2.1.0"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","delx-mcp-kit":"^0.1.0","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.7.6_1786740503666_0.839659887301913","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"google-health-mcp-unofficial","version":"0.7.7","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"author":{"name":"David Mosiah"},"license":"MIT","_id":"google-health-mcp-unofficial@0.7.7","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"homepage":"https://wellness.delx.ai/connectors/google-health","bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"dist":{"shasum":"59a302941dc297e5dc81e1533158c22edc600b53","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.7.7.tgz","fileCount":167,"integrity":"sha512-l3/cfMKiP1XFOxUpwDUUMumfuGolqh9JlGuk5Z/mwffrA0T0IUcGXUpRIUMTZ/9Lre52vhyrHXJmQcTJPc+uTw==","signatures":[{"sig":"MEUCIAiCc/akSWRGMd2ooKJ6QEOfme+6qGVTk2B193ySS/hqAiEAq/CX2oW+KtcjxkMtFXkq9msJiNhmgUP0D2yFWxwGq4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":932926},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"b310b459632db7805cb0369a3c95ab1ee469fdf4","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:output-schema-dialect && npm run test:endpoint-contracts && npm run test:summary && npm run test:coverage-report && npm run test:privacy-cache && npm run test:gps-redaction && npm run test:redaction-docs && npm run test:declared-limits && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:headless-auth && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition && npm run test:synthetic-demo && npm run test:revoke-gate","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:revoke-gate":"node scripts/test-revoke-gate.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:gps-redaction":"node scripts/gps-redaction-test.mjs","test:headless-auth":"node scripts/headless-auth-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:redaction-docs":"node scripts/redaction-doc-test.mjs","test:synthetic-demo":"node scripts/test-synthetic-demo.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:coverage-report":"node scripts/coverage-report-test.mjs","test:declared-limits":"node scripts/declared-limits-test.mjs","test:endpoint-contracts":"node scripts/endpoint-contract-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs","test:output-schema-dialect":"node scripts/output-schema-dialect-test.mjs"},"_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"overrides":{"qs":"6.15.2","hono":"4.13.1","esbuild":"0.28.1","fast-uri":"3.1.5","ip-address":"10.4.0","body-parser":"2.3.0","@hono/node-server":"2.1.0"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","delx-mcp-kit":"^0.1.0","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/google-health-mcp-unofficial_0.7.7_1787754081276_0.9055957902515321","host":"s3://npm-registry-packages-npm-production"}},"0.7.8":{"_id":"google-health-mcp-unofficial@0.7.8","bin":{"google-health-mcp-server":"dist/index.js","google-health-mcp-unofficial":"dist/index.js"},"bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"dist":{"shasum":"ab2ddf50c095299f55d9794efa107d49c658663b","tarball":"https://registry.npmjs.org/google-health-mcp-unofficial/-/google-health-mcp-unofficial-0.7.8.tgz","fileCount":171,"integrity":"sha512-Xn+cHDbm+Jmg4F3SIOD8DoKaADnnI9JqFTBDQnL76HMh2YQvGwyYnxzXZPXFT3G0n/o5tjbFDnOZbQBeOVspCw==","signatures":[{"sig":"MEQCIDL56GuD91EfQBsTTaM8y6HVneldBqKHQFYy+Ji4JTSEAiBCAE4gixHWs4zezzGhyKVLdfW5oorRQV0HFIt61rIJuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC63nZyQwAKFbIjhL0OvOPlV748d/ocdOw7I9B9ql1T+wIgMzSNVgiB7lTBh8hyteneBNHpSDYwMJ+jh86EzNF5hGo="}],"unpackedSize":938983},"main":"dist/index.js","name":"google-health-mcp-unofficial","type":"module","types":"./dist/index.d.ts","author":{"name":"David Mosiah"},"engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/davidmosiah","type":"github"},"gitHead":"e0322e872b44cf21f898ffee4a550bc164ee8392","license":"MIT","mcpName":"io.github.davidmosiah/google-health-mcp","scripts":{"dev":"tsx src/index.ts","test":"npm run typecheck && npm run build && npm run smoke && npm run smoke:http && npm run test:output-schema-dialect && npm run test:endpoint-contracts && npm run test:summary && npm run test:coverage-report && npm run test:privacy-cache && npm run test:gps-redaction && npm run test:redaction-docs && npm run test:declared-limits && npm run test:http-retry && npm run test:http-cache && npm run test:cli-ux && npm run test:headless-auth && npm run test:agent-readiness && npm run test:hermes-agent && npm run test:metadata && npm run test:write-gate && npm run test:nutrition-normalize && npm run test:v4-nutrition && npm run test:synthetic-demo && npm run test:revoke-gate && npm run test:skill-surface","build":"tsc -p tsconfig.json","smoke":"node scripts/smoke-tools.mjs","start":"node dist/index.js","typecheck":"tsc --noEmit -p tsconfig.json","smoke:http":"node scripts/smoke-http.mjs","test:cli-ux":"node scripts/cli-ux-test.mjs","test:summary":"node scripts/summary-fixture-test.mjs","test:metadata":"node scripts/metadata-check.mjs","prepublishOnly":"npm test","test:http-cache":"node scripts/http-cache-test.mjs","test:http-retry":"node scripts/http-retry-test.mjs","test:write-gate":"node scripts/remote-write-gate-test.mjs","test:revoke-gate":"node scripts/test-revoke-gate.mjs","test:hermes-agent":"node scripts/hermes-agent-manifest-test.mjs","test:v4-nutrition":"node scripts/v4-nutrition-mapping-test.mjs","test:gps-redaction":"node scripts/gps-redaction-test.mjs","test:headless-auth":"node scripts/headless-auth-test.mjs","test:privacy-cache":"node scripts/privacy-cache-test.mjs","test:skill-surface":"node scripts/test-skill-surface.mjs","test:redaction-docs":"node scripts/redaction-doc-test.mjs","test:synthetic-demo":"node scripts/test-synthetic-demo.mjs","test:agent-readiness":"node scripts/agent-readiness-test.mjs","test:coverage-report":"node scripts/coverage-report-test.mjs","test:declared-limits":"node scripts/declared-limits-test.mjs","test:endpoint-contracts":"node scripts/endpoint-contract-test.mjs","test:nutrition-normalize":"node scripts/nutrition-normalize-test.mjs","test:output-schema-dialect":"node scripts/output-schema-dialect-test.mjs"},"version":"0.7.8","_npmUser":{"name":"davidbatista","email":"mosiahdavid@gmail.com"},"homepage":"https://wellness.delx.ai/connectors/google-health","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"overrides":{"qs":"6.15.2","hono":"4.13.1","esbuild":"0.28.1","fast-uri":"3.1.5","ip-address":"10.4.0","body-parser":"2.3.0","@hono/node-server":"2.1.0"},"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","directories":{},"maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"_nodeVersion":"23.11.0","dependencies":{"zod":"^4.4.1","cors":"^2.8.6","express":"^5.2.1","delx-mcp-kit":"^0.1.0","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^6.0.3","@types/cors":"^2.8.19","@types/node":"^25.6.0","@types/express":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/google-health-mcp-unofficial_0.7.8_1787999457902_0.935946952597104"}}},"time":{"created":"2026-05-07T16:42:02.198Z","modified":"2026-08-29T10:30:58.161Z","0.1.0":"2026-05-07T16:42:02.550Z","0.1.1":"2026-05-07T16:52:04.311Z","0.1.2":"2026-05-07T18:02:43.404Z","0.1.3":"2026-05-07T18:14:44.428Z","0.1.4":"2026-05-10T09:33:08.217Z","0.2.0":"2026-05-10T09:50:59.132Z","0.2.1":"2026-05-10T09:53:57.812Z","0.2.2":"2026-05-10T09:57:54.211Z","0.3.0":"2026-05-11T08:56:28.210Z","0.4.0":"2026-05-11T09:36:07.557Z","0.4.1":"2026-05-11T10:22:47.161Z","0.4.2":"2026-05-19T19:55:49.061Z","0.4.3":"2026-05-19T20:33:04.874Z","0.4.4":"2026-05-20T20:58:10.745Z","0.4.5":"2026-05-20T21:00:07.532Z","0.4.6":"2026-05-24T10:22:13.888Z","0.4.7":"2026-05-24T11:29:21.783Z","0.4.8":"2026-06-27T11:22:57.998Z","0.4.9":"2026-06-27T13:01:14.316Z","0.5.0":"2026-06-27T18:54:47.793Z","0.5.1":"2026-06-27T19:32:54.531Z","0.5.2":"2026-07-12T10:45:11.766Z","0.5.3":"2026-07-16T12:24:39.811Z","0.5.4":"2026-07-30T12:42:50.644Z","0.5.5":"2026-07-30T15:13:21.184Z","0.5.6":"2026-07-30T15:31:59.573Z","0.5.7":"2026-07-30T18:26:13.175Z","0.7.0":"2026-08-01T10:51:55.267Z","0.7.1":"2026-08-01T11:30:23.762Z","0.7.2":"2026-08-03T14:15:07.287Z","0.7.3":"2026-08-03T14:19:45.995Z","0.7.4":"2026-08-11T18:24:42.094Z","0.7.5":"2026-08-11T21:05:29.689Z","0.7.6":"2026-08-14T20:48:23.813Z","0.7.7":"2026-08-26T14:21:21.602Z","0.7.8":"2026-08-29T10:30:57.993Z"},"bugs":{"url":"https://github.com/davidmosiah/google-health-mcp/issues","email":"support@delx.ai"},"author":{"name":"David Mosiah"},"license":"MIT","homepage":"https://wellness.delx.ai/connectors/google-health","keywords":["mcp","model-context-protocol","google-health","google-health-api","health","sleep","heart-rate","fitness","ai-agents"],"repository":{"url":"git+https://github.com/davidmosiah/google-health-mcp.git","type":"git"},"description":"Unofficial local-first Google Health API v4 MCP server for AI health, sleep and activity agents.","maintainers":[{"name":"davidbatista","email":"mosiahdavid@gmail.com"}],"readme":"<!-- delx-wellness header v2 -->\n<h1 align=\"center\">Google Health MCP</h1>\n\n<div align=\"center\">\n  <img src=\"assets/banner.png\" alt=\"Google Health MCP — Google Health MCP for AI agents\" width=\"85%\" />\n</div>\n\n<h3 align=\"center\">\n  Read user-authorized Google Health API v4 data &mdash; Fitbit, Pixel Watch and partners &mdash; locally via OAuth. <strong>Beta</strong>.<br>\n  Local-first MCP server &mdash; <strong>tokens never leave your machine</strong>.\n</h3>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/google-health-mcp-unofficial\"><img src=\"https://img.shields.io/npm/v/google-health-mcp-unofficial?style=for-the-badge&labelColor=0F172A&color=10B981&logo=npm&logoColor=white\" alt=\"npm version\" /></a>\n  <a href=\"https://github.com/davidmosiah/google-health-mcp/releases/latest\"><img src=\"https://img.shields.io/github/v/release/davidmosiah/google-health-mcp?style=for-the-badge&labelColor=0F172A&color=2563EB&logo=github\" alt=\"GitHub release\" /></a>\n  <a href=\"https://www.npmjs.com/package/google-health-mcp-unofficial\"><img src=\"https://img.shields.io/npm/dm/google-health-mcp-unofficial?style=for-the-badge&labelColor=0F172A&color=0EA5A3&logo=npm&logoColor=white\" alt=\"npm downloads\" /></a>\n  <a href=\"https://github.com/davidmosiah/google-health-mcp/actions/workflows/ci.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/davidmosiah/google-health-mcp/ci.yml?branch=main&style=for-the-badge&labelColor=0F172A&label=CI\" alt=\"CI\" /></a>\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/LICENSE-MIT-22C55E?style=for-the-badge&labelColor=0F172A\" alt=\"License MIT\" /></a>\n  <a href=\"https://wellness.delx.ai/connectors/google-health\"><img src=\"https://img.shields.io/badge/SITE-wellness.delx.ai-0EA5A3?style=for-the-badge&labelColor=0F172A\" alt=\"Site\" /></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/davidmosiah/google-health-mcp/stargazers\"><img src=\"https://img.shields.io/github/stars/davidmosiah/google-health-mcp?style=for-the-badge&labelColor=0F172A&color=FBBF24&logo=github\" alt=\"GitHub stars\" /></a>\n  <a href=\"https://modelcontextprotocol.io\"><img src=\"https://img.shields.io/badge/BUILT_FOR-MCP-7C3AED?style=for-the-badge&labelColor=0F172A\" alt=\"Built for MCP\" /></a>\n  <a href=\"https://github.com/davidmosiah/delx-wellness/blob/main/docs/release-index.md\"><img src=\"https://img.shields.io/badge/VERIFIED-release_index-0EA5A3?style=for-the-badge&labelColor=0F172A\" alt=\"Verified release index\" /></a>\n  <a href=\"https://github.com/davidmosiah/delx-wellness-hermes\"><img src=\"https://img.shields.io/badge/HERMES-one--command_setup-10B981?style=for-the-badge&labelColor=0F172A\" alt=\"Hermes one-command setup\" /></a>\n  <a href=\"https://github.com/davidmosiah/delx-wellness\"><img src=\"https://img.shields.io/badge/Google%20Health-4285F4?style=for-the-badge&labelColor=0F172A&logoColor=white\" alt=\"Google Health\" /></a>\n</p>\n\n> ⚡ **One-command install** with [Delx Wellness for Hermes](https://github.com/davidmosiah/delx-wellness-hermes):\n> `npx -y delx-wellness-hermes setup` &mdash; preconfigures this connector and the other 8 in a dedicated Hermes profile.\n>\n> Or wire it standalone into Claude Desktop / Cursor / ChatGPT Desktop &mdash; see the install section below.\n\n> **What's new in 0.7.3 (2026-08-03):** headless OAuth (`auth --manual`) for SSH /\n> containers / WSL · real-account rollup/filter fixes from external testers ·\n> opt-in `clinical` scopes for ECG/IRN · pins live in Hermes/living-body.\n> Full notes in [CHANGELOG.md](CHANGELOG.md).\n\n## Highest-leverage contribution — real-account coverage\n\nIf you have Fitbit, Pixel Watch, Android health data or Google Health API v4\naccess, the most useful help is a redacted coverage report:\n\n```bash\nnpx -y google-health-mcp-unofficial coverage --live --json\n```\n\nReview the output, remove anything you do not want public, then post the report\non [issue #2](https://github.com/davidmosiah/google-health-mcp/issues/2) (or a\nnew issue). The timed proof loop on [#21](https://github.com/davidmosiah/google-health-mcp/issues/21)\nclosed **1/2** — see [docs/proof-loop-status.md](docs/proof-loop-status.md).\nThe command is read-only and is designed to omit OAuth secrets, local paths and raw\nhealth measurements. A static preflight is available before OAuth with\n`coverage --json`.\n\n### Other ways to help (no account required)\n\n| Action | Link |\n| --- | --- |\n| Star if the project earned it | [stargazers](https://github.com/davidmosiah/google-health-mcp/stargazers) |\n| Docs GFI — headless auth walkthrough | [#22](https://github.com/davidmosiah/google-health-mcp/issues/22) |\n| Compose with other wearables | [`delx-living-body`](https://github.com/davidmosiah/delx-living-body) |\n| One-command Hermes pack | [`delx-wellness-hermes`](https://github.com/davidmosiah/delx-wellness-hermes) |\n| Full registry | [`delx-wellness`](https://github.com/davidmosiah/delx-wellness) |\n\n---\n\n## HTTP (v2 stateless)\n\nDefault is **stdio**. Optional Streamable HTTP — no session id, JSON responses, loopback only:\n\n```bash\nnpx -y google-health-mcp-unofficial --http\n# GET  http://127.0.0.1:3000/health\n# POST http://127.0.0.1:3000/mcp   (sessionless)\n```\n\nEnv: `GOOGLE_HEALTH_MCP_HOST`, `GOOGLE_HEALTH_MCP_PORT`, `GOOGLE_HEALTH_MCP_TRANSPORT=http`.\n\n\n<!-- /delx-wellness header v2 -->\n\n# Google Health MCP\n\n**Local-first MCP server that gives your AI agent user-authorized Google Health API v4 data — Fitbit, Pixel Watch and partners — over OAuth.**\n\n- **Install one connector** — `npx -y google-health-mcp-unofficial setup`\n- **Run it in** Claude · Cursor · ChatGPT · Hermes · OpenClaw — see the [client examples](https://github.com/davidmosiah/delx-wellness/tree/main/examples).\n- **Local-first** — your tokens never leave your machine ([privacy](#privacy--what-runs-offline)).\n- **Which connector should I use?** — see the [front-door guide](https://github.com/davidmosiah/delx-wellness#which-connector-should-i-use).\n\n> **Beta status:** Google Health API v4 is live for builders but still evolving. Google's release notes show scope and data-type changes continuing after launch, so this connector stays in early beta and points testers to safe read-only validation paths before public production use.\n\n> **Unofficial project.** Not affiliated with, endorsed by or supported by Google, Fitbit or Alphabet. Not a medical device. Not medical advice.\n\n## Why this exists\n\nGoogle Health API is the successor to Fitbit Web API: new OAuth, new base URL, v4 endpoint schema, standardized data types, reconciled streams and rollups.\n\nThis MCP gives agents a clean way to discover the API, check setup, authenticate locally and query data without pasting tokens into prompts or agent configs.\n\n## Quickstart in 60 seconds\n\nCreate a Google Cloud OAuth client, enable the Google Health API, and add the redirect `http://127.0.0.1:3000/callback`. Then:\n\n```bash\nnpx -y google-health-mcp-unofficial setup --scope-preset full   # writes local config\nnpx -y google-health-mcp-unofficial auth                        # OAuth, tokens saved locally\nnpx -y google-health-mcp-unofficial doctor                      # verifies you're ready\n```\n\n`doctor --live` calls safe Google Health identity/profile/settings endpoints after auth to prove the API is reachable — the connection proof for this beta. That does **not** prove Claude Desktop can invoke tools: Desktop validates `outputSchema` as JSON Schema 2020-12. Use `google-health-mcp-unofficial@0.7.6+` (see [#23](https://github.com/davidmosiah/google-health-mcp/issues/23)). Full install details (scope presets, MFA, recovery) are in the [Install section](#install) below.\n\n## Try it with your agent\n\nThree things to ask first, based on tools this connector actually ships:\n\n```text\nUse google_health_connection_status to check setup, then run\ngoogle_health_data_inventory. Tell me which Google Health domains\nand scopes I have authorized.\n```\n\n```text\nCall google_health_daily_summary for today, then google_health_weekly_summary.\nSeparate observed data from suggestions and stay non-medical.\n```\n\n```text\nRun google_health_privacy_audit, then summarize exactly what is stored\nlocally and what would be sent to Google on the next call.\n```\n\n## Tools\n\nStart here:\n\n- `google_health_connection_status` — local config, token, scope and client readiness\n- `google_health_data_inventory` — supported domains, scopes, data type naming and agent flow\n- `google_health_data_type_coverage` — static coverage plan, or explicit live read-only validation for issue #21\n- `google_health_daily_summary` — daily beta summary from rollups and reconciled streams\n- `google_health_weekly_summary` — weekly beta review\n- `google_health_privacy_audit` — what is stored locally and what is sent to Google\n\nThe full tool catalog — Google Health API methods, agent manifest, diagnostics and data-type naming notes (kebab-case endpoints, snake_case filters, source families) — lives in [docs/tools.md](docs/tools.md).\n\n## Privacy & what runs offline\n\n- OAuth tokens are stored locally at `~/.google-health-mcp/tokens.json` with `0600` permissions.\n- Secrets can live in `~/.google-health-mcp/config.json` or `GOOGLE_HEALTH_*` environment variables.\n- Tools never return access tokens, refresh tokens or client secrets.\n- `GOOGLE_HEALTH_PRIVACY_MODE=structured` is the default; `raw` mode is explicit and should be used only for debugging or deep analysis. An agent asking for `privacy_mode=raw` is refused unless it passes `explicit_user_intent=true`; setting `GOOGLE_HEALTH_PRIVACY_MODE=raw` yourself is your own call and needs no per-call intent.\n- Structured mode preserves complete upstream physiological fields and future v4 additions while removing identity, location and secret-bearing values.\n- \"Location redaction\" means a concrete key list, not a slogan. Coordinate-bearing **leaf keys**, always dropped in `structured` and `summary` (matched ignoring case, `_` and `-`, so `latitude_e7` and `latitudeE7` are the same key):\n\n  <!-- gps-redacted-keys:start -->\n  `startLatitude`, `startLongitude`, `start_latlng`, `endLatitude`, `endLongitude`, `end_latlng`, `latitude`, `longitude`, `lat`, `lon`, `lng`, `latlng`, `coordinates`, `coordinate`, `gps`, `gpx`, `geoPolylineDTO`, `map`, `polyline`, `summary_polyline`, `activities-tracker-gps`, `latitudeE7`, `longitudeE7`, `latE7`, `lngE7`, `lonE7`, `startLatitudeE7`, `startLongitudeE7`, `endLatitudeE7`, `endLongitudeE7`, `lat_deg`, `lng_deg`, `lon_deg`, `latitudeDegrees`, `longitudeDegrees`\n  <!-- gps-redacted-keys:end -->\n\n  Location **container keys**, dropped as a whole object — with their `address`/`city`/`placeId` siblings and any coordinate spelling this list never anticipated — whenever they hold a place record (an object, or an array containing objects). A container holding only scalars is a label, not a place, and survives: `location: [\"gym\", \"home\"]` stays, `location: { latitudeE7: … }` does not.\n\n  <!-- gps-redacted-containers:start -->\n  `location`, `locations`, `geoLocation`, `geoLocations`, `geo`, `geoJson`, `route`, `routes`, `position`, `positions`, `waypoint`, `waypoints`, `trackPoint`, `trackPoints`, `placeVisit`\n  <!-- gps-redacted-containers:end -->\n\n  `google_health_privacy_audit` returns both live lists in `gps_redacted_keys` and `gps_redacted_container_keys`, and `gps_redaction_default` is measured at call time by pushing a synthetic record through both non-raw modes and scanning the output by key **and by coordinate value** — it is not a hardcoded `true`. `npm run test:redaction-docs` fails the build if these two blocks stop matching the code, so the published promise cannot drift from the enforcement list again. Google Health API v4 does not currently document a location/route data type, so this is a forward-compatible guard rather than a patch for an observed leak.\n\n- Limits of that promise, stated instead of implied. Every line below is proved by a behavioural test (`npm run test:declared-limits`) that fails if the behaviour changes; a line marked **NOT VERIFIED** is a statement no test backs, labelled instead of left to read as a guarantee. A limit written here without a test fails the build:\n\n  <!-- declared-limits:start -->\n  - `default_mode_is_structured` — with no `privacy_mode` argument and no `GOOGLE_HEALTH_PRIVACY_MODE`, every read runs in `structured`.\n  - `raw_requires_explicit_user_intent` — an agent asking for `privacy_mode=raw` is refused with `USER_ACTION_REQUIRED` unless it also passes `explicit_user_intent=true`.\n  - `local_raw_default_needs_no_per_call_intent` — `GOOGLE_HEALTH_PRIVACY_MODE=raw` in your own config or environment is honoured on every call with no per-call intent; the gate is about agent escalation, not about the machine owner.\n  - `raw_is_an_unfiltered_passthrough` — `raw` returns the upstream payload unchanged; redaction is a property of `structured` and `summary`, never of `raw`.\n  - `structured_drops_identity_and_secret_keys` — tokens, `authorization`, e-mail, names and avatars are dropped at any depth in `structured`, while physiology and provenance survive.\n  - `summary_is_never_less_restrictive_than_structured` — `summary` strips first and summarizes after, so nothing `structured` drops can reappear in `summary`.\n  - `summary_flattens_numeric_leaves_to_depth_2` — `summary` promotes numeric leaves down to depth 2 of the data-type payload into `value`; anything deeper is not reported at all.\n  - `summary_promotes_unlisted_coordinate_keys` — a coordinate key outside the lists above is promoted by `summary`, not hidden. The key list is the boundary, not the mode.\n  - `altitude_and_elevation_are_not_location` — `altitude` is an official v4 data type (`activity_and_fitness`) and survives redaction, as does `elevation`; an altitude alone does not localize a user.\n  - `altitude_inside_a_place_container_is_dropped` — the same altitude inside a redacted location container dies with the container.\n  - `location_guard_never_observed_upstream` — NOT VERIFIED: Google Health API v4 documents no location/route data type, so no test here has ever seen a real Google payload carrying coordinates. The key list is a forward-compatible guard derived from Google's own encodings, not a measured fix for an observed leak.\n  <!-- declared-limits:end -->\n- Daily rollups use validated civil `YYYY-MM-DD` ranges; general rollups preserve exact timezone-aware ISO date-times. Invalid or reversed ranges fail before HTTP.\n- `support --redacted` prints a copy-paste support bundle for GitHub issues without tokens, secrets, local paths or health measurements.\n- `support --feedback --json` prints an anonymous setup-feedback bundle for beta testers and MCP client reports.\n- `coverage --live --json` prints only redacted data-type status and point-count buckets; it never includes raw Google Health payloads.\n\n## Authorization model & trust boundary\n\nGoogle OAuth controls which Google account and health scopes this connector can\naccess. It does **not** authorize individual MCP callers or tools. The intended\ndeployment is one local user running one trusted MCP host; callers that can\nreach the same process share its tool catalog and local OAuth grant.\n\nThere is currently no per-user, per-agent, API-key or per-tool RBAC layer. The\noptional HTTP transport binds to `127.0.0.1` by default and must not be exposed\npublicly without standards-compliant MCP authentication, isolated per-user\nGoogle credentials and an explicit authorization policy. See the full\n[authorization model](docs/authorization.md).\n\n## See the full agent demo →\n\nWant to see an agent actually reason over this connector alongside the rest of the stack? The shared, reproducible demo answers the anchor question **\"Should I train hard today?\"**:\n\n```bash\nnpx -y delx-living-body demo\n```\n\n`delx-living-body` composes whatever connectors it detects locally with rule-based (offline) synthesis — readiness-first and non-medical. For this connector specifically, `npx -y google-health-mcp-unofficial doctor --live` is the local proof that your Google Health auth is wired correctly.\n\n## Beta Testers Wanted\n\nThe highest-leverage contribution right now is real setup feedback from Fitbit, Pixel Watch, Android and Google Health API v4 users.\n\nIf you can test with a real account:\n\n- Run `npx -y google-health-mcp-unofficial doctor` and confirm the OAuth flow is clear.\n- Run `npx -y google-health-mcp-unofficial support --feedback --json` and paste the anonymous bundle into issue #4.\n- Run `npx -y google-health-mcp-unofficial coverage --json` for the static coverage plan.\n- After OAuth, run `npx -y google-health-mcp-unofficial coverage --live --json` and paste the reviewed, redacted report into [issue #2](https://github.com/davidmosiah/google-health-mcp/issues/2).\n- Try `google_health_connection_status`, `google_health_data_inventory` and `google_health_daily_summary` from your MCP client.\n- Open an issue for missing data types, confusing setup steps, client-specific friction or privacy concerns.\n- Do **not** paste OAuth tokens, client secrets, local paths or personal health measurements into public issues.\n\nUseful links:\n\n- [Beta testers wanted](https://github.com/davidmosiah/google-health-mcp/issues/2)\n- [Proof loop status (honest 1/2)](docs/proof-loop-status.md)\n- [Beta testers / new coverage](https://github.com/davidmosiah/google-health-mcp/issues/2)\n- [MCP client setup feedback](https://github.com/davidmosiah/google-health-mcp/issues/4)\n- [Beta feedback guide](docs/beta-feedback.md)\n- [Data coverage harness](docs/data-coverage.md)\n- [Anonymous setup feedback](docs/setup-feedback.md)\n- [Demo](docs/demo.md)\n- [Discovery kit](docs/discovery.md)\n\n## Install\n\nCreate a Google Cloud OAuth client, enable the Google Health API, and add the local redirect:\n\n```text\nhttp://127.0.0.1:3000/callback\n```\n\nThen run:\n\n```bash\nnpx -y google-health-mcp-unofficial setup --scope-preset full\nnpx -y google-health-mcp-unofficial auth\nnpx -y google-health-mcp-unofficial doctor\n```\n\n### Headless hosts (servers, SSH, containers, WSL)\n\n`auth` normally opens a browser and catches the redirect on `127.0.0.1`. On a host with no\nbrowser that cannot work. When it detects a headless host — SSH, or no `DISPLAY` /\n`WAYLAND_DISPLAY` — it switches to pasting the redirect back in:\n\n```bash\nnpx -y google-health-mcp-unofficial auth --manual\n```\n\nNon-interactive provisioning:\n\n```bash\nnpx -y google-health-mcp-unofficial auth --print-url\nnpx -y google-health-mcp-unofficial auth --code \"http://127.0.0.1:3000/callback?code=...\"\n```\n\nSee [docs/oauth.md](docs/oauth.md) for `--local-callback`, SSH tunnel notes, and\n`GOOGLE_HEALTH_HEADLESS`.\n\nScope presets keep OAuth consent easier to reason about — `basic`, `activity`, `sleep` and `full`. The full preset list, the exact read-only scope URLs and the OAuth endpoints live in [docs/oauth.md](docs/oauth.md).\n\nIf setup gets stuck:\n\n```bash\nnpx -y google-health-mcp-unofficial doctor --fix       # repairs local config/token permissions (chmod 600 where supported)\nnpx -y google-health-mcp-unofficial doctor --live      # calls safe identity/profile/settings endpoints to prove the API is reachable\nnpx -y google-health-mcp-unofficial coverage --live --json # redacted read-only data-type coverage for issue #21\nnpx -y google-health-mcp-unofficial support --redacted # copy-paste support bundle, no tokens/secrets/measurements\nnpx -y google-health-mcp-unofficial support --feedback --json # anonymous setup feedback for issue #4\n```\n\nStandalone MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"google_health\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"google-health-mcp-unofficial\"]\n    }\n  }\n}\n```\n\n## Hermes\n\n```bash\nnpx -y google-health-mcp-unofficial setup --client hermes --no-auth\nnpx -y google-health-mcp-unofficial auth\nnpx -y google-health-mcp-unofficial doctor --client hermes --fix\nnpx -y google-health-mcp-unofficial doctor --client hermes --live\nhermes mcp test google_health\n```\n\nAfter config changes, use `/reload-mcp` or `hermes mcp test google_health`. Do not restart the gateway for normal data access.\n\n## Development\n\n```bash\ngit clone https://github.com/davidmosiah/google-health-mcp.git\ncd google-health-mcp\nnpm install\nnpm test\n```\n\n## Links\n\n- [Changelog](CHANGELOG.md) · [Contributing](CONTRIBUTING.md) · [Security](SECURITY.md) · [Authorization model](docs/authorization.md)\n- Google Health API: https://developers.google.com/health\n- Release notes: https://developers.google.com/health/release-notes\n- REST reference: https://developers.google.com/health/reference/rest\n- Scopes: https://developers.google.com/health/scopes\n- Data types: https://developers.google.com/health/data-types\n- Migration guide: https://developers.google.com/health/migration\n- Delx Wellness registry: https://github.com/davidmosiah/delx-wellness\n\n<!-- delx-wellness see-also -->\n\n## See also\n\nThe full [Delx Wellness](https://wellness.delx.ai) connector library:\n\n| Provider | Package | Repo |\n|---|---|---|\n| WHOOP | [`whoop-mcp-unofficial`](https://www.npmjs.com/package/whoop-mcp-unofficial) | [whoop-mcp](https://github.com/davidmosiah/whoop-mcp) |\n| Oura | [`oura-mcp-unofficial`](https://www.npmjs.com/package/oura-mcp-unofficial) | [ouramcp](https://github.com/davidmosiah/ouramcp) |\n| Garmin | [`garmin-mcp-unofficial`](https://www.npmjs.com/package/garmin-mcp-unofficial) | [garmin-mcp](https://github.com/davidmosiah/garmin-mcp) |\n| Strava | [`strava-mcp-unofficial`](https://www.npmjs.com/package/strava-mcp-unofficial) | [strava-mcp](https://github.com/davidmosiah/strava-mcp) |\n| Fitbit | [`fitbit-mcp-unofficial`](https://www.npmjs.com/package/fitbit-mcp-unofficial) | [fitbitmcp](https://github.com/davidmosiah/fitbitmcp) |\n| Withings | [`withings-mcp-unofficial`](https://www.npmjs.com/package/withings-mcp-unofficial) | [withingsmcp](https://github.com/davidmosiah/withingsmcp) |\n| Apple Health | [`apple-health-mcp-unofficial`](https://www.npmjs.com/package/apple-health-mcp-unofficial) | [apple-health-mcp](https://github.com/davidmosiah/apple-health-mcp) |\n| Polar | [`polar-mcp-unofficial`](https://www.npmjs.com/package/polar-mcp-unofficial) | [polarmcp](https://github.com/davidmosiah/polarmcp) |\n| Nourish (nutrition) | [`wellness-nourish`](https://www.npmjs.com/package/wellness-nourish) | [wellness-nourish](https://github.com/davidmosiah/wellness-nourish) |\n\n**One-command setup for Hermes** — preconfigures every connector above plus wellness skills + onboarding: [`delx-wellness-hermes`](https://github.com/davidmosiah/delx-wellness-hermes).\n\n<!-- /delx-wellness see-also -->\n\n## 📧 Contact & Support\n\n- 📨 **support@delx.ai** — general questions, integration help, partnerships\n- 🐛 **Bug reports / feature requests** — [GitHub Issues](https://github.com/davidmosiah/google-health-mcp/issues)\n- 🐦 **Updates** — [@delx369](https://x.com/delx369) on X\n- 🌐 **Site** — [wellness.delx.ai](https://wellness.delx.ai)\n\n\n## License\n\nMIT - see [LICENSE](LICENSE). [Code of Conduct](CODE_OF_CONDUCT.md).\n\n> Agent-ready yardstick: [mcp-scorecard](https://github.com/davidmosiah/mcp-scorecard) — aim ≥90 on CI.\n\n## Skill or MCP\n\nSame package, two doors. MCP registers tools on stdio/HTTP. The [skill](skill/SKILL.md) can drive the **same** tools through the CLI when the client has no MCP:\n\n```bash\nnpx -y google-health-mcp-unofficial call google_health_connection_status --json '{}'\n```\n\nCopy `skill/SKILL.md` into your agent skills dir.\n","readmeFilename":"README.md"}