Advanced techniques
Promotion Verdict (KP, the 11th-cusp three-condition gate)
get_promotion_verdict
The orthodox promotion gate, which the older get_job_change_vs_promotion never applied because it does not read a cusp sub lord at all. Three conditions from Jyotish Part 5 p.185 quoting KP Reader 6 p.287, restated verbatim at R6 p.297: the 11th cuspal sub lord must be direct, its star lord must be direct, and the 11th CSL must signify 2, 6, 10 or 11. The star-lord condition is returned as 'starLordRetrogradeOverride', a flag rather than a hard veto, because the source author himself overrides it on evidence at P5 pp.186-188. Returns two window sets that consultations routinely conflate: 'selectionNewsWindows' (an 11th significator that also signifies the 3rd, which is hearing of the selection, R3 p.433) and 'actualPromotionWindows' (the 11th conjoined with 2, 6 or 10, which is the order itself). Also returns 'stagnationFlag' (structural stagnation, read as Astro Secrets canon p.198 prints it, "10th sublord is connected to 1 and 10only": every house the 10th sub lord signifies is 1 or 10, a lone 1 or lone 10 holds, no house at all does not; the same reading 'get_career_blockage_diagnosis' applies, with 'reading', 'outsideHouses', 'connectedTo1', 'connectedTo10', 'emptySet' and 'source'), 'delayAgent' (Saturn owning the 11th delays until the native gives up, then delivers, R6 p.299), 'bothCuspsVariant' (the stricter applied form requiring the 6th and 10th CSLs to signify 2/6/10/11 simultaneously) and 'transferCoincides'. No salary or increment figure is derivable from a chart and none is returned.
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. |
| horizon_years | number | No | Years ahead to scan for windows (default 12, clamped 1-30) |
| query_date | string | No | The date the window scan starts from (default: now); horizon_years counts from it. Send a zone (Z, or +hh:mm as in 2026-10-20T10:30:00+05:30). A value without a zone is read as UTC, never as local time, and a date alone is midnight UTC. This is a different moment from judgement_datetime, which is a local wall clock sent with its own offset. |
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_promotion_verdict",
"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.