Advanced techniques
Jaimini Chara Dasha, Sign-Based Timing
get_chara_dasha
[Jaimini adjunct] Sign-based dasha (rashi cycles). 'Chara dasa' names several procedures, so one timeline is computed PER LINEAGE, each with its rules, source and source class, in 'lineageReadings': knRao (K. N. Rao, Predicting through Jaimini's Chara Dasha: direction from the 9th from the lagna, each sign counted to its lord by its own footedness less one, no exaltation adjustment, his Scorpio/Aquarius rules, second cycle repeated, 12 antardashas with the running sign's own last), pvrSjc (P.V.R. Narasimha Rao 2014, the SJC line: the same count, his co-lord rules, second cycle 12 minus the first, no antardashas stated), raghavaBhattaRangacharya (padakrama order, count from the lord's sign, 10 years for a lord in the 7th, antardashas from the dasha sign; transmitted only through a practitioner blog, labelled modern) and legacy (the rule this tool shipped until 2026-09-28, which no lineage states). 'chara_lineage' picks which fills 'periods', 'currentPeriod' and 'currentAntardasha' (default knRao); 'lineage' names it. The direction itself is disputed. Also returns the BPHS ch. 46 reading as 'bphsReading'. Name the lineage whenever you cite a period. The spread across all four lineages and BPHS, with every lineage's periods whole, is also a tool of its own, named in 'methodSeams': 'get_chara_dasha_spread'. Call it to set the lineages side by side; this tool is the reading of one.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| birth_datetime | string | Yes | Birth date and time in ISO 8601 format (e.g., "1990-05-15T14:30:00"). |
| latitude | number | Yes | Birth location latitude. Range: -90 to 90. |
| longitude | number | Yes | Birth location longitude. Range: -180 to 180. |
| utc_offset_minutes | number | Yes | UTC offset in minutes (e.g., 330 for IST, -300 for EST). |
| ayanamsa | enum: kp | kp_new | lahiri | raman | true_chitra | khullar | No | Ayanamsa system. Defaults to kp. |
| query_date | string | No | ISO 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. |
| chara_lineage | enum: knRao | pvrSjc | raghavaBhattaRangacharya | legacy | No | Which lineage fills `periods` (default knRao). Every lineage's rules, source and current period are returned in `lineageReadings` either way. |
Example call
Send the request as a standard MCP tools/call:
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",
"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.