Skip to content
docs
UseBuildChangelog
Open Lumin
All tools

Advanced techniques

Functional Benefic and Malefic by Lagna (BPHS ch. 34)

get_functional_nature

Parashari, not KP. Which planets are functional benefics, malefics, neutrals, yogakarakas and marakas for a lagna, from BPHS ch. 34. Returns TWO answers side by side and names where they differ, because the text gives two: 'stated' is the per-lagna table as printed (vv. 19-44, each row quoting its verse), and 'derived' is the rule of vv. 2-17 applied to lordship alone (kona lords auspicious, 3/6/11 lords evil, kendra lords lose their natural quality, the lagna lord specially auspicious, the 8th lordship of Sun and Moon not evil, kendra-plus-kona lord a yogakaraka). 'departures' lists every planet on which table and rule disagree, and they do disagree: Libra's Moon is named a Raja Yoga giver while owning only the 10th, Aries' Mars is hedged to 'helpful' where the rule makes a lagna lord plainly auspicious. Neither is corrected to match the other. Reads the lagna from the birth chart; pass 'lagna' to ask about another lagna directly. Rahu and Ketu are outside the table by v. 16. Edition stated (Santhanam 1984; Sharma numbers this ch. 35).

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.
lagnaunknownNoOverride the chart's lagna to ask the table question for another lagna. The response flags `overridden: true` when this differs from the chart's own lagna.

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