Lal Kitab Chart
asterwise_get_lal_kitab_chart
Produces a Lal Kitab chart from BirthData following the 1952 Lal Kitab: houses counted from the Vedic lagna, the lagna house read as house 1 (Aries). Returns planets with pakka ghar, uchcha/neecha, fixed or doubtful effect and malefic reasons, the twelve houses, and the nine Lal Kitab debts (rin).
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
birth | object | yes | Birth data for a single person. Required fields: date, lat, lon. Optional fields: time, person_name, timezone, ayanamsa. |
response_format | enum: markdown, json | no | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. |
What it covers
Returns data.ascendant, planets{} with lk_house and Lal Kitab flags, houses{} with the Lal Kitab sign (house N = sign N), the actual birth sign, occupants and the 1952 house title, and rin_analysis with nine debt booleans, active_rins[] and rin_remedies[]. Do not merge these houses with asterwise_get_natal_chart Bhava Chalit without explicit user intent.
Workflow
BEFORE: None — standalone for Lal Kitab queries.
AFTER: asterwise_get_lal_kitab_remedies — remedies for the planets that need them.
Input
BirthData global contract. ayanamsa: lahiri (default), raman or kp is used as sent; tropical is refused (INVALID_PARAMS) because Lal Kitab starts from the sidereal Indian chart. Unknown birth time: omit time (a sunrise chart is cast and birth_time_provided=false); houses are then approximate.
Output contract
data.system (string — 'lal_kitab')
data.ayanamsa (string — the sidereal ayanamsa used)
data.birth_time_provided (bool)
data.ascendant — { longitude (float), rashi_index (int 0-11), rashi (string) } — the sign that becomes house 1
data.planets{} — Sun..Ketu:
longitude (float), rashi_index (int), rashi (string)
lk_house (int — 1–12, counted from the lagna)
house_lord (string — lord of the sign Lal Kitab reads in that house)
is_retrograde (bool)
pucca_ghar (bool), pucca_houses[] (int array)
uchcha (bool), neecha (bool), uchcha_houses[], neecha_houses[] (int arrays)
effect (string — 'fixed' or 'doubtful'; only doubtful effects can be remedied)
companion_planets[] (string array)
malefic_reasons[] (string array — empty when not malefic)
data.houses{} — keys '1'..'12':
house (int), rashi_index (int — house-1), rashi (string), lord (string)
birth_rashi_index (int), birth_rashi (string) — the actual sign in that house
pucca_ghar_of[] (string array), occupants[] (string array), signification (string — 1952 house title)
data.rin_analysis:
pitru_rin, swayam_rin, matru_rin, stri_rin, rishtedar_rin, behan_rin, zalimana_rin, ajanma_rin, dev_rin (bool)
active_rins[] (string array)
rin_remedies[] — { rin, name, planet, houses[], found[] { planet, house }, remedy, source }
rule, not_evaluated, remedy_rules (strings)
data.sources[] (string array)
Response format
response_format=json returns the complete response as indented JSON. response_format=markdown renders a planet table and the debts with their remedies; use json for the full data.
Compute class
MEDIUM_COMPUTE
Errors
INVALID_PARAMS (local — caught before upstream call):
— BirthData violations (date that is badly formatted or does not exist, time, lat/lon) → MCP INVALID_PARAMS
— ayanamsa='tropical' → MCP INVALID_PARAMS (Lal Kitab needs a sidereal chart)
INVALID_PARAMS (upstream):
— None — upstream rejection surfaces as MCP INTERNAL_ERROR at the tool layer.
INTERNAL_ERROR:
— Any upstream API failure or timeout → MCP INTERNAL_ERROR
Edge cases:
— Lal Kitab houses are whole-sign houses from the lagna, not cusps.
Do not confuse with
asterwise_get_natal_chart — classical radix, not Lal Kitab rules.
asterwise_get_lal_kitab_remedies — remedies only, for the planets that need them.
Connect
Remote MCP endpoint: https://mcp.asterwise.com/mcp. Authenticate with Authorization: Bearer <API key> or OAuth. See the MCP setup guide.