Skip to content
docs
UseBuildChangelog
Open Lumin
All tools

Advanced techniques

Upagrahas: Gulika/Mandi, the kaala velas, and the Dhuma group (BPHS ch. 3)

get_upagrahas

Parashari, not KP. The sub-planets of Brihat Parashara Hora Shastra ch. 3, each with its verses. The Dhuma group (vv. 61-64) is arithmetic on the natal Sun: Dhuma = Sun + 4 signs 13°20′, Vyatipata = 12 signs − Dhuma, Parivesha = Vyatipata + 6 signs, Indrachapa = 12 signs − Parivesha, Upaketu = Indrachapa + 16°40′; the text supplies its own check (Upaketu + one sign = the Sun) and it is returned as 'dhumaGroupResidual'. The kaala velas (vv. 66-70) divide the day (sunrise to sunset) or night (sunset to next sunrise) into eight parts lorded from the weekday lord by day and the fifth weekday's lord by night, the eighth lordless: Saturn's part is Gulika, the Sun's Kaala, Mars' Mrityu, Jupiter's Yamaghantaka, Mercury's Ardhaprahara. v. 70 gives Gulika's LONGITUDE as the Ascendant rising at the start of its portion; the other four are given the same rule by extension and say so. Gulika is also called Mandi; the later mid-portion reading is reported beside the BPHS point and labelled as not in the text, so a caller comparing against software can see why they differ. Every point carries whole-sign and Sripati houses. Edition stated (Santhanam 1984). Gates no KP verdict; the engine already computes Gulika as a TIME WINDOW in the panchang, and this is the POSITION.

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_upagrahas",
    "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.