Event timing
Elect a Property Purchase, Griha Pravesha or Foundation
find_property_muhurta
Elect the moment for a property act. 'mode' picks which of three separately sourced house groups applies, and they are genuinely different elections rather than one rule relabelled. 'purchase' (the default) elects on 4, 6 and 11 for buying or registering property, which is Table D's own worked example in Jyotish Astro Secrets p.157: "For example, purchase of house, then, 4-6-11." 'griha_pravesha' elects on 2, 4 and 11 and excludes 5, 8 and 12, for first entering or occupying a house, from decoded KP Reader 5 pp.232-3: "select the sub period of a few hours governed by a planet which is also the significator of the houses 2, 4, and 11" and "Never enter at the time when Moon and ascendant are in the sub ruled bythe significators of 5, 8 and 12." 'foundation' elects on 4 and 11 and excludes 5 and 12, for laying a foundation or breaking ground. THIS ONE IS DERIVED, NOT QUOTED, and its provenance reads DERIVED_CUSP_RULE. KP Reader 6 p.322 states a CUSP SUB LORD test, "The sub-lord of the fourth is to be deposited in the constel lation of the significator of the 11th and not a significator of 5 and 12.", and the house group is those numbers read as houses: the 4th because it is the cusp the rule names, plus the 11th it requires and the 5 and 12 it forbids. It is not Table D either, since the rule names no 6th. Say so if a user asks where it comes from. ASK FOR THE DAY'S USABLE HOURS AND PASS THEM AS 'preferred_time_of_day'. A registrar's counter, a builder's crew and a family gathering all fix the window before any chart does, and KP elects inside it. It is the single biggest improvement to this answer. Returns '{ event, granularity, windows[], selection, significatorSet, scanSummary, provenanceSummary, relaxations[], cuspRule, disclaimer, summary }'. Read 'event' back to confirm which of the three groups ran. 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 cause the purchase to be sound. 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. |
| mode | enum: purchase | griha_pravesha | foundation | No | Which property act is being elected. 'purchase' (default) buying or registering, houses 4-6-11. 'griha_pravesha' first entering the house, houses 2-4-11 excluding 5-8-12. 'foundation' laying a foundation, houses 4-11 excluding 5-12. |
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_property_muhurta",
"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.