Event timing
Elect an Interview or a Request to an Official
find_interview_time
Elect the moment for an interview, or for any request put to a person who can grant or refuse it. Elects on houses 2, 6 and 11 of the native, quoted from Astrology for Beginners p.796: "if an interview is sought on one of the star days of these significators and when any of the houses 2, 6 or 11 or the native is rising on the eastern horizon, th e other person will grant the request of the native." REPORT THE COUNTERPARTY FRAME, IT IS THE POINT OF THIS TOOL. Each window carries 'nativeRisingFrame' with 'natalHouseRising', 'counterpartyHouse' and 'favoursTheNative'. The counterparty house is the native's house minus 6, and it is why the group is 2, 6 and 11 and not some other three: those are houses 8, 12 and 5 of the person being asked. Astrology for Beginners p.779 states the mechanism, "the 5th house of the native is the 11 th house of the other person", and names the reading of the native's 6th, "the native's 6th house is the house of loss to the other". Say both numbers when you report a window. ASK FOR THE INTERVIEW'S USABLE HOURS AND PASS THEM AS 'preferred_time_of_day'. An interview slot is offered, not chosen freely, and KP elects inside the window the world has already fixed. It is the single biggest improvement to this answer. The corpus's own limit case, and repeat it: an elected interview time buys a patient hearing and sympathetic consideration. It does not buy the job. Returns '{ event, granularity, windows[], selection, significatorSet, scanSummary, provenanceSummary, relaxations[], disclaimer, summary }'. Each window carries startLocal, endLocal, durationMinutes, layersSatisfied, verdict, resolvingLayer, nativeRisingFrame, matchedConditions[], discriminator and rank. 'nativeRisingFrame' is null below minute granularity, where no Ascendant was resolved and there is no rising point to read. 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 cause the decision. Report windows in startLocal and endLocal, never in UTC.
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. |
| bosmia_lens | boolean | No | no description |
| scan_start | string | No | First moment to consider, ISO 8601. A bare datetime is read as local time at the place of the action. Defaults to now. |
| scan_days | number | No | Days to scan. Clamped by granularity: 365 for day, 90 for hour, 30 for minute. Default 7. |
| granularity | enum: day | hour | minute | No | Election 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_day | object | No | What this window is, for example "office hours" or "before the registrar closes". Echoed back in the response. |
| event_latitude | number | No | Latitude 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_longitude | number | No | Longitude of where the action happens. Defaults to the birth longitude. |
| event_utc_offset_minutes | number | No | UTC offset at the place of the action, in minutes. Defaults to the birth offset. Drives every local time in the response. |
| max_windows | number | No | Override 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:
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_interview_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.