Calculates the tropical lunar phase for any date using Swiss Ephemeris. Returns the phase name, phase angle, illumination percentage, Moon age in days, and the next major phase transition.
SECTION: WHAT THIS TOOL COVERS
Eight-phase tropical lunar cycle: New Moon (0°), Waxing Crescent, First Quarter (90°), Waxing Gibbous, Full Moon (180°), Waning Gibbous, Last Quarter (270°), Waning Crescent. Phase angle is Sun–Moon elongation in degrees (0–360). Illumination percentage is derived from the phase angle using the cosine formula. Moon age is days since last New Moon.
SECTION: WORKFLOW
BEFORE: None — standalone.
AFTER: asterwise_get_western_moon_calendar — get the full month's phase data.
SECTION: INPUT CONTRACT
date (optional string YYYY-MM-DD) — Date to compute phase for. Defaults to today.
Example: '2026-05-01'
SECTION: OUTPUT CONTRACT
data.date (string — YYYY-MM-DD)
data.phase_name (string — one of the eight canonical phase names)
data.phase_angle (float — 0–360°, Sun–Moon elongation)
data.illumination_pct (float — 0–100)
data.moon_age_days (float — days since New Moon)
data.moon_longitude (float — tropical ecliptic longitude)
data.sun_longitude (float — tropical ecliptic longitude)
data.is_waxing (bool — true from New to Full Moon)
data.next_phase_name (string — next major phase)
data.next_phase_date (string — approximate YYYY-MM-DD of next major phase)
SECTION: RESPONSE FORMAT
response_format=json — structured phase data.
response_format=markdown — human-readable moon report.
SECTION: COMPUTE CLASS
FAST_LOOKUP
SECTION: ERROR CONTRACT
INVALID_PARAMS (local): None — date validated upstream.
INTERNAL_ERROR: Any upstream API failure → MCP INTERNAL_ERROR
SECTION: DO NOT CONFUSE WITH
asterwise_get_western_moon_calendar — full monthly day-by-day phase table.
asterwise_get_panchanga — Vedic tithi system (lunar day based on 12° arc increments).
Connector