Skip to content
docs
UseBuildChangelog
Open Lumin
All tools

Advanced techniques

Jaimini Chara Dasha spread: four lineages and BPHS side by side

get_chara_dasha_spread

[Jaimini adjunct] 'Chara dasa' names several procedures (F132), and this is the spread across them, none picked and nothing merged: every lineage's whole timeline in 'lineageReadings' (knRao, pvrSjc, raghavaBhattaRangacharya, legacy), each with its rules in words, its source and class, its direction, all its mahadashas with their antardashas where the lineage states them, the current and next period, the running antardasha, what it does not compute and the points its sources leave open; and BPHS ch. 46's own reading of the same dasha in 'bphsReading' (direction from the 9th house's pada; it names its own 'system'). Returns '{ natalAscendantSign, queryDate, lineageReadings: { knRao | pvrSjc | raghavaBhattaRangacharya | legacy: { lineage, label, rules: { sequence, years, exaltation, dualLordedSigns, secondCycle, antardashas }, source, direction, periods, currentPeriod, nextPeriod, currentAntardasha, notComputed, openPoints } }, bphsReading: { system, verses, sequence, periods, currentPeriod, nextPeriod, assumptions }, pagination, pageNote }'. Where the lineages name different signs for the same date, that difference is the content: report it, never a vote. The direction itself is disputed. **The five period lists page together** (each lineage's 'periods' and 'bphsReading.periods'); everything else repeats on every page, so the current periods read from page 1. Takes no chara_lineage: the lineage only chooses which reading 'get_chara_dasha' puts in its own 'periods'. The same blocks 'get_chara_dasha' returns as 'lineageReadings' and 'bphsReading'.

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). Send a zone (Z, or +hh:mm as in 2026-10-20T10:30:00+05:30). A value without a zone is read as UTC, never as local time, and a date alone is midnight UTC. This is a different moment from judgement_datetime, which is a local wall clock sent with its own offset.

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