Skip to content
docs
UseBuildChangelog
Open Lumin
All tools

Event timing

Elect a Departure for a Journey

find_travel_departure_time

Elect the moment to begin a journey: the departure itself, not the booking and not the arrival. Elects on houses 3, 9 and 11, quoted from Astrology for Beginners p.786: "the 9th house indicates journey to distant places and the 11 th house shows a successful journey or that it will be pleasant without any mishap." Note the deliberate difference from the promise group. Judging whether foreign travel is promised at all uses 3, 9 and 12. The ELECTION uses 11, not 12, and the two answer different questions. For whether the journey is promised, call 'analyze_natal_promise' or 'get_foreign_settlement'. ASK FOR THE DEPARTURE'S USABLE HOURS AND PASS THEM AS 'preferred_time_of_day'. A train leaves, a flight leaves, a border post opens, and this is the corpus's own habit: KSK elects a Venus sub that "operates between 6.12 and 10.29 a.m." precisely because the train left Madras in the morning. It is the single biggest improvement to this answer. Returns '{ event, granularity, windows[], selection, significatorSet, scanSummary, provenanceSummary, relaxations[], disclaimer, summary }'. Each window carries startLocal, endLocal, durationMinutes, layersSatisfied, verdict, resolvingLayer, matchedConditions[], discriminator and rank. There is no score and no top ten. Election in KP is read-only. It locates a moment this chart already points at and it does not make a journey safe. Report windows in startLocal and endLocal, never in UTC.

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.
bosmia_lensbooleanNono description
scan_startstringNoFirst moment to consider, ISO 8601. A bare datetime is read as local time at the place of the action. Defaults to now.
scan_daysnumberNoDays to scan. Clamped by granularity: 365 for day, 90 for hour, 30 for minute. Default 7.
granularityenum: day | hour | minuteNoElection precision. 'minute' runs the Ascendant layer and gives the narrowest window, 'hour' stops at the Moon sub, 'day' groups by local civil day. Defaults to this event's own default.
preferred_time_of_dayobjectNoWhat this window is, for example "office hours" or "before the registrar closes". Echoed back in the response.
event_latitudenumberNoLatitude of where the action happens. Defaults to the birth latitude. KP computes the Ascendant for the place of the action, not the place of birth.
event_longitudenumberNoLongitude of where the action happens. Defaults to the birth longitude.
event_utc_offset_minutesnumberNoUTC offset at the place of the action, in minutes. Defaults to the birth offset. Drives every local time in the response.
max_windowsnumberNoOverride the default output shape and take a pool of up to 25 instead of the one elected moment. Only use this when the user explicitly asks to see the whole field.

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": "find_travel_departure_time",
    "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.