Advanced techniques
Raja and Lunar Yogas (Vipreet / Neecha-Bhanga / Adhi / Sunafa-Anafa-Durdhura / Chandra-Mangal)
detect_raja_and_lunar_yogas
Detects classical yogas not covered by detect_yogas (renamed from get_yogas_advanced on 2026-10-08): two Raja yogas and five yogas read from the Moon. Vipreet Raja (Harsha 6th-lord, Sarala 8th-lord, Vimala 12th-lord placed in dusthanas), Neecha Bhanga Raja Yoga (4 cancellation rules for debilitated planets), Adhi Yoga (benefics in the 6th/7th/8th signs from the Moon), Sunafa (planets in the 2nd sign from the Moon), Anafa (12th sign), Durdhura (both), all counted sign to sign with the Sun and nodes not eligible, the same rule check_doshas uses for Kemadruma, so the two never both fire, and Chandra-Mangal (Moon-Mars conjunction or opposition). Returns '{ yogas: [{ name, category: Vipreet | NeechaBhanga | Adhi | Lunar | Conjunction, present, strength, formingPlanets, description, effects }], totalPresent, summary, houseConvention }'.
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. |
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": "detect_raja_and_lunar_yogas",
"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.