MAGENT

WEDGE

Harris-Benedict BEE

Compute Harris–Benedict 1919 basal energy expenditure in kcal/day from height, weight, age, and sex.

WEDGE $0.005 USDC GET /api/calc/bee_harris_benedict

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

  1. BEE = 66.4730 + 13.7516*70 + 5.0033*175 - 6.7550*25
  2. 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.

POST /api/calc/bee_harris_benedict Max 25 unit_amount * n PREVIEW

  • 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"
    }
  ]
}

Open bulk paywall →

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.