Advanced techniques
The 12-Cusp Promise Map (KP Reader 3, the cuspal sub lord procedure on every cusp)
get_promise_map
The natal promise map: for each of the twelve cusps, its sub lord (the CSL), the CSL's own star lord, the houses the CSL signifies through the four levels (L1 to L4, positional status applied), and the verdict on every life event whose primary cusp this is, judged by the SAME gate analyze_natal_promise runs, so the map cannot disagree with that tool. Each matter carries its required and denial houses, the houses covered and the detrimental ones signified. 'signifiedHistogram' counts how many of the twelve CSLs reach each house (a count, never a ranking); 'explains' on each row names the derived-house readings that land on it (the 8th is the 2nd from the 7th, the spouse's wealth; the 6th is the 12th from the 7th, loss of marriage); 'derivedHouses' is the whole table. A MIXED_ACTIVE row is reported exactly as the gate reports it, with no weighing. Retrogression and combustion are reported and gate nothing. Use it to read the whole chart's promise before asking about one matter, and drill into any row with analyze_natal_promise on the event named. Pass 'birth_time_uncertainty_minutes' when the birth time is known only roughly and every matter carries 'timeStability', with 'birthTimeWindow' stating the window once; that flag is the birth-time spread's claim, named in 'methodSeams': 'get_birth_time_spread' with the same window returns each event's row with every interval and its cause. **'rows' is paged by cusp**: 'signifiedHistogram', 'derivedHouses', 'verdictCounts' and 'birthTimeWindow' repeat whole on every page, so walk every page before reading the map as whole.
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. |
| birth_time_uncertainty_minutes | number | No | How well the user knows the birth time, in minutes either side of the stated time. The user's own figure, never a guess; omit or 0 when the time is exact. When given, each verdict carries timeStability: whether it holds for every birth time in that window, and the nearest minute at which it changes. |
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_promise_map",
"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.