Skip to content
docs
UseBuildChangelog
Open Lumin
All tools

Advanced techniques

Four Step Theory Cross-Validator (Gondhalekar)

get_four_step_verdict

Sunil Gondhalekar's Four Step Theory, as a cross-validator. A post-Krishnamurti extension, not KSK's own doctrine. KP treats the Sub Lord as the end-result indicator; Four-Step Theory treats the STAR LORD OF THE SUB LORD as the end-result indicator. Running both side-by-side per cusp produces an agreement signal: STRONG_AGREEMENT (≥75% of cusps agree) → high confidence; PARTIAL_AGREEMENT (50-74%) → moderate; DIVERGENCE (<50%) → borderline reading requiring deeper analysis. Use as a second-opinion layer after analyze_natal_promise.

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.
eventevent nameNoEvent name (e.g., "Marriage"). Required if primary_houses + house_group not provided.
house_grouparray<house number (1-12)>NoOverride required houses.
denial_grouparray<house number (1-12)>NoOverride denial houses.
primary_housesarray<house number (1-12)>NoOverride which cusps to score.

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_verdict",
    "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.