Transit and timing
Transit Event Assessment
get_transit_event_assessment
The four KP transit rules judged per event at one moment, across every event the engine defines: Rule 1 dasha lord trigger, Rule 2 the share of the event's houses the transit star lords offer, Rule 3 the RP overlap, Rule 4 whether the Moon's sub covers the houses; 'verdict' is ACTIVATED / FAVORABLE / PARTIAL / INACTIVE by rules met. 'subLordGate' says whether the sub lords of the offering transits also signify the offered houses, and is deliberately NOT counted in 'rulesSatisfied' (the corpus gives no threshold), so weigh it and say you did. On this route no ruling planets of the moment are passed, so 'rpOverlap.transit_rps' is empty and Rule 3 is never met here. Returns '{ queryDatetime, rpOverlap: { transit_rps, natal_event_significators, overlap_planets, overlap_count, strength }, eventAssessments: [{ event, verdict, rulesSatisfied, housesOffered, coverage, dashaTrigger, rpStrength, rpOverlap, moonSubCovers, subLordGate, notes }], pagination, pageNote }'. **'eventAssessments' is paged**; it takes no 'event', so read 'pagination.totalItems' and page through rather than assuming page 1 holds the event you care about. The same block 'get_transit_analysis' returns as 'eventAssessments' and 'rpOverlap'. Books: KP Reader 5 p.299.
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. |
| query_datetime | string | No | The transit moment, ISO 8601 (default: now). The running dasha lords (Mahadasha, Antardasha, Pratyantardasha) are read at this same moment, not at the time of the call. 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_transit_event_assessment",
"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.