# Caffeine Clock > Estimate how much caffeine is in the bloodstream now, at bedtime, and when it drops below a threshold. One function, exposed as an HTTP API and an MCP tool. Free 50 calls/day per caller, then $0.002 per call paid via MPP or x402 (402 challenge). ## Tool - `caffeine-level(intakes: [{ mg: number, minutesAgo: number, label?: string }], halfLifeHours?: number = 5, bedtimeInHours?: number = 8, thresholdMg?: number = 50) -> { currentMg: number, atBedtimeMg: number, bedtimeEquivalent: string, hoursToThreshold: number | null, totalMg: number }` First-order exponential decay: level = Σ mg × 0.5^(Δt / halfLife), summed over drinks consumed in the last 24 hours, instant absorption. `halfLifeHours` is 3–7 (adult typical range). `hoursToThreshold` is 0 when already below and null when the level is still above after 24 hours. Deterministic. Up to 50 intakes per call. An estimate from a standard pharmacokinetic model — not medical advice. ## Endpoints - API: `POST https://caffeine-clock.tinyverb.com/api/caffeine-level` with JSON body `{"intakes": [{"mg": 95, "minutesAgo": 120}]}` - MCP (Streamable HTTP): `https://caffeine-clock.tinyverb.com/mcp` - OpenAPI: https://caffeine-clock.tinyverb.com/openapi.json - Pricing: https://caffeine-clock.tinyverb.com/pricing.json - Agent card: https://caffeine-clock.tinyverb.com/.well-known/agent-card.json - Human app: https://caffeine-clock.tinyverb.com/app/