Advanced techniques
Earned Income Panel with the Sub Gate (KP, houses 2/6/10/11)
get_earned_income_panel
The earned-money read behind 'will my pay go up'. House roles are KP Reader 3 p.380 verbatim: the 2nd is receipt of money by any means including salary, the 6th is money for dues from service rendered to another, the 10th is money brought by the profession, the 11th is net profit. The core test is THE SUB GATE (Reader 3 pp.194-195, independently Jyotish Part 3 pp.175-176): a significator of 2/6/10/11 delivers only if the sub it occupies is governed by a significator of the 2nd, 6th or 11th. Also applies the Reader 3 p.218 reduction rule (significators of 2/10/11 in the sub of significators of 4/5/8/12), excludes the 10th from the profit verdict because it is the 12th to the 11th (Jyotish Part 1 p.354), checks the master rule that the lord of the 10th must connect the 2nd (Part 1 p.383), scores the salary / business / commission / windfall source mix, flags 8-and-12 leakage, and dates increment windows. Returns '{ houseRoles[], netGainEleventh, incomeGrade, gradeRationale[], lordOfTenthConnectsSecond, reductions[], incomeSourceMix[], leakageFlag, incrementWindows[], summary, disclaimer }'. QUALITATIVE ONLY: it never emits a salary figure, a currency amount or a rate of increase, because Jyotish Part 3 p.178 states exact figures are not derivable. Use get_financial_analysis for speculation and accumulated wealth, which works the 2-5-11 houses instead.
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. |
| horizon_years | number | No | Years ahead to search for increment windows (default 10, max 20). |
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_earned_income_panel",
"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.