Computes Panchanga elements for one calendar date at a geographic location and returns tithi, vara, nakshatra, yoga, karana, and end times in UTC.
SECTION: WHAT THIS TOOL COVERS
Derives classical Panchanga limbs from sidereal astronomy for the given date, latitude, longitude, and timezone — no birth time or natal chart. data.yoga here is the Panchanga Yoga (Sun+Moon nakshatra composite), wholly separate from natal yogas in asterwise_get_yogas. It does not score muhurta windows across ranges (asterwise_get_muhurta), list Choghadiya slices (asterwise_get_choghadiya), or monthly calendars (asterwise_get_panchanga_calendar).
SECTION: WORKFLOW
BEFORE: None — this tool is standalone.
AFTER: asterwise_get_choghadiya — same-day slot quality for the location.
SECTION: INPUT CONTRACT
date must be YYYY-MM-DD (Pydantic pattern on LocationInput). lat/lon bounds are validated locally. Upstream rejects calendar dates outside 1900–2100. timezone defaults to Asia/Kolkata when the caller leaves the default in LocationInput.
SECTION: OUTPUT CONTRACT
data.tithi:
number (int — 1–30)
name (string)
paksha (string — 'Shukla' or 'Krishna')
degrees_elapsed (float)
degrees_remaining (float)
end_time (string — ISO UTC)
data.vara:
number (int — 1=Ravivar through 7=Shanivar)
name (string)
lord (string)
end_time (string)
data.nakshatra:
index (int — 0–26)
name (string)
pada (int — 1–4)
degrees_elapsed (float)
degrees_remaining (float)
end_time (string — ISO UTC)
data.yoga:
index (int — 0–26)
name (string)
is_inauspicious (bool)
degrees_elapsed (float)
end_time (string — ISO UTC)
data.karana:
number (int)
name (string)
degrees_elapsed (float)
degrees_remaining (float)
end_time (string — ISO UTC)
data.birth_time_unknown (bool — true for location-only calls)
SECTION: 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.
SECTION: COMPUTE CLASS
FAST_LOOKUP
SECTION: ERROR CONTRACT
INVALID_PARAMS (local — caught before upstream call):
— date not YYYY-MM-DD or invalid calendar day → MCP INVALID_PARAMS
— lat/lon outside allowed ranges → MCP INVALID_PARAMS
INVALID_PARAMS (upstream):
— None — dates outside 1900–2100 surface as MCP INTERNAL_ERROR at the tool layer.
INTERNAL_ERROR:
— Any upstream API failure or timeout → MCP INTERNAL_ERROR
Edge cases:
— Panchanga yoga is unrelated to asterwise_get_yogas natal combinations.
SECTION: DO NOT CONFUSE WITH
asterwise_get_yogas — natal chart yogas, not Panchanga Sun–Moon yoga.
asterwise_get_panchanga_calendar — whole-month daily rows, not a single day.