Astro Agents - deterministic Western + Vedic astrology
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Natal charts, transits, kundli, dashas, panchang, Gun Milan. JPL DE440, no LLM, hashed.
| Author | io.github.aidatatools-dev |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2630 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Astro Agents - deterministic Western + Vedic astrology": {
"url": "https://astro-agent.dev/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (16)
resolve_birth_timeread-onlyAstrology birth time to UTC conversion: convert a local birth date, time and place into exact Universal Time, with the historical time zone and UTC offset, Delta T, Local Mean Time and true solar time. The step LLMs most often get wrong. Resolves the IANA time zone from coordinates, applies the offset in force on that date (historical DST, Local Mean Time before standard time), flags ambiguous or non-existent local times instead of guessing, and returns Julian Days (UT/TT), Delta T, Local Mean Time, true (apparent) solar time and the equation of time. Deterministic (JPL DE440, no LLM); every result carries meta.result_sha256. Price $0.01 per call via REST POST https://astro-agent.dev/v1/time/resolve (x402 or MPP); your first 3 calls are free here.
Parameters:
date— string — YYYY-MM-DD (use with 'time' instead of 'datetime').time— string — HH:MM or HH:MM:SS, 24 h. Omit if unknown (computed at 12:00 with a TIME_UNKNOWN warning).datetime— string — Local birth date-time, ISO 8601: '1990-05-15T14:30' (local clock time at the place) or with an explicit offset '1990-05-15T14:30:00+02:00'. Alternative: 'date' + 'time'.latitude— number — Decimal degrees, north positive.timezone— string — IANA zone, e.g. 'Asia/Kolkata'. Optional: resolved from the coordinates, with the historical offset (DST, Local Mean Time) of that date.longitude— number — Decimal degrees, east positive.time_basis— string — What the given clock time is: civil wall-clock (default), UTC, Local Mean Time, or true (apparent) solar time.ambiguous_time— string — Which occurrence to use when a local time happens twice (DST fall-back).
Hints: read-only yes · destructive no · idempotent yes · open-world no
planet_positionsread-onlyWestern astrology planet positions: the zodiac sign, longitude, latitude, speed and retrograde flag of the Sun, Moon, planets, lunar nodes and Lilith at any moment. Geocentric apparent positions from NASA/JPL DE440 for any moment 1800-2200, with sign, degree, element, modality, daily speed and retrograde status. Location is optional (only used to interpret a local time). Deterministic (JPL DE440, no LLM); every result carries meta.result_sha256. Price $0.01 per call via REST POST https://astro-agent.dev/v1/western/positions (x402 or MPP); your first 3 calls are free here.
Parameters:
date— string — YYYY-MM-DD (use with 'time' instead of 'datetime').time— string — HH:MM or HH:MM:SS, 24 h. Omit if unknown (computed at 12:00 with a TIME_UNKNOWN warning).options— object — Optional calculation settings; every default is the common Western convention.datetime— string — Local birth date-time, ISO 8601: '1990-05-15T14:30' (local clock time at the place) or with an explicit offset '1990-05-15T14:30:00+02:00'. Alternative: 'date' + 'time'.latitude— number — Decimal degrees, north positive.timezone— string — IANA zone, e.g. 'Asia/Kolkata'. Optional: resolved from the coordinates, with the historical offset (DST, Local Mean Time) of that date.longitude— number — Decimal degrees, east positive.time_basis— string — What the given clock time is: civil wall-clock (default), UTC, Local Mean Time, or true (apparent) solar time.ambiguous_time— string — Which occurrence to use when a local time happens twice (DST fall-back).
Hints: read-only yes · destructive no · idempotent yes · open-world no
aspectsread-onlyWestern astrology aspects: find the aspects between planets at a moment, or between longitudes you supply, with orb, exactness and applying or separating. Either give a moment (datetime, optional place) and get the aspects among all planets, or give 'longitudes' {name: degrees} and get the pure geometry. Orbs are explicit and overridable. Deterministic (JPL DE440, no LLM); every result carries meta.result_sha256. Price $0.02 per call via REST POST https://astro-agent.dev/v1/western/aspects (x402 or MPP); your first 3 calls are free here.
Parameters:
date— string — YYYY-MM-DD (use with 'time' instead of 'datetime').time— string — HH:MM or HH:MM:SS, 24 h. Omit if unknown (computed at 12:00 with a TIME_UNKNOWN warning).options— object — Optional calculation settings; every default is the common Western convention.datetime— string — Local birth date-time, ISO 8601: '1990-05-15T14:30' (local clock time at the place) or with an explicit offset '1990-05-15T14:30:00+02:00'. Alternative: 'date' + 'time'.latitude— number — Decimal degrees, north positive.timezone— string — IANA zone, e.g. 'Asia/Kolkata'. Optional: resolved from the coordinates, with the historical offset (DST, Local Mean Time) of that date.longitude— number — Decimal degrees, east positive.longitudes— object — Optional {name: degrees} or {name: {longitude, speed}}; when given, no ephemeris is used.time_basis— string — What the given clock time is: civil wall-clock (default), UTC, Local Mean Time, or true (apparent) solar time.ambiguous_time— string — Which occurrence to use when a local time happens twice (DST fall-back).
Hints: read-only yes · destructive no · idempotent yes · open-world no
natal_chartread-onlyWestern astrology natal chart (birth chart, horoscope): planets in zodiac signs and houses, sun sign, moon sign and rising sign (ascendant), MC, aspects and a summary. Everything a natal reading needs, computed exactly: positions, house cusps (Placidus by default; Koch, Whole Sign, Equal, Porphyry, Regiomontanus, Campanus, Topocentric, Alcabitius, Morinus, Meridian), ascendant/MC/DSC/IC, aspects with orbs and applying/separating state, element and modality balance, chart ruler, sect and Part of Fortune. Deterministic (JPL DE440, no LLM); every result carries meta.result_sha256. Price $0.06 per call via REST POST https://astro-agent.dev/v1/western/natal (x402 or MPP); your first 3 calls are free here.
Parameters:
latitude(required) — number — Decimal degrees, north positive.longitude(required) — number — Decimal degrees, east positive.date— string — YYYY-MM-DD (use with 'time' instead of 'datetime').time— string — HH:MM or HH:MM:SS, 24 h. Omit if unknown (computed at 12:00 with a TIME_UNKNOWN warning).options— object — Optional calculation settings; every default is the common Western convention.datetime— string — Local birth date-time, ISO 8601: '1990-05-15T14:30' (local clock time at the place) or with an explicit offset '1990-05-15T14:30:00+02:00'. Alternative: 'date' + 'time'.timezone— string — IANA zone, e.g. 'Asia/Kolkata'. Optional: resolved from the coordinates, with the historical offset (DST, Local Mean Time) of that date.time_basis— string — What the given clock time is: civil wall-clock (default), UTC, Local Mean Time, or true (apparent) solar time.ambiguous_time— string — Which occurrence to use when a local time happens twice (DST fall-back).
Hints: read-only yes · destructive no · idempotent yes · open-world no
transitsread-onlyWestern astrology transits: the transits to a natal chart at a moment, and the exact dates transiting aspects perfect over a window of up to a year. 'transit': aspects from the sky at a moment to every natal point, with the natal house each transiting planet occupies. 'window': the exact UTC minute every transiting planet perfects each aspect to each natal point over up to 366 days (62 with the Moon), retrograde passes included. Deterministic (JPL DE440, no LLM); every result carries meta.result_sha256. Price $0.08 per call via REST POST https://astro-agent.dev/v1/western/transits (x402 or MPP); your first 3 calls are free here.
Parameters:
natal(required) — object — Birth data.window— object — UTC dates YYYY-MM-DD, at most 366 days apart.options— object — Optional calculation settings; every default is the common Western convention.transit— object — The transit moment. A bare local time is read in the natal place's zone.
Hints: read-only yes · destructive no · idempotent yes · open-world no
synastryread-onlyWestern astrology synastry (relationship compatibility): compare two birth charts with cross-aspects, house overlays both ways and composite midpoints. Two natal charts compared: every cross-aspect with orbs, where each person's planets fall in the other's houses, harmonious/challenging counts, and composite (midpoint) positions and angles. Deterministic (JPL DE440, no LLM); every result carries meta.result_sha256. Price $0.12 per call via REST POST https://astro-agent.dev/v1/western/synastry (x402 or MPP); your first 3 calls are free here.
Parameters:
person_a(required) — object — First person's birth data.person_b(required) — object — Second person's birth data.options— object — Optional calculation settings; every default is the common Western convention.
Hints: read-only yes · destructive no · idempotent yes · open-world no
nakshatrasread-onlyVedic astrology nakshatras: the sidereal nakshatra, pada and lord of every graha, plus the janma nakshatra with gana, yoni, nadi and varna. The 27 lunar mansions for each of the 9 grahas at a moment (Lahiri by default, 6 ayanamsas), with the birth star's attributes used in matching. Or pass 'longitude_sidereal' for a direct lookup. Deterministic (JPL DE440, no LLM); every result carries meta.result_sha256. Price $0.02 per call via REST POST https://astro-agent.dev/v1/vedic/nakshatra (x402 or MPP); your first 3 calls are free here.
Parameters:
date— string — YYYY-MM-DD (use with 'time' instead of 'datetime').time— string — HH:MM or HH:MM:SS, 24 h. Omit if unknown (computed at 12:00 with a TIME_UNKNOWN warning).options— object — Optional calculation settings; every default is the common Parashari convention.datetime— string — Local birth date-time, ISO 8601: '1990-05-15T14:30' (local clock time at the place) or with an explicit offset '1990-05-15T14:30:00+02:00'. Alternative: 'date' + 'time'.latitude— number — Decimal degrees, north positive.timezone— string — IANA zone, e.g. 'Asia/Kolkata'. Optional: resolved from the coordinates, with the historical offset (DST, Local Mean Time) of that date.longitude— number — Decimal degrees, east positive.time_basis— string — What the given clock time is: civil wall-clock (default), UTC, Local Mean Time, or true (apparent) solar time.ambiguous_time— string — Which occurrence to use when a local time happens twice (DST fall-back).longitude_sidereal— number — Optional direct lookup, degrees 0-360.
Hints: read-only yes · destructive no · idempotent yes · open-world no
panchangread-onlyVedic astrology panchang (Hindu calendar) for a day and place: tithi, vara, nakshatra, yoga and karana with their exact end times, plus sunrise and sunset. The Hindu almanac for any moment and place: the five limbs with their end times (to the minute), paksha, Moon and Sun rashi, sunrise/sunset, and the vara by the sunrise-to-sunrise rule. Deterministic (JPL DE440, no LLM); every result carries meta.result_sha256. Price $0.02 per call via REST POST https://astro-agent.dev/v1/vedic/panchang (x402 or MPP); your first 3 calls are free here.
Parameters:
latitude(required) — number — Decimal degrees, north positive.longitude(required) — number — Decimal degrees, east positive.date— string — YYYY-MM-DD (use with 'time' instead of 'datetime').time— string — HH:MM or HH:MM:SS, 24 h. Omit if unknown (computed at 12:00 with a TIME_UNKNOWN warning).options— object — Optional calculation settings; every default is the common Parashari convention.datetime— string — Local birth date-time, ISO 8601: '1990-05-15T14:30' (local clock time at the place) or with an explicit offset '1990-05-15T14:30:00+02:00'. Alternative: 'date' + 'time'.timezone— string — IANA zone, e.g. 'Asia/Kolkata'. Optional: resolved from the coordinates, with the historical offset (DST, Local Mean Time) of that date.time_basis— string — What the given clock time is: civil wall-clock (default), UTC, Local Mean Time, or true (apparent) solar time.ambiguous_time— string — Which occurrence to use when a local time happens twice (DST fall-back).
Hints: read-only yes · destructive no · idempotent yes · open-world no
kundliread-onlyVedic astrology birth chart (kundli, Jyotish horoscope, D1 and D9): lagna and the nine grahas with rashi, nakshatra, pada, house, dignity and combustion. The Jyotish birth chart: ayanamsa (Lahiri default; Raman, KP, Yukteshwar, Fagan-Bradley, True Chitrapaksha), lagna, grahas with rashi, nakshatra/pada/lord, bhava, dignity (exalted, debilitated, moolatrikona, own sign), retrograde and combustion, house table with lords and occupants, and the Navamsa (D9). Deterministic (JPL DE440, no LLM); every result carries meta.result_sha256. Price $0.15 per call via REST POST https://astro-agent.dev/v1/vedic/kundli (x402 or MPP); your first 3 calls are free here.
Parameters:
latitude(required) — number — Decimal degrees, north positive.longitude(required) — number — Decimal degrees, east positive.date— string — YYYY-MM-DD (use with 'time' instead of 'datetime').time— string — HH:MM or HH:MM:SS, 24 h. Omit if unknown (computed at 12:00 with a TIME_UNKNOWN warning).options— object — Optional calculation settings; every default is the common Parashari convention.datetime— string — Local birth date-time, ISO 8601: '1990-05-15T14:30' (local clock time at the place) or with an explicit offset '1990-05-15T14:30:00+02:00'. Alternative: 'date' + 'time'.timezone— string — IANA zone, e.g. 'Asia/Kolkata'. Optional: resolved from the coordinates, with the historical offset (DST, Local Mean Time) of that date.time_basis— string — What the given clock time is: civil wall-clock (default), UTC, Local Mean Time, or true (apparent) solar time.ambiguous_time— string — Which occurrence to use when a local time happens twice (DST fall-back).
Hints: read-only yes · destructive no · idempotent yes · open-world no
kundli_fullread-onlyVedic astrology full kundli: all 16 Shodashavarga divisional charts, D1 to D60 (navamsa, dasamsa...), by Parashara's rules. Everything in /vedic/kundli plus D1, D2, D3, D4, D7, D9, D10, D12, D16, D20, D24, D27, D30, D40, D45 and D60, each with its lagna, placements and house table. Deterministic (JPL DE440, no LLM); every result carries meta.result_sha256. Price $0.32 per call via REST POST https://astro-agent.dev/v1/vedic/kundli-full (x402 or MPP); your first 3 calls are free here.
Parameters:
latitude(required) — number — Decimal degrees, north positive.longitude(required) — number — Decimal degrees, east positive.date— string — YYYY-MM-DD (use with 'time' instead of 'datetime').time— string — HH:MM or HH:MM:SS, 24 h. Omit if unknown (computed at 12:00 with a TIME_UNKNOWN warning).options— object — Optional calculation settings; every default is the common Parashari convention.datetime— string — Local birth date-time, ISO 8601: '1990-05-15T14:30' (local clock time at the place) or with an explicit offset '1990-05-15T14:30:00+02:00'. Alternative: 'date' + 'time'.timezone— string — IANA zone, e.g. 'Asia/Kolkata'. Optional: resolved from the coordinates, with the historical offset (DST, Local Mean Time) of that date.time_basis— string — What the given clock time is: civil wall-clock (default), UTC, Local Mean Time, or true (apparent) solar time.ambiguous_time— string — Which occurrence to use when a local time happens twice (DST fall-back).
Hints: read-only yes · destructive no · idempotent yes · open-world no
vimshottari_dasharead-onlyVedic astrology dasha periods: the Vimshottari maha, antar and pratyantar dashas with exact dates, the balance at birth and the periods running now. The 120-year Vimshottari sequence from the Moon's exact nakshatra position: balance at birth, all 9 mahadashas with sub-periods down to 4 levels, and (with on_date) the periods running on a date. Deterministic (JPL DE440, no LLM); every result carries meta.result_sha256. Price $0.10 per call via REST POST https://astro-agent.dev/v1/vedic/dashas (x402 or MPP); your first 3 calls are free here.
Parameters:
latitude(required) — number — Decimal degrees, north positive.longitude(required) — number — Decimal degrees, east positive.date— string — YYYY-MM-DD (use with 'time' instead of 'datetime').time— string — HH:MM or HH:MM:SS, 24 h. Omit if unknown (computed at 12:00 with a TIME_UNKNOWN warning).on_date— string — YYYY-MM-DD (UTC): also report what is active on this date.options— object — Optional calculation settings; every default is the common Parashari convention.datetime— string — Local birth date-time, ISO 8601: '1990-05-15T14:30' (local clock time at the place) or with an explicit offset '1990-05-15T14:30:00+02:00'. Alternative: 'date' + 'time'.timezone— string — IANA zone, e.g. 'Asia/Kolkata'. Optional: resolved from the coordinates, with the historical offset (DST, Local Mean Time) of that date.time_basis— string — What the given clock time is: civil wall-clock (default), UTC, Local Mean Time, or true (apparent) solar time.ambiguous_time— string — Which occurrence to use when a local time happens twice (DST fall-back).
Hints: read-only yes · destructive no · idempotent yes · open-world no
doshasread-onlyVedic astrology doshas: check Manglik (Kuja), Kaal Sarp and Sade Sati / Dhaiya, each with the rule applied and the relevant dates. Manglik from lagna, Moon and Venus with severity and commonly cited cancellations; Kaal Sarp with type and direction (partial cases flagged); Sade Sati cycles and Dhaiya phases with start/end dates over 100 years, plus the status on a given date. Deterministic (JPL DE440, no LLM); every result carries meta.result_sha256. Price $0.15 per call via REST POST https://astro-agent.dev/v1/vedic/doshas (x402 or MPP); your first 3 calls are free here.
Parameters:
latitude(required) — number — Decimal degrees, north positive.longitude(required) — number — Decimal degrees, east positive.date— string — YYYY-MM-DD (use with 'time' instead of 'datetime').time— string — HH:MM or HH:MM:SS, 24 h. Omit if unknown (computed at 12:00 with a TIME_UNKNOWN warning).on_date— string — YYYY-MM-DD (UTC): also report what is active on this date.options— object — Optional calculation settings; every default is the common Parashari convention.datetime— string — Local birth date-time, ISO 8601: '1990-05-15T14:30' (local clock time at the place) or with an explicit offset '1990-05-15T14:30:00+02:00'. Alternative: 'date' + 'time'.timezone— string — IANA zone, e.g. 'Asia/Kolkata'. Optional: resolved from the coordinates, with the historical offset (DST, Local Mean Time) of that date.time_basis— string — What the given clock time is: civil wall-clock (default), UTC, Local Mean Time, or true (apparent) solar time.ambiguous_time— string — Which occurrence to use when a local time happens twice (DST fall-back).
Hints: read-only yes · destructive no · idempotent yes · open-world no
gun_milanread-onlyVedic astrology kundli matching (horoscope matching, marriage compatibility): 36-point Ashtakoota Gun Milan with all 8 kootas and reasons, plus dosha and Manglik checks. Varna, Vashya, Tara, Yoni, Graha Maitri, Gana, Bhakoot and Nadi scored from both Moons, each with the attributes and rule behind the score, Nadi/Bhakoot dosha flags with commonly cited cancellations, and both partners' Manglik status. Boy = person_a, girl = person_b by convention. Deterministic (JPL DE440, no LLM); every result carries meta.result_sha256. Price $0.25 per call via REST POST https://astro-agent.dev/v1/vedic/gun-milan (x402 or MPP); your first 3 calls are free here.
Parameters:
person_a(required) — object — Groom / boy (traditional convention).person_b(required) — object — Bride / girl.options— object — Optional calculation settings; every default is the common Parashari convention.
Hints: read-only yes · destructive no · idempotent yes · open-world no
vedic_reportread-onlyVedic astrology report in one call: kundli, Vimshottari dashas, doshas and the birth panchang. The full Jyotish dossier for one person in a single deterministic call: everything in /vedic/kundli, /vedic/dashas (2 levels, running periods with on_date), /vedic/doshas and the panchang at birth. Deterministic (JPL DE440, no LLM); every result carries meta.result_sha256. Price $0.50 per call via REST POST https://astro-agent.dev/v1/vedic/report (x402 or MPP); your first 3 calls are free here.
Parameters:
latitude(required) — number — Decimal degrees, north positive.longitude(required) — number — Decimal degrees, east positive.date— string — YYYY-MM-DD (use with 'time' instead of 'datetime').time— string — HH:MM or HH:MM:SS, 24 h. Omit if unknown (computed at 12:00 with a TIME_UNKNOWN warning).on_date— string — YYYY-MM-DD (UTC): also report what is active on this date.options— object — Optional calculation settings; every default is the common Parashari convention.datetime— string — Local birth date-time, ISO 8601: '1990-05-15T14:30' (local clock time at the place) or with an explicit offset '1990-05-15T14:30:00+02:00'. Alternative: 'date' + 'time'.timezone— string — IANA zone, e.g. 'Asia/Kolkata'. Optional: resolved from the coordinates, with the historical offset (DST, Local Mean Time) of that date.time_basis— string — What the given clock time is: civil wall-clock (default), UTC, Local Mean Time, or true (apparent) solar time.ambiguous_time— string — Which occurrence to use when a local time happens twice (DST fall-back).
Hints: read-only yes · destructive no · idempotent yes · open-world no
astro_catalogread-onlyList every astrology tool with its price, input schema and an example request. Free; call it first to pick the right tool.
Hints: read-only yes · destructive no · idempotent yes · open-world no
verify_result_hashread-onlyVerify that an astrology result was not altered: recompute the SHA-256 of a 'result' object returned by any tool and compare it with the result_sha256 you hold. Free.
Parameters:
result(required) — object — The 'result' object exactly as a tool returned it.result_sha256— string — The meta.result_sha256 returned with it (64 hex characters). Omit to only recompute the hash.
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.