Returns one row per civil day for a calendar month at a location with condensed tithi, vara, nakshatra, yoga, karana, and rahu_kaal columns.
SECTION: WHAT THIS TOOL COVERS
Month-wide Panchanga suitable for planners; each day includes ending times where applicable and local Rahu Kaal bounds. Year must be 1900–2100 and month 1–12 (Pydantic on PanchangaCalendarInput). It is not single-day detailed Panchanga (asterwise_get_panchanga) nor muhurta search (asterwise_get_muhurta).
SECTION: WORKFLOW
BEFORE: None — this tool is standalone.
AFTER: asterwise_get_panchanga — expand any single day at full detail.
SECTION: INPUT CONTRACT
year/month/lat/lon validated locally. Timezone handling follows upstream response fields (data.timezone echo).
SECTION: OUTPUT CONTRACT
data.year (int)
data.month (int)
data.timezone (string)
data.ayanamsa (string)
data.days[] — 28–31 objects:
date (string — YYYY-MM-DD)
tithi — { name (string), number (int), paksha (string), end_time (string — ISO UTC) }
vara — { name (string), number (int), lord (string) }
nakshatra — { name (string), index (int), pada (int), end_time (string — ISO UTC) }
yoga — { name (string), index (int), is_inauspicious (bool), end_time (string — ISO UTC) }
karana — { name (string), number (int), end_time (string — ISO UTC) }
rahu_kaal — { start (string — HH:MM local), end (string — HH:MM local) }
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):
— year outside 1900–2100 → MCP INVALID_PARAMS
— month outside 1–12 → MCP INVALID_PARAMS
— lat/lon out of range → MCP INVALID_PARAMS
INVALID_PARAMS (upstream):
— None — further rejection surfaces as MCP INTERNAL_ERROR at the tool layer.
INTERNAL_ERROR:
— Any upstream API failure or timeout → MCP INTERNAL_ERROR
Edge cases:
— Day count follows the civil month (28–31 entries).
SECTION: DO NOT CONFUSE WITH
asterwise_get_panchanga — deep single-day Panchanga with degree fields, not a month grid.
asterwise_get_muhurta — activity-ranked windows, not a passive calendar.