{ "name": "whoop-personal-mcp", "version": "1.0.0", "description": "Single-user, self-hosted MCP server for read-only WHOOP wellness and training data", "type": "module", "main": "dist/index.js", "types": "dist/index.d.ts", "bin": { "whoop-personal-mcp": "bin/whoop-personal-mcp.js" }, "files": [ "dist/", "bin/", "docs/", "scripts/", "templates/", "examples/", ".env.example", "CHANGELOG.md", "CODE_OF_CONDUCT.md", "CONTRIBUTING.md", "DISCLAIMER.md", "GOVERNANCE.md", "LICENSE", "MAINTAINERS.md", "PRIVACY.md", "README.md", "SECURITY.md", "SUPPORT.md", "test-curls.sh", "server.json", "whoop-mcp.config.example.json" ], "scripts": { "dev": "node --import tsx src/index.ts", "clean": "node scripts/clean.mjs", "build": "npm run clean && tsc", "start": "node dist/index.js", "lint": "eslint src/", "lint:docs": "node scripts/check-doc-links.mjs", "typecheck": "tsc --noEmit", "test": "vitest run", "test:watch": "vitest", "prepack": "npm run build && node scripts/verify-package.mjs", "smoke:http": "bash ./test-curls.sh", "smoke:cli": "node scripts/smoke-cli.mjs", "smoke:package": "npm run build && npm run lint:docs && npm run smoke:cli && node scripts/verify-package.mjs && node scripts/verify-tarball.mjs" }, "keywords": [ "mcp", "whoop", "model-context-protocol", "self-hosted", "wellness", "fitness", "recovery", "sleep", "hrv", "training", "grok", "claude", "codex", "openclaw" ], "author": "Jose Alvarado", "license": "MIT", "homepage": "https://github.com/josealvaradoa/whoop-personal-mcp#readme", "repository": { "type": "git", "url": "git+https://github.com/josealvaradoa/whoop-personal-mcp.git" }, "bugs": { "url": "https://github.com/josealvaradoa/whoop-personal-mcp/issues" }, "mcpName": "io.github.josealvaradoa/whoop-personal-mcp", "engines": { "node": ">=22.0.0" }, "dependencies": { "@modelcontextprotocol/express": "2.0.0", "@modelcontextprotocol/node": "2.0.0", "@modelcontextprotocol/server": "2.1.0", "@modelcontextprotocol/server-legacy": "2.0.0", "better-sqlite3": "13.0.3", "dotenv": "17.4.2", "express": "5.2.1", "express-rate-limit": "8.6.2", "zod": "4.4.3" }, "devDependencies": { "@modelcontextprotocol/client": "2.0.0", "@types/better-sqlite3": "^9.6.0", "@types/express": "^5.0.6", "@types/node": "^22.0.0", "@typescript-eslint/eslint-plugin": "^8.57.1", "@typescript-eslint/parser": "^8.57.1", "@types/supertest": "^7.2.1", "eslint": "^10.11.0", "supertest": "^7.1.4", "tsx": "^4.21.0", "typescript": "^5.9.3", "undici": "8.11.2", "vitest": "^5.0.2" }, "pnpm": { "overrides": { "brace-expansion": "5.0.9", "esbuild": "0.28.1", "nanoid": "3.3.18", "picomatch": "4.0.4", "postcss": "8.5.23", "qs": "6.15.3" } }, "packageManager": "pnpm@10.32.1+sha512.a706938f0e89ac1456b6563eab4edf1d1faf3368d1191fc5c59790e96dc918e4456ab2e67d613de1043d2e8c81f87303e6b40d4ffeca9df15ef1ad567348f2be" }