WEDGE
Harris-Benedict BEE
Compute Harris–Benedict 1919 basal energy expenditure in kcal/day from height, weight, age, and sex.
Markdown: /docs/bee.md · Canonical: https://magentlab.com/docs/bee
Not a medical device. Not a diagnosis, dose, or listing recommendation.
What it computes
Compute Harris–Benedict 1919 basal energy expenditure in kcal/day from height, weight, age, and sex.
When to use
When an agent needs 1919 Harris–Benedict BEE and must not invent kcal/24h.
When not to use
- Not a nutrition prescription. The equations do not choose a feeding regimen or activity factor.
- Original 1919 Harris–Benedict BEE only. Later revisions are out of scope.
Formula
BEE_kcal_day = 66.4730 + 13.7516*kg + 5.0033*cm - 6.7550*age (male); BEE_kcal_day = 655.0955 + 9.5634*kg + 1.8496*cm - 4.6756*age (female)
Citation
- Title
- A Biometric Study of Basal Metabolism in Man
- Authors
- Harris JA, Benedict FG
- Source
- Carnegie Institution of Washington Publication No. 279; 1919
- DOI
- none
Worked example
25yo male, 175 cm, 70 kg
Given:
age=25height_cm=175sex=maleweight_kg=70
- BEE = 66.4730 + 13.7516*70 + 5.0033*175 - 6.7550*25
- BEE = 66.4730 + 962.612 + 875.5775 - 168.875 = 1735.7875 → 1735.8 kcal/day
Try
Opens the live endpoint. Unpaid browser requests show the paywall; agents should send Accept: application/json.
/api/calc/bee_harris_benedict?age=25&sex=male&height_cm=175&weight_kg=70
Full URL: https://api.magentlab.com/api/calc/bee_harris_benedict?age=25&sex=male&height_cm=175&weight_kg=70
x402 V2 curl
Expect HTTP 402 and a PAYMENT-REQUIRED
header until you retry with PAYMENT-SIGNATURE. Incomplete query params return HTTP
400 before any quote or charge.
curl -i -H "Accept: application/json" "https://api.magentlab.com/api/calc/bee_harris_benedict?age=25&sex=male&height_cm=175&weight_kg=70"
Cursor mcp.json
Intended config for @magent/mcp. This is not npm @x402/fetch
(a payment fetch wrapper).
{
"mcpServers": {
"magent": {
"args": [
"-y",
"@magent/mcp"
],
"command": "npx",
"env": {
"X402_PRIVATE_KEY": "0xYOUR_SPENDING_KEY"
}
}
}
}
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
age |
integer | required | Age in years (18-120). |
sex |
string | required · female, male | Sex used by Harris–Benedict 1919 (separate male and female equations). |
height_cm |
number | optional | Height in centimeters. Provide height_cm or height_in. |
height_in |
number | optional | Height in inches. Converted as cm = in * 2.54. |
weight_kg |
number | optional | Weight in kilograms. Provide weight_kg or weight_lb. |
weight_lb |
number | optional | Weight in pounds. Converted as kg = lb * 0.45359237. |
Bulk (POST)
POST the same path with a JSON items array. Price is n times the GET unit. Invalid items return HTTP 400 before settlement.
- 1 to 25 items. Each item uses the same keys as the GET query parameters.
- The first invalid item fails the whole request (index in the 400 JSON). You are not charged.
- HTTP 200 is {count, path, items}. Each items[i] is the GET 200 body for that row.
- Catalog misses (empty matches, found=false) stay paid 200s inside that slot.
- x402 resource URL is this path plus n and body_sha256. Browsers that prefer text/html get the same paywall as GET; Pay retries POST with the same items.
Example request (fixture)
{
"items": [
{
"age": "25",
"height_cm": "175",
"sex": "male",
"weight_kg": "70"
},
{
"age": "25",
"height_cm": "175",
"sex": "male",
"weight_kg": "70"
}
]
}
Opens a two-item fixture on the API host. Unpaid browsers get the same MetaMask paywall as GET; Pay retries POST with those items.
Example 200 (fixture)
{
"count": 2,
"path": "/api/calc/bee_harris_benedict",
"items": [
{
"units": "kcal/day",
"disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
"citation": {
"authors": "Harris JA, Benedict FG",
"doi": null,
"id": "harris-benedict-1919",
"source": "Carnegie Institution of Washington Publication No. 279; 1919",
"title": "A Biometric Study of Basal Metabolism in Man"
},
"formula": "harris_benedict_1919",
"formula_expression": "BEE_kcal_day = 66.4730 + 13.7516*kg + 5.0033*cm - 6.7550*age (male); BEE_kcal_day = 655.0955 + 9.5634*kg + 1.8496*cm - 4.6756*age (female)",
"sex": "male",
"height_cm": 175.0,
"weight_kg": 70.0,
"age_years": 25,
"bee_kcal_day": 1735.8
},
{
"units": "kcal/day",
"disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
"citation": {
"authors": "Harris JA, Benedict FG",
"doi": null,
"id": "harris-benedict-1919",
"source": "Carnegie Institution of Washington Publication No. 279; 1919",
"title": "A Biometric Study of Basal Metabolism in Man"
},
"formula": "harris_benedict_1919",
"formula_expression": "BEE_kcal_day = 66.4730 + 13.7516*kg + 5.0033*cm - 6.7550*age (male); BEE_kcal_day = 655.0955 + 9.5634*kg + 1.8496*cm - 4.6756*age (female)",
"sex": "male",
"height_cm": 175.0,
"weight_kg": 70.0,
"age_years": 25,
"bee_kcal_day": 1735.8
}
]
}
Response
| Field | Type | Description |
|---|---|---|
formula |
string | harris_benedict_1919 |
formula_expression |
string | Exact expressions used |
age_years |
integer | Age in years used |
sex |
string | female or male |
height_cm |
number | Normalized height in cm |
weight_kg |
number | Normalized weight in kg |
bee_kcal_day |
number | Basal energy expenditure in kcal/24h, 1 decimal place |
units |
string | kcal/day |
citation |
object | Harris–Benedict 1919 citation |
disclaimer |
string | Not-a-device notice |
Example JSON
Machine form of the same example. Frozen fixture. Not a live lookup.
{
"units": "kcal/day",
"disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
"citation": {
"authors": "Harris JA, Benedict FG",
"doi": null,
"id": "harris-benedict-1919",
"source": "Carnegie Institution of Washington Publication No. 279; 1919",
"title": "A Biometric Study of Basal Metabolism in Man"
},
"formula": "harris_benedict_1919",
"formula_expression": "BEE_kcal_day = 66.4730 + 13.7516*kg + 5.0033*cm - 6.7550*age (male); BEE_kcal_day = 655.0955 + 9.5634*kg + 1.8496*cm - 4.6756*age (female)",
"sex": "male",
"height_cm": 175.0,
"weight_kg": 70.0,
"age_years": 25,
"bee_kcal_day": 1735.8
}
Errors
| HTTP | Code | When |
|---|---|---|
| 400 | invalid_age |
age must be an integer from 18 to 120 Returned before settlement; you are not charged. |
| 400 | invalid_sex |
sex must be female or male Returned before settlement; you are not charged. |
| 400 | invalid_height |
height_cm (50-250) or height_in (20-98) is required Returned before settlement; you are not charged. |
| 400 | invalid_weight |
weight_kg (1-500) or weight_lb (2-1100) is required Returned before settlement; you are not charged. |
| 400 | invalid_items |
POST body must be a JSON object with only an items array Returned before settlement; you are not charged. |
| 400 | invalid_item_count |
items must be an array of 1 to 25 objects Returned before settlement; you are not charged. |
| 400 | invalid_item |
each items entry must be a JSON object Returned before settlement; you are not charged. |
| 402 | payment_required |
Missing or invalid PAYMENT-SIGNATURE; decode the PAYMENT-REQUIRED header |
| 409 | payment_in_progress |
The same authorization nonce is already being settled; retry shortly |
| 429 | rate_limited |
Too many requests from this client |
| 503 | settlement_uncertain |
Settlement is unconfirmed; retry with the same PAYMENT-SIGNATURE |
| 503 | facilitator_unavailable |
Payment facilitator unavailable |
| 503 | facilitator_misconfigured |
Payment facilitator is not configured |
| 503 | facilitator_unauthorized |
Payment facilitator rejected credentials |
| 503 | ledger_unavailable |
Payment ledger unavailable |
| 503 | payment_unavailable |
Payment processing unavailable |
Related tools
- BMI — Compute Keys/Quetelet body-mass index from height and weight, plus a WHO adult band.
- Devine IBW — Compute Devine ideal body weight and 0.4 adjusted body weight from height, sex, and actual weight.
Also searched as
- Harris-Benedict
- basal energy expenditure
- BEE
- basal metabolic rate
- BMR Harris Benedict
Payment
Required query parameters must be present and valid. Invalid params return HTTP 400 JSON before settlement. magent does not charge. Fix the params, then request a new 402 quote for that complete URL. Catalog misses (empty matches, found=false) are valid paid 200s. Unpaid valid requests return HTTP 402 with a base64
PAYMENT-REQUIRED
header. Retry the same URL with PAYMENT-SIGNATURE. Settlement completes before the
tool runs. Full handshake and shared payment errors: Payments.
Guarantees
- Invalid query parameters return HTTP 400 before settlement. You are not charged.
- Settlement finishes before the tool executes. Uncertain settlement fails closed (HTTP 503).
- Execution is timeout-bounded and concurrency-capped.
- Calculator inputs are not persisted. Request logs store path without query.