Skip to content
docs
UseBuildChangelog
Open Lumin
All tools

Advanced techniques

Sahams (Tajik Sensitive Points)

get_sahams

[Tajik] 15 sahams as A-B+C lots: Punya, Yasas, Vidya, Vivah, Putra, Karya, Roga, Pitri, Matri, Bhratri, Rajya, Nyya, Bandhana, Krodha, Karya-Siddhi. Each returns sidereal longitude, sign, house, star lord, sub lord, the formula that ran, and per-entry PROVENANCE against the Tajika Neelakanthi (1587), read second-hand via Charak and Raman: 7 attested, 2 engine-variant, 6 unverified. formulaUsed is the arithmetic, NOT a citation. Where an attested formula differs from the one the engine takes as primary it is carried in variants[], computed, so both points ship and the caller chooses; Vivah is the live case (7th cusp - Venus + Asc here, Venus - Saturn + Asc in Charak, both real lineages). correction30 reports the contested add-30-degrees rule and is applied to nothing. Yasas and Bandhana's attested forms are CHAINED on the computed Punya saham. Sahams natively belong to the ANNUAL (varshaphala) chart: pass target_year and they are cast on that year's solar-return chart (same return instant as get_varshaphala_chart, 'frame: 'annual''); without it they are cast on the natal chart ('frame: 'natal''), which Charak also reads, a saham weak at birth cannot deliver in the annual chart. Mrityu Saham is intentionally omitted per project policy (no death framing).

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.
query_datestringNoISO date (default: now). Reported only; on the annual frame the return instant is used.
target_yearnumberNoCast the sahams on this year's solar-return (annual) chart, their native frame. Omit for the natal cast.

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