Skip to content
docs
UseBuildChangelog
Open Lumin
All tools

Advanced techniques

Classical Bhava bala (BPHS 27.26-31) in virupas [Parashari]

get_classical_bhava_bala

Parashari, not KP. Bhava bala of Brihat Parashara Hora Shastra 27.26-31 (Santhanam; 29.26-31 in Sharma) in VIRUPAS per bhava, measured on the Sripati bhava madhya. Returns '{ method: 'bphs-bhava-bala', birthPeriod: { isDayBirth, minutesFromSunrise, minutesFromSunset, minutesToNextSunrise, twilight, twilightNote }, houses: [{ bhava, madhyaLongitude, madhyaSign, lord, bhavadhipatiVirupas, wholeSignLord, bhavaDigBala: { signClass, referenceBhava, referenceLongitude, arcDegrees, virupas, raman }, bhavaDrishtiBala: { quarterOnlyVirupas, mercuryJupiterInFullVirupas, mercuryJupiterFullPlusQuarterVirupas, edges }, occupants, occupantVirupas, risingType, risingTypeByTwilight, sumOfComputedLegs, totals: [{ reading, digBala, drishti, twilight, includesOccupantAndRisingType, virupas, rupas, sourceClass }] }], readings: [{ reading, methodology, source }], componentProvenance: [{ component, source }], houseConvention, notApplied, warnings, source }'. Per bhava: bhavadhipati, the madhya lord's classical Shadbala total (the whole-sign lord beside it where it differs); Bhava Dig bala by the verse's four sign lists, with Raman's reading beside ('bhavaDigBala.raman', modern); bhava drishti bala on the sputa scale with the Jupiter/Mercury clause in THREE readings (full on top of the quarter, the literal line and Sripati, disputed; in place of it, Raman, disputed; every aspect a quarter, legacy); the 27.30-31 adjustments, +60 for Jupiter or Mercury occupying, -60 for Saturn, Mars or the Sun, and the rising-type +15 with twilight in two readings (BPHS 9.14, 3 ghatis; 46.44-46, 5 ghatis). 'totals' gives the bhava's Bhava bala under every stated reading (six BPHS combinations and Raman's own method), each with its weakest source class, defined in 'readings'. There is no single total and no ranking. 'houseConvention' is this block's own, the Sripati madhya. **'houses' is paged, one bhava per page, so page N is bhava N**, never cut inside a row; everything else repeats on every page. The Lumin 0-100 index is 'get_bhava_bala_index', a different quantity. Gates no KP verdict. The same block 'get_bhava_bala' returns as 'classical'.

Parameters

NameTypeRequiredDescription
birth_datetimestringYesBirth date and time in ISO 8601 format (e.g., "1990-05-15T14:30:00").
latitudenumberYesBirth location latitude. Range: -90 to 90.
longitudenumberYesBirth location longitude. Range: -180 to 180.
utc_offset_minutesnumberYesUTC offset in minutes (e.g., 330 for IST, -300 for EST).
ayanamsaenum: kp | kp_new | lahiri | raman | true_chitra | khullarNoAyanamsa system. Defaults to kp.

Example call

Send the request as a standard MCP tools/call:

http
POST https://mcp.lumin.guru/mcp
Authorization: Bearer mcp_yourkey...
Accept: application/json, text/event-stream
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_classical_bhava_bala",
    "arguments": {
      "birth_datetime": "1992-08-14T04:32:00",
      "latitude": 6.927,
      "longitude": 79.861,
      "utc_offset_minutes": 330,
      "ayanamsa": "kp"
    }
  }
}

Birth data

This tool requires birth data on every call. The MCP server is stateless, so calling set_birth_profile first validates the data and returns the reading plan, but it does not store anything. Repeat the same five fields here.