Skip to main content

KP Ruling Planets

asterwise_get_kp_ruling_planets

Computes KP ruling planets at a latitude and longitude for the current instant or a given local date and time, with no birth data. Returns the day lord, Moon and Ascendant lord chains, and a deduplicated ruling_planets list.

Parameters​

ParameterTypeRequiredDescription
latnumberyesLatitude in decimal degrees, north positive (e.g. 13.08).
lonnumberyesLongitude in decimal degrees, east positive (e.g. 80.27).
response_formatenum: markdown, jsonnoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.
target_datestring/nullnoLocal date of the moment to judge, YYYY-MM-DD. Without target_time, 12:00 local is used. Omit both date and time for the current instant.
target_timestring/nullnoLocal time of the moment to judge, HH:MM (24-hour). Without target_date, that time today. Omit both date and time for the current instant.
target_timezonestring/nullnoIANA time zone for target_date and target_time, e.g. 'Asia/Kolkata'. Defaults to the zone at lat/lon.

What it covers​

KP snapshot at the moment of judgment (now unless a date or time is given): target_utc, target_timezone, day_lord, Moon and Ascendant tuples with sign/nakshatra/sub lords, ruling_planets[] unique names. Not natal positions (asterwise_get_kp_chart) and not house significators (asterwise_get_kp_significators). Coordinate sanity is upstream — not locally validated floats beyond whatever FastMCP passes.

Workflow​

BEFORE: None — this tool is standalone.
AFTER: asterwise_get_kp_chart — if natal confirmation is needed afterwards.

Input​

lat and lon required. Optional target_date (YYYY-MM-DD), target_time (HH:MM), target_timezone (IANA; defaults to the zone at lat/lon). With neither date nor time the server uses the current instant (KP judges ruling planets at the moment of judgment); time only = that time today; date only = 12:00 local. data.target_utc and data.target_timezone show what was used. target_date must be within 1800-01-01 to 2099-12-31. A time skipped by a daylight-saving change is read with the offset before the change (moved forward by the gap); a time that occurred twice is read as the first occurrence; data.local_time_status is 'nonexistent' / 'ambiguous' / 'ok'.

Output contract​

data.ayanamsa (string — 'kp')
data.target_utc (string — ISO UTC, the instant used)
data.target_timezone (string — zone used to read target_date/target_time and for the sunrise-based day lord)
data.local_time_status (string — 'ok', 'nonexistent' (daylight-saving gap) or 'ambiguous' (time occurred twice))
data.day_lord (string — planet name)
data.moon:
longitude (float)
rashi (string)
sign_lord (string)
nakshatra_lord (string)
sub_lord (string)
data.ascendant — same fields as data.moon
data.ruling_planets[] (string array — unique names, deduplicated)

Response format​

response_format=json serialises the complete response as indented JSON — use this for programmatic parsing, typed clients, and downstream tool chaining. response_format=markdown renders the same data as a human-readable report. Both modes return identical underlying data — no fields are added, removed, or filtered by either mode.

Compute class​

FAST_LOOKUP

Errors​

INVALID_PARAMS (local — caught before upstream call):
— target_date not YYYY-MM-DD or target_time not HH:MM (schema pattern) → MCP INVALID_PARAMS. lat/lon are not range-checked locally.

INVALID_PARAMS (upstream):
— Unknown target_timezone, a target_date that is not in the calendar (e.g. 2026-02-30 → 'does not exist'), or a target_date outside 1800-01-01 to 2099-12-31 (the message names the range) → 422 validation_error, surfaces as MCP INTERNAL_ERROR with the API message.
— Polar day or night: the sunrise-based day lord fails with 422 sun_calculation_failed.
— Coordinate errors surface as MCP INTERNAL_ERROR at the tool layer.

INTERNAL_ERROR:
— Any upstream API failure or timeout → MCP INTERNAL_ERROR

Edge cases:
— Represents the sky at one instant (now, or the given local date/time) — differs from natal stored charts.
— Works at any latitude (only the ascendant is used, no house cusps); only the day lord needs a sunrise.

Do not confuse with​

asterwise_get_kp_chart — needs BirthData and returns full natal KP cusps.
asterwise_get_prashna_chart — horary keyword workflow, not ruling-planet snapshot.

Connect​

Remote MCP endpoint: https://mcp.asterwise.com/mcp. Authenticate with Authorization: Bearer <API key> or OAuth. See the MCP setup guide.