Skip to content
docs
UseBuildChangelog
Open Lumin
All tools

Methodology v2

Transit Timing Hierarchy

get_transit_timing_hierarchy

KP transit timing hierarchy: Saturn narrows to ~2.5yr window, Jupiter to the year, Sun to the month, Moon to the day. A transit in the star of a RETROGRADE natal planet is a DELAYED window, never an invalid one (F011): it stays in the hierarchy, and since F063 it carries turnsDirect (when that natal planet next stations direct) and passesStartingPoint (when it re-crosses its turning degree, the horary Sutra 32 release), so the delay has a date. Requires fruitful significators internally. **A window opens only where the transiting planet's star lord AND sub lord are both fruitful significators**, per KP Reader 5 canon p.195: the star lord says what is offered, the sub lord says whether it materialises. Each window also carries 'offeredFrom', the earlier moment the star lord alone became fruitful. That is when the matter came on offer, NOT when to act: canon p.192 says "do not expect the result on the day of entry, you have to wait till the significator comes to the sub". Quote 'start', not 'offeredFrom', when giving a date. Books: KP Reader 5 canon pp.192, 195.

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.
eventevent nameNoLife event to find transit timing for. If omitted, the engine derives the most active event from the running MD+AD lord's signification with Ruling Planets tie-break, and returns it in the eventResolution field. Ignored if house_group is provided.
start_datestringNoStart date for transit scan (ISO 8601 datetime with UTC offset, e.g. '2026-04-01T00:00:00+05:30'). Defaults to current moment.
house_grouparray<house number (1-12)>NoOverride event lookup with explicit house numbers (1-12). When provided, event is ignored.

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