Skip to content
docs
UseBuildChangelog
Open Lumin
All tools

Methodology v2

Four Step Fruitful Ranking (Gondhalekar)

get_four_step_fruitful_ranking

[KP extended, Sunil Gondhalekar's Four Step Theory] KSK's fruitful significators (the significators of the event's houses that are also Ruling Planets of the moment of judgement, 'judgement_datetime', default now), reordered inside each level by the Four Step authority: the STAR LORD of each planet's SUB LORD, counting how many required houses it signifies. KSK stops at the sub lord, so this ordering is Gondhalekar's and not KSK's; get_fruitful_significators keeps KSK's own L1 to L4 order. Returns '{ school, author, system, divergencePoint, rule, event, requiredHouses, kskOrder[], fourStepOrder[], orderChanged, rows: [{ planet, level, kskPosition, subLord, subLordStarLord, subLordStarLordSignifies, requiredHousesReached, tiebreakScore, rankWithinLevel }], scoreProvenance, note, rpMoment, judgement, nodeRuleVariants }'. The count is a Lumin ordering convention ('scoreProvenance'), never a strength. Levels are never crossed. Quote it under Gondhalekar's name, beside KSK's order. The ranking orders the fruitful set selected with no node rule; 'nodeRuleVariants' states the other two node rules (Astrology for Beginners canon p.318, substitute when alone; KP Reader 6 canon p.132, add) with the fruitful set each selects, unranked (F166). 'judgement.holdsUntil' is the next instant those Ruling Planets change, solved and never a score: 'instant' in UTC, 'local' with the offset in force then only when 'judgement_time_zone' is sent, otherwise with the judgement's own offset (read 'utcOffsetSource'), and 'changes' naming the member (the Ascendant's or the Moon's sign or star lord, or the day lord at sunrise at the place) with its old and new lord. The fruitful set holds until that instant; say so when you quote it.

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.
judgement_datetimestringNoThe moment the matter is judged, local wall clock at the birth place unless judgement_latitude/longitude are given (e.g. 2026-09-27T12:00:00). Defaults to now.
judgement_latitudenumberNoLatitude of the place of judgement. Defaults to the birth latitude.
judgement_longitudenumberNoLongitude of the place of judgement. Defaults to the birth longitude.
judgement_utc_offset_minutesnumberNoUTC offset of the place of judgement in minutes. Defaults to the birth offset when the place defaults to the birth place.
judgement_time_zonestringNoIANA time zone of the place of judgement (e.g. "Asia/Colombo"), instead of judgement_utc_offset_minutes: the offset in force there at judgement_datetime is read from the tz database. If both are given they must agree.
eventevent nameNoEvent whose fruitful significators to rank. If omitted, the engine derives the most active event and returns it in eventResolution. Ignored if house_group is provided.
house_grouparray<house number (1-12)>NoOverride event lookup with explicit house numbers (1-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": "get_four_step_fruitful_ranking",
    "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.