Skip to content
docs
UseBuildChangelog
Open Lumin
All tools

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

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.
modeenum: purchase | griha_pravesha | foundationNoWhich 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:

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_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.