Skip to content
docs
UseBuildChangelog
Open Lumin
All tools

Advanced techniques

Sudarshana varga modulation (BPHS 74.15-16): the count re-run on varga natures [Parashari]

get_sudarshana_varga_modulation

Parashari, not KP. BPHS ch. 74 vv. 15-16 (Santhanam; ch. 76 in Sharma): 'a natural benefic loses his benevolence if he is in more malefic vargas; similarly a natural malefic loses his malevolence if he is in more benefic vargas'. Each of the seven planets' varga signs is classed by the verse's grounds (own sign or exaltation auspicious, debilitation inauspicious, otherwise the sign lord's natural nature and naisargika enmity; a varga on grounds of both sides counts on neither, the engine's stated reading, 'classingSource', derived), tallied, and given a majority, under TWO readings, both returned, neither picked: 'shadvarga' (D1, D2, D3, D9, D12, D30, the six the printed line names, classical) and 'saptavarga' (adding D7, the seven the commentaries' worked examples count, later). Per reading, the Sudarshana chakra's vv. 10-14 count is re-run on all three rings with each planet's nature set by its majority, giving the composite and the ring bhavas whose verdict moved against the unmodulated count. Returns '{ applicable, applicabilityReason, origins, vargaModulation: { rule, planets: [{ planet, placements: [{ varga, sign, lord, grounds, side }], byReading: { shadvarga, saptavarga: { auspicious, inauspicious, both, majority } } }], notModulated: { planets, reason }, methodology, readings: { shadvarga, saptavarga: { vargas, source } }, source, byReading: { shadvarga, saptavarga: { composite: [{ bhava, verdicts: { lagna, moon, sun }, concordant }], concordantBhavas, changed: [{ ring, bhava, countVerdict, verdict }] } }, classingSource }, notApplied }'. The nodes are not modulated. The modulated counts are count verdicts: v. 13's tie-break is not re-run on them, and the commentaries' 'medium' grade is not computed ('notApplied'). THE GATE TRAVELS WITH IT: vv. 19-20, 'applicable' with its reason and the three ring 'origins'. Reads no date. No score. Gates no KP verdict. The same block 'get_sudarshana_chakra' returns as 'vargaModulation'.

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