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
| Name | Type | Required | Description |
|---|---|---|---|
| birth_datetime | string | Yes | Birth date and time in ISO 8601 format (e.g., "1990-05-15T14:30:00"). |
| latitude | number | Yes | Birth location latitude. Range: -90 to 90. |
| longitude | number | Yes | Birth location longitude. Range: -180 to 180. |
| utc_offset_minutes | number | Yes | UTC offset in minutes (e.g., 330 for IST, -300 for EST). |
| ayanamsa | enum: kp | kp_new | lahiri | raman | true_chitra | khullar | No | Ayanamsa system. Defaults to kp. |
Example call
Send the request as a standard MCP tools/call:
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.