server.json
Rama main · réplica de lectura del repositorio original.
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "io.github.josealvaradoa/whoop-personal-mcp",
"title": "WHOOP Personal MCP",
"description": "Single-user, self-hosted Streamable HTTP server for read-only WHOOP wellness data; native MCP 2026-07-28 with a stateless 2025-era fallback.",
"repository": {
"url": "https://github.com/josealvaradoa/whoop-personal-mcp",
"source": "github"
},
"websiteUrl": "https://github.com/josealvaradoa/whoop-personal-mcp",
"version": "1.0.0",
"packages": [
{
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"identifier": "whoop-personal-mcp",
"version": "1.0.0",
"runtimeHint": "npx",
"environmentVariables": [
{
"name": "WHOOP_CLIENT_ID",
"description": "Client ID for your personal WHOOP Developer Platform app.",
"format": "string",
"isRequired": true
},
{
"name": "WHOOP_CLIENT_SECRET",
"description": "Client secret for your personal WHOOP Developer Platform app.",
"format": "string",
"isRequired": true,
"isSecret": true
},
{
"name": "WHOOP_REDIRECT_URI",
"description": "Exact callback URI registered in WHOOP, normally http://localhost:3000/auth/whoop/callback for a local package run.",
"format": "string",
"isRequired": true
},
{
"name": "ENCRYPTION_SECRET",
"description": "At least 32 characters; derives the key that encrypts WHOOP tokens at rest.",
"format": "string",
"isRequired": true,
"isSecret": true
},
{
"name": "ACCESS_PASSWORD",
"description": "At least 12 characters; confirms browser consent and WHOOP account linking.",
"format": "string",
"isRequired": true,
"isSecret": true
},
{
"name": "MCP_BEARER_TOKEN",
"description": "Optional long-lived token for clients that use a static Authorization header.",
"format": "string",
"isRequired": false,
"isSecret": true
},
{
"name": "PORT",
"description": "Local HTTP listening port.",
"format": "string",
"isRequired": false,
"value": "3000"
},
{
"name": "BIND_HOST",
"description": "Listening interface. Defaults to 127.0.0.1; set 0.0.0.0 only inside a protected container or remote host.",
"format": "string",
"isRequired": false,
"value": "127.0.0.1"
},
{
"name": "PUBLIC_URL",
"description": "Stable public origin used as the MCP OAuth issuer and canonical /mcp resource.",
"format": "string",
"isRequired": false,
"value": "http://localhost:3000"
},
{
"name": "ALLOWED_REDIRECT_HOSTS",
"description": "Optional comma-separated exact HTTPS callback hostnames trusted for remote CIMD or DCR clients; loopback is allowed automatically.",
"format": "string",
"isRequired": false
},
{
"name": "DATA_DIR",
"description": "Directory containing the persistent SQLite database.",
"format": "string",
"isRequired": false,
"value": "./data"
}
],
"transport": {
"type": "streamable-http",
"url": "http://localhost:3000/mcp"
}
}
]
}