Connection check
verified live · 20h ago
kaalshodh
Observatory-grade Indian astronomy, years -5000..+5000: positions, eclipses, panchang date search.
Tools
5
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http
Last checked
20h ago
Tools & capabilities
5 toolsRead from the running server on 20h ago.
find_copresence
read-only
rashigrahas*ayanamsaend_date*start_date*max_results
Find every window when the given planets occupy the same rashi (sign) simultaneously — conjunction-class questions over ±5000 years, instant. Example questions: "when… Find every window when the given planets occupy the same rashi (sign) simultaneously — conjunction-class questions over ±5000 years, instant. Example questions: "when are Guru and Shani next together in Kumbha?" (the ~60-year social-cycle conjunction), "when were Guru, Shani and Mangala last in one sign?", "were all planets really in one rashi at the Kali Yuga epoch (Feb 3102 BCE)?", "great conjunctions in the 1st millennium". Resolution is the rashi (30°) — for exact-degree conjunctions treat these windows as candidates. Including Chandra gives many short (~2 day) windows; omit it for long-period questions. Args: grahas: Two or more of: Surya, Chandra, Mangala, Budha, Guru, Shukra, Shani, Rahu, Ketu. start_date, end_date: YYYY-MM-DD, negative years allowed. rashi: Optional sign filter — Vedic (Mesh..Meen) or western (Aries..Pisces) name, or 1..12. Omit = any shared sign. ayanamsa: "Lahiri" (default) or "Sayan". max_results: Cap (≤100); response flags truncation.
find_matching_dates
read-only
masavaartithipakshaend_date*nakshatra
+3
Search up to 10,000 years (-5000..+5000) for every date whose sunrise panchang matches the given constraints — instant, from precomputed tables. This answers questions… Search up to 10,000 years (-5000..+5000) for every date whose sunrise panchang matches the given constraints — instant, from precomputed tables. This answers questions no LLM can: dating inscriptions and historical events, Hindu→Gregorian conversion, recurrence questions. Example questions: - "An inscription says Kartika Shukla 5, Thursday, in the 1200s CE — which dates fit?" → masa=Kartika, paksha=Shukla, tithi=5, vaar=Thursday, range 1200..1300. - "Convert Vikram Samvat 1680 Kartik Shukla 5 to a Gregorian date" → same constraints over the matching Gregorian years (VS ≈ year+57); check vikram_samvat in the results. - "When does my janma-tithi (Shravana Krishna Ashtami) fall in 2027?" - "Which years this century does Diwali (Kartika Amavasya) fall on a Sunday?" - "Full moon in Chitra nakshatra in the 5th century BCE" → tithi=Purnima, nakshatra=Chitra, range -0500..-0400. Give at least one of tithi/nakshatra/masa. All names fuzzy-match ("Ekadashi", "ekadasi", or the number 11 all work). Args: start_date, end_date: YYYY-MM-DD; negative years allowed ("-0500-01-01"). Wide ranges are fine — results are capped. tithi: Name or number 1..30 (1..15 Shukla, 16..30 Krishna; Purnima=15, Amavasya=30). A bare name like "Ekadashi" matches both pakshas unless paksha is given. paksha: "Shukla" (waxing) or "Krishna" (waning). nakshatra: Name or number 1..27 (Ashwini=1 .. Revati=27). This is the MOON's nakshatra at sunrise. masa: Amavasyant Hindu month name or number 1..12 (Chaitra=1 .. Phalguna=12). vaar: Weekday — English ("Thursday") or Vedic ("Guruvara"). tz_offset_hours: Local offset for civil-day assignment (default 5.5 = India). max_results: Cap (≤200); response flags truncation. Returns matched dates each with its full sunrise panchang (tithi, nakshatra, masa with adhik flag, vikram samvat, weekday). Ayanamsa is Lahiri. Dates are proleptic Gregorian, astronomical year numbering. For an app-exact panchang of any matched date, certify it with the HinduCalendar MCP server's get_panchang.
get_astro_events
read-only
grahayanamsaend_date*start_date*event_types
Return precomputed astronomical events between start_date and end_date — any range within years -5000..+5000 (eclipses -1999..3000), instant. Events are global (locat… Return precomputed astronomical events between start_date and end_date — any range within years -5000..+5000 (eclipses -1999..3000), instant. Events are global (location-independent) and served from binary-searched lookup tables — no live ephemeris computation. Example questions: "planetary events this month", "solar eclipses in the 12th century", "when was Shani retrograde in 1500 BCE?", "adhik maas years this decade". Ritu/ayana changes are Sayan sankrantis: Surya entering Meena=Vasanta, Vrishabha=Grishma, Karka=Varsha (=Dakshinayan start, = solstice), Kanya=Sharada, Vrishchika=Hemanta, Makara=Shishira (=Uttarayan start, = solstice) — query event_types=["sankranti"] with ayanamsa="Sayan". Args: start_date: Start date inclusive, YYYY-MM-DD (e.g. "2026-01-01"); negative years allowed (e.g. "-3101-01-01") end_date: End date inclusive, YYYY-MM-DD (e.g. "2026-12-31") ayanamsa: "Lahiri" (Vedic sidereal, default) or "Sayan" (tropical/Western) grah: Optional planet filter. One of: Surya, Chandra, Mangala, Budha, Guru, Shukra, Shani, Rahu, Ketu event_types: Optional list of event type filters. Valid values: "transit" – Mangala..Ketu change rashi (NOT Surya/Chandra) "sankranti" – Surya changes rashi (~monthly) "moon_transit" – Chandra changes rashi (~monthly) "full_moon" – Purnima (Moon at 180° elongation) "new_moon" – Amavasya (Moon at 0° elongation) "retrograde_start" – planet turns retrograde "retrograde_end" – planet resumes direct motion "equinox" – Vernal or Autumnal equinox (Sayan Surya) "solstice" – Summer or Winter solstice (Sayan Surya) "asta_start" – planet enters combust zone (Grah Asta) "asta_end" – planet exits combust zone (Uday) "solar_eclipse" – solar eclipse (catalog, years -1999..3000) "lunar_eclipse" – lunar eclipse (catalog, years -1999..3000) "kaal_sarp" – Kaal Sarp window (interval) "adhik_maas" – intercalary Hindu month (interval) "kshay_maas" – lost Hindu month (interval) "kumbh_mela" – Kumbh Mela window (interval) The max range is set by the densest requested type: 3 years by default, up to 1000 years for sparse-only queries (kumbh, maas). Interval events also carry end_time, duration_days, and type-specific details. Returns: Dict with keys: start_date, end_date, ayanamsa, count, events (list). Each event has: time (UTC ISO), event_type, grah, from, to, and (for intervals) end_time, duration_days, plus a details dict.
get_nearest_event
read-only
grahayanamsalocationdirectionfrom_date*event_type*
Return the nearest occurrence of one event type before or after a date — walks outward from any date in years -5000..+5000, instant. Ideal for questions like "when is… Return the nearest occurrence of one event type before or after a date — walks outward from any date in years -5000..+5000, instant. Ideal for questions like "when is the next Kumbh Mela?", "when does Guru go retrograde next?", "when is Makara Sankranti?" or "when was the last total solar eclipse before 1500 CE?" without scanning a whole range. Args: event_type: One of the values listed in get_astro_events (e.g. "kumbh_mela", "solar_eclipse", "adhik_maas", "sankranti"). from_date: Reference date, YYYY-MM-DD (BC years like "-0500-01-01" allowed). direction: "next" (first after from_date) or "prev" (last before). ayanamsa: "Lahiri" (default) or "Sayan". grah: Optional grah filter for grah-specific event types. location: Optional Kumbh Mela location (Haridwar/Prayagraj/Ujjain/Nashik). Returns: Dict with event_type, direction, from_date, ayanamsa, valid_range, and `event` (null if the reference date is outside the data range).
get_planetary_positions
read-only
grahtimeayanamsa