Advanced techniques
Varga scheme spread: D-10, D-60 and Vimsopaka under every stated reading [Vedic Parashari]
get_varga_scheme_spread
[Vedic Parashari] Parashari, not KP. The sibling of get_frame_spread for the divisional charts. Two vargas are disputed in construction and the Vimsopaka has four schemes, and this reports WHICH CONCLUSIONS MOVE between them. 'bodies': every planet, both nodes and the lagna, with its D-10 sign under both readings (even signs from the 9th, primary, or always from the sign; A13 calls neither classical) and its D-60 sign under all three (the own-sign count, classical and primary; the literal count from Aries, disputed; the engine's pre-2026-09-27 rule, unsourced), each with 'moves'. 'planets' (the seven): the Vimsopaka under every scheme and every reading, one row each: Shadvarga, Saptavarga under the translators' table and under BPHS 27.4's order (the assignment is disputed, Q043), and Dasavarga and Shodasavarga under each of the 2 x 3 D-10 and D-60 readings; the 'primary' row of each scheme is exactly get_vimsopaka_bala's 'schemeTotals'. 'movesAt' names the axes that change one scheme's total with the others held at the primary; 'summary.holding' names the planets nothing moves. Measured over 200 charts (1,400 planet readings) through this tool ('lumin-engine/scripts/bp024-varga-scheme-spread.ts'): the Saptavarga assignment moves the total on 92.6% of planets (by up to 2.28 of 20), the D-60 reading moves the Dasavarga and Shodasavarga on 82.6%, the D-10 reading on 33.2%; only 2.8% of planets hold on every axis and no chart held entirely; the D-10 lagna moves on 50.0% of charts and the D-60 lagna on 92.5%. So a Vimsopaka figure is a statement under a named scheme and reading: say which. Each total is the classical sum and nothing is formed from the totals: NO SCORE, RANK, AVERAGE OR BEST scheme. Rahu and Ketu grade neutral everywhere and carry no totals. Gates no KP verdict.
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_varga_scheme_spread",
"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.