Skip to content
docs
UseBuildChangelog
Open Lumin
All tools

Advanced techniques

Varshaphala, Tajik Solar Return [Vedic / Tajik]

get_varshaphala_chart

[Tajik annual chart adjunct] Solar return chart cast for the moment Sun returns to its natal sidereal degree in the target year. Returns Sun-return datetime, chart lagna at that moment, Muntha sign (advances 1 sign per year of life), Muntha house from chart lagna, all planet positions at sun-return, and 'sahams': the fifteen Tajik sahams cast on THIS annual chart, their native frame, with the same per-entry provenance get_sahams carries. **THE YEAR LORD CAN BE NULL, and null is an answer rather than an error.** Since 2026-09-14 'yearLord' follows the stated rule: all five Panchadhikari are resolved (natal lagna lord, annual lagna lord, Muntha-pati, dina-ratri-pati, tri-rashi-pati) and each is tested for a Tajik aspect to the annual ascendant. Read 'varshesha' for all five with their derivations and aspect notes, and 'varshesha.basis': ASPECT_TEST (exactly one aspects, so the gate decides alone), STRENGTH_TIE_BREAK (several aspect and the greatest panchavargeeya bala separates them), MUNTHA_PATI (none aspects, the classical fallback), or UNDECIDED (an exact tie in strength between two that both aspect, for which the rule states no third test). **All four bases are fully sourced and measured over 200 charts the first three cover 100% of them**, the strength deciding the 35.5% that were null before 2026-09-14; UNDECIDED did not fire once and survives as a branch rather than a state anyone should expect. **THE GATE COMES FIRST AND STRENGTH ONLY BREAKS TIES INSIDE IT**, never the reverse: in the source's own worked example the strongest planet on the chart is NOT the year lord, because it does not aspect the annual ascendant, so a strongest-planet shortcut gets it wrong. 'varshesha.strengths' carries every total that was compared, so the decision can be checked rather than taken. 'yearLordLagnaLordOnly' carries the figure this tool returned before, the annual lagna lord taken unconditionally, which agrees with the full rule on 23.0% of charts. Used for annual subscription-reading products.

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.
target_yearnumberNoYear for the solar return (default: current year).

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