Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.heavyblotto/caelus-mcp

REMOTE · WWW.EPHEMENGINE.COM · 2 COMPONENTS · SCANNED AUG 3

34-tool Caelus MCP for validated astrology: charts, transits, Vedic, facts, sky view, synthetic.

+4 this week 68 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability72
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 8654 tokens (~233/item across 37 items; 34 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 95% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
  • Supports UI / widget rendering.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · www.ephemengine.com

# add to Claude Code
claude mcp add --transport http heavyblotto-caelus-mcp https://www.ephemengine.com/api/mcp
# ~/.codex/config.toml
[mcp_servers.heavyblotto-caelus-mcp]
url = "https://www.ephemengine.com/api/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "heavyblotto-caelus-mcp": {
      "type": "remote",
      "url": "https://www.ephemengine.com/api/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add heavyblotto-caelus-mcp --url https://www.ephemengine.com/api/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  heavyblotto-caelus-mcp:
    url: "https://www.ephemengine.com/api/mcp"
// mcp.json
{
  "mcpServers": {
    "heavyblotto-caelus-mcp": {
      "type": "http",
      "url": "https://www.ephemengine.com/api/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 63

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://www.ephemengine.com/api/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=www.ephemengine.com CN=YR1,O=Let's Encrypt,C=US 12 Jun 2026 10 Sept 2026 RSA 2048 SHA256-RSA 6f48d78164a234a847d4e0e0c4736888c16
SANs: www.ephemengine.com
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f
DNSSEC insecure

Validation of www.ephemengine.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
ephemengine.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://www.ephemengine.com/api/mcp Verified 200
http (plaintext) http://www.ephemengine.com/api/mcp HTTPS enforced 308 https://www.ephemengine.com/api/mcp
MCP tools — 34 exposed · ~8,564 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
aspect_patterns ~289

Classical aspect configurations in a chart: T-squares, grand trines, grand crosses, yods, kites, mystic rectangles, and stelliums by sign and by house. Each is a structured object with the participating bodies and the worst defining-aspect orb; T-squares and yods also name the apex, stelliums their sign or house. Reported patterns are maximal — a grand cross hides the T-squares it contains, a kite its grand trine. Pure geometry (engine orbs plus a quincunx for yods), no interpretation. Needs date, lat, lon.

NameTypeReqDescription
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
house_systemstringHouse system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliase…
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

chart_facts ~710

A chart's validated facts as ranked, citable atoms for interpretation. Each fact has a stable id (e.g. "aspect:moon~neptune:conjunction"), the bodies it concerns, a salience score (luminaries, angular placements, the chart ruler, tight/hard aspects, configurations rank high), and a plain-language statement. Facts span placements, aspects, configurations, the structural signature, dispositors and receptions, a body's tight conjunction with a bright fixed star (e.g. "star:jupiter:Sirius"), and the Part of Fortune and Spirit (e.g. "lot:fortune"). Read the facts, write the interpretation in your own words, and cite the [id] each statement rests on — do not introduce facts not listed. Returns the ranked facts plus a ready-to-interpret `brief`. By default a real birth chart: pass date+lat+lon. The chart's grounding is first-class via `realm` (what it is: observed/forecast/fictional/mythic/archetypal/…) and the time: an exact `date`, an uncertain `earliest`+`latest` range (the brief then frames it as provisional and trusts the Moon/angles/houses less), `constraints` for an archetypal chart with no time (synthesized via the compiler), or a full structured `when` (relative-to-another-event or a narrative calendar). A `when` of kind `relative` looks its `anchorId` up in `anchors` (a map of id → UTC instant supplied in the request). Omit lat+lon for a placeless chart (nominal houses).

NameTypeReqDescription
anchorsobjectReference instants for a `relative` when: { anchorId: UTC ISO }
constraintsarrayGeometric constraints for an archetypal/conceptual chart with no time (compiler synthesis)
datestringExact UTC instant, ISO 8601 (e.g. 1990-06-10T14:30:00Z); convert local to UTC first
earlieststringStart of an uncertain-time range (UTC ISO); use with `latest` instead of `date`
house_systemstringHouse system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliase…
include_vedicbooleanWith target_date: project nakshatra/varga/yoga (default true when zodiac is sidereal)
latnumberLatitude, north positive
lateststringEnd of an uncertain-time range (UTC ISO)
limitintegermax facts to return, highest salience first (default 24)
lonnumberLongitude, EAST positive (Americas are negative)
realmstringWhat the chart is; frames the interpretation (default observed)
target_datestringUTC ISO instant for transits and time-lords vs this natal chart; omit for natal-only facts
whenFull structured temporal anchor; overrides date/earliest/latest. Use for relative or narrative time.
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

chart_signature ~240

A chart's structural signature as plain counts: element, modality, angularity, quadrant, and hemisphere distributions over the bodies; the dominant element, modality, and most-occupied sign; and the classical chart ruler (the ruler of the Ascendant's sign). Counts only, no interpretation — a compact summary for emphasis and comparison. Needs date, lat, lon.

NameTypeReqDescription
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
house_systemstringHouse system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliase…
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

composite ~187

Relationship charts for two people: the midpoint composite (each body and angle is the shorter-arc midpoint of the two natal positions) and the Davison chart (a real chart cast for the midpoint in time and place). Each person needs date+lat+lon.

NameTypeReqDescription
aobjectyesPerson A birth data (UTC date, lat, lon)
bobjectyesPerson B birth data (UTC date, lat, lon)
house_systemstringHouse system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliase…
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

cosmic_weather ~130

The mundane sky on a date: the active aspect configurations among the transiting planets (T-squares, grand trines, grand crosses, yods, kites, mystic rectangles, stelliums by sign), any planet stationing within a window, and whether the Moon is void of course. A 'cosmic weather' snapshot; no birth chart or location needed.

NameTypeReqDescription
datestringyesUTC ISO date
window_daysnumberdays either side to scan for stations (default 7)
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

counterfactual_chart ~404

A birth chart, perturbed — a 'what if'. Give a base chart (date+lat+lon) and an edit: `shift_time` (e.g. '1h', '-30m', 'P1D') moves the instant ("born an hour later"), `move_lat`+`move_lon` recompute at another place, and/or `set_longitudes` moves bodies to new ecliptic degrees ("Mars in the next sign"). Returns the diff vs the original: bodies that changed sign or house, aspects gained or lost, and angles that changed sign. A time/place edit rotates the houses and angles while planets stay put; a longitude splice moves only those bodies and recomputes their aspects.

NameTypeReqDescription
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
house_systemstringHouse system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliase…
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)
move_latRecompute at this latitude instead of the birth latitude
move_lonRecompute at this longitude instead of the birth longitude
set_longitudesobjectMove bodies to these ecliptic longitudes in degrees, e.g. { "mars": 45 }
shift_timestringDuration to shift the instant: '1h', '-30m', 'P1Y'
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

current_sky ~263

The sky at a moment and place — not tied to any person. Use for "what's the sky/transits right now" or the chart of a non-birth event. Date defaults to now; lat/lon default to 0,0 (geocentric on the equator at the prime meridian), where houses and ASC/MC are nominal — pass a real location if houses matter. For a specific person's birth chart use natal_chart instead. Returns positions, houses, retrogrades, aspects.

NameTypeReqDescription
datestringUTC ISO date-time (convert from local first); omit for now
house_systemstringHouse system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliase…
latnumberLatitude, north positive; default 0 makes houses nominal
lonnumberLongitude, EAST positive (Americas are negative); default 0 makes houses nominal
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

dasha ~309

Vedic dasha periods — planetary time-lord cycles started from the Moon's birth nakshatra. system selects Vimshottari (120-year, the standard), Yogini (36-year, eight yoginis), or Ashtottari (108-year). Returns the period timeline (mahadasha → antardasha) with UTC start/end, the balance of the first period at birth, and — when target_date is given — the lords active then (Vimshottari also gives the pratyantardasha). Sidereal; Lahiri by default. Needs the birth time and place.

NameTypeReqDescription
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
latnumberyesLatitude, north positive
levelsintegerdeepest timeline level: 1 (maha) or 2 (maha+antar, default)
lonnumberyesLongitude, EAST positive (Americas are negative)
systemstringdasha system: vimshottari (120y), yogini (36y), or ashtottari (108y)
target_datestringUTC ISO date to read the active lords for; omit for the timeline only
zodiacstringsidereal ayanamsa (default sidereal:lahiri); these are sidereal techniques

No output schema declared.

No examples provided.

dignities ~226

Essential dignity and sect for the seven traditional planets at a moment and place. Per planet: its sign, any essential dignity (domicile/exaltation/detriment/fall), its weighted essential-dignity score (Lilly: rulership 5, exaltation 4, triplicity 3, term 2, face 1; detriment -5, fall -4) with a peregrine flag, its planetary sect (diurnal/nocturnal, null for Mercury), and whether it is in sect given a day or night chart. The chart is day when the Sun is above the horizon — so lat+lon are required.

NameTypeReqDescription
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

directions ~331

Primary (mundane) directions of the seven traditional planets to the four angles (MC, IC, Ascendant, Descendant), and optionally between the planets themselves. The diurnal rotation carries a body to the angle (or a promissor to a significator); the arc of rotation, converted by a time key (Naibod 0.9856473°/yr by default, or Ptolemy 1°/yr), gives the age of the direction. Returns the directions within max_years, sorted by age, each with its arc, age in years, and UTC date. With include_mundane, also returns the planet-to-planet (promissor → significator) directions. Circumpolar bodies have no Ascendant/Descendant directions. Needs the birth time and place; equatorial, so zodiac is irrelevant.

NameTypeReqDescription
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
include_mundanebooleanalso return inter-planetary (promissor → significator) directions (default false)
keystringtime key: naibod (0.9856473°/yr, default) or ptolemy (1°/yr)
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)
max_yearsnumberonly directions reached within this many years of life (default 90)

No output schema declared.

No examples provided.

electional_search ~193

Rank moments in a window for an electional aim. Samples the window and scores each instant by how closely a set of wanted body-to-body aspects is satisfied (tighter and applying aspects score higher), optionally penalizing a void-of-course Moon. Returns the top moments with the aspects that matched. Body-to-body only; for aspects to the angles, compute the chart at a candidate moment.

NameTypeReqDescription
avoid_void_moonbooleanpenalize a void-of-course Moon
endstringyesUTC ISO end of the window
limitintegermax moments to return (default 10)
startstringyesUTC ISO start of the window
step_hoursnumbersampling step in hours (default 6)
wantedarrayyesaspects to reward when close to exact
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

find_aspect_dates ~201

Exact dates a transiting body makes an aspect, within a range: to a fixed longitude OR to another transiting body. Provide exactly one of target_lon / target_body. Includes retrograde re-hits. Body names are snake_case (mean_node, true_node).

NameTypeReqDescription
aspectstringyes
bodystringyesTransiting body (snake_case, e.g. saturn, true_node)
endstringyesUTC ISO end date (convert from local first); range <= 50 years
startstringyesUTC ISO start date (convert from local first)
target_bodystringAnother transiting body. Provide this OR target_lon, not both.
target_lonnumberFixed natal longitude in degrees. Provide this OR target_body, not both.
zodiacstringZodiac for body and target_lon longitudes; tropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

firdaria ~222

Firdaria (firdariyyat): the Persian/medieval planetary time-lord periods. Life divides into nine major periods totalling 75 years — the seven planets (a day chart starts with the Sun, a night chart with the Moon) then the North and South Nodes — each planetary period split into seven sub-periods. Returns the full timeline (each period and sub-period with UTC start/end) and, when target_date is given, the major and sub lord active then. Sect is taken from the birth chart, so lat+lon are required; pure time arithmetic, no zodiac.

NameTypeReqDescription
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)
target_datestringUTC ISO date to look up the active period for; omit for the timeline only

No output schema declared.

No examples provided.

lots ~187

The seven Hermetic lots (Arabic parts) — Fortune, Spirit, Eros, Necessity, Courage, Victory, Nemesis — cast from the Ascendant and reversing direction by sect (a chart is day when the Sun is above the horizon). Per lot: its longitude and zodiacal position. Lots are anchored to the Ascendant, so an exact time and lat+lon are required. Fortune and Spirit are mirror images about the Ascendant. Tropical by default.

NameTypeReqDescription
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

nakshatras ~231

The nakshatra (one of the 27 lunar mansions of 13°20′) of each classical point on the sidereal zodiac: the seven traditional planets and the Ascendant (lagna). Per point: the nakshatra name, its pada (quarter, 1–4), the ruling planet (the Vimshottari lord), and degrees into the nakshatra. The Moon's nakshatra (janma nakshatra) anchors the Vimshottari dasha. Sidereal by definition; Lahiri ayanamsa by default. Needs the birth time and place for the Ascendant.

NameTypeReqDescription
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)
zodiacstringsidereal ayanamsa (default sidereal:lahiri); these are sidereal techniques

No output schema declared.

No examples provided.

natal_chart ~341

A person's birth chart. Requires their exact birth date+time and birthplace (all three: date, lat, lon). Use this — not current_sky — whenever the question is about someone's natal/birth chart. Returns 13 bodies (sun–pluto, chiron, nodes) with sign, house, retrograde, speed; ASC/MC; cusps; major aspects with orb, applying/separating phase, and strength (1=exact). Vs Swiss Ephemeris (1850–2150): Sun–Saturn ≤1″, Uranus ≤1.9″, Neptune ≤4.6″, Moon ≤2.5″, Pluto ≤3.4″ (Chebyshev pack), Chiron ≤1″, mean node ≤1″, true node ≤ 1′ vs SE's built-in ephemeris.

NameTypeReqDescription
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
house_systemstringHouse system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliase…
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

planetary_hours ~166

Planetary hours for a moment and place: the unequal hour in effect (its ruler, day/night, hour number 1-24, start/end UTC), the ruler of the planetary day, and the full 24-hour ruler sequence. Hours split the day (sunrise to sunset) and night (sunset to next sunrise) into twelve each; the day ruler is the weekday ruler and the hours follow the Chaldean order. Needs lat+lon. Returns available:false above the polar circles when the Sun does not rise or set that day.

NameTypeReqDescription
datestringUTC ISO date-time (convert from local first); omit for now
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)

No output schema declared.

No examples provided.

profections ~220

Annual and monthly profections (a Hellenistic time-lord technique) at a target date. The natal Ascendant advances one whole sign per year of life; the profected sign's traditional ruler is the lord of the year, the single most important time-lord for that year. Returns the age in years, the month within the profection year, and the annual and monthly profected sign (with its whole-sign house from the natal Ascendant and its lord). Needs the birth time and place for the Ascendant.

NameTypeReqDescription
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)
target_datestringyesUTC ISO date to profect to (convert from local first)
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

progressions ~147

Secondary progressions (day-for-a-year) and solar-arc directions of a natal chart to a target date. Returns, per body, the secondary-progressed longitude and the solar-arc-directed longitude, plus the solar arc itself. Longitudes only (no houses), so no birthplace is needed.

NameTypeReqDescription
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
target_datestringyesUTC ISO date to progress/direct to (convert from local first)
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

rectification_grid ~186

Rectification sweep: ASC/MC at each step across a window of UTC hours on one date, with ASC sign-change times. Use when the birth time is unknown and you want candidate times. The sweep runs over window_start_hour..window_end_hour (UTC hours of the given date); the date's time portion is ignored.

NameTypeReqDescription
datestringyesBirth DATE (UTC) as ISO; only the calendar date is used, the time portion is ignored (the window_*_hour fields set the times swept)
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)
step_minutesnumberMinutes between grid rows
window_end_hournumberLast UTC hour of the date to sweep
window_start_hournumberFirst UTC hour of the date to sweep

No output schema declared.

No examples provided.

releasing ~326

Zodiacal releasing (aphesis), the Hellenistic time-lord technique from Vettius Valens, released from a Lot (Spirit by default, or Fortune). From the Lot's sign, periods release sign by sign with planetary minor-year lengths on the 360-day-year convention; each level is a twelfth of the one above (L1..L4), and a loop back to the starting sign looses the bond, jumping once to the opposite sign (+6). Returns the timeline down to max_level over the horizon and, when target_date is given, the L1..L4 lords active then. Anchored to the natal Lot, so an exact time and lat+lon are required.

NameTypeReqDescription
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
horizon_yearsnumbertimeline length in 360-day years from birth (default 100)
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)
lotstringthe Lot to release from (default spirit)
max_levelintegerdeepest sub-period level in the timeline, 1..4 (default 2)
target_datestringUTC ISO date to read the active L1..L4 periods for; omit for the timeline only
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

returns ~342

Solar or lunar return: the instant(s) a body returns to its natal longitude within a window, plus the full return chart for the first one. The Sun returns about yearly (the solar-return chart for the year), the Moon about monthly. Return chart is cast for the return moment at return_lat/return_lon (defaults to the birthplace; pass the current/relocated place for a relocated return).

NameTypeReqDescription
bodystringyessun for the solar return, moon for the lunar return
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
house_systemstringHouse system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliase…
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)
return_latLatitude for the return chart; defaults to the birth latitude
return_lonLongitude (EAST positive) for the return chart; defaults to the birth longitude
search_endstringyesUTC ISO end of the window; range <= 2 years
search_startstringyesUTC ISO start of the window to search for returns
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

similar_skies ~157

Find when the sky most resembled a reference moment. Builds a feature vector for the reference date's planetary configuration and scans a window for the closest matches by cosine similarity (1.0 = identical configuration). Answers 'when did the sky last look like this?' for transit echoes and historical analogues. Returns the top matches with their similarity, highest first.

NameTypeReqDescription
endstringyesUTC ISO end of the search window
limitintegermax matches to return (default 10)
reference_datestringyesUTC ISO date whose sky is the target to match
startstringyesUTC ISO start of the search window
step_daysnumbersampling step in days (default 1)

No output schema declared.

No examples provided.

sky_events ~283

Sky events in a UTC date range: rise/set/meridian transits (need lat+lon+body), lunar phases (new/quarters/full), solar and lunar eclipses, stations (body turns retrograde/direct; needs body), zodiac degree crossings (needs body + target_lon). Solar eclipses report global circumstances (type, magnitude, gamma) plus the greatest-eclipse location and path width; add lat+lon to also get local circumstances (type seen, magnitude, obscuration, contact times C1-C4). Lunar eclipses report type and magnitude; add lat+lon to learn whether the Moon is above the horizon there. Times to the second vs Swiss Ephemeris (stations to ~1 min: ill-conditioned by nature). Range <= 370 days.

NameTypeReqDescription
bodystringRequired for rise/set/transit/station/crossing
endstringyesUTC ISO end date; range <= 370 days
kindsarrayyesEvent kinds to include
latnumberRequired for rise/set/transit
lonnumberRequired for rise/set/transit
startstringyesUTC ISO start date (convert from local first)
target_lonnumberZodiac longitude for 'crossing', degrees
zodiacstringZodiac for 'crossing' longitudes

No output schema declared.

No examples provided.

sky_view ~539

Where the visible bodies land in a framed photo of the sky, for an image prompt. Give a place, a moment, an aim (compass direction and altitude), a lens, and an image size; get each in-frame body's pixel position, apparent size, brightness, the Moon's phase orientation, a sky-state summary (twilight, limiting magnitude, horizon row), the bright bodies just outside the frame, a ready-to-use prompt, and a machine-readable `renderPlan` (a body-free background-plate prompt plus the computed layers to composite locally, for a hybrid render pipeline). Caelus computes the geometry and photometry; it does NOT render the image. For "at sunset", first find the set time with sky_events, then pass it as date.

NameTypeReqDescription
altitudenumberCenter altitude in degrees: 0 looks at the horizon, positive tilts up
azimuthnumber|stringyesCenter compass direction: degrees from true north (east positive) or a 16-point name like "W" or "WNW"
bortleintegerDark-sky class, 1 (pristine) to 9 (inner city). Sets the night naked-eye limit and drives background star density and Milky Way visibility. Omit for a suburban default
datestringUTC ISO date-time (convert from local first); omit for now
deep_fieldbooleanPin the complete deep naked-eye star field (thousands of stars at exact pixels) instead of the bright catalog. Larger response; great for control images
elevation_mnumberEye height above ground in meters (e.g. 9 for a third-floor window)
heightintegerOutput image height in pixels
include_starsbooleanInclude bright catalog stars when a star catalog is loaded
latnumberyesLatitude, north positive
lensstringLens preset; sets field of view and projection (ultrawide is fisheye, the rest rectilinear)
lonnumberyesLongitude, EAST positive (Americas are negative)
max_star_magnumberBrightest-magnitude cutoff for stars (smaller is brighter); default 2.5, or the limiting magnitude when bortle is set
overlaysarrayReference-frame overlays to project (annotations, not photoreal): the ecliptic line, the zodiac signs, house cusps and angles, and constellation figures. Exact pixels returned in `overlays`
widthintegerOutput image width in pixels

No output schema declared.

No examples provided.

sky_view_sequence ~261

A time sequence of sky frames for an animation: the same place, aim, and lens stepped through time. Returns a compact per-frame timeline (instant, twilight, Sun/Moon altitude, Moon phase + bright-limb, whether the Milky Way is in frame) plus the fixed celestial pole and the sky's sidereal rotation per frame. Each frame's full pixel-accurate spec comes from calling sky_view at that instant; this tool plans the timeline. Use for sunset-to-night transitions, star-trail planning, or Moon-phase progressions.

NameTypeReqDescription
altitudenumberCenter altitude in degrees
azimuthnumber|stringyesCenter direction: degrees from true north or a compass name like "W"
bortleintegerDark-sky class 1-9
datestringFirst frame, UTC ISO date-time; omit for now
framesintegeryesNumber of frames (2-60)
heightinteger
latnumberyesLatitude, north positive
lensstring
lonnumberyesLongitude, EAST positive (Americas are negative)
step_minutesnumberyesMinutes between frames
widthinteger

No output schema declared.

No examples provided.

synastry ~137

Compare two people's birth charts: inter-chart aspects with orbs, house overlays both ways, plus ranked citable fact atoms and a ready `brief` (synastry/composite ids for auditCitations). Each person needs date+lat+lon. House overlays always use Placidus (not configurable here).

NameTypeReqDescription
aobjectyesPerson A birth data (UTC date, lat, lon)
bobjectyesPerson B birth data (UTC date, lat, lon)
orbnumberMax orb in degrees
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

synthetic_positions ~166

Positions of every body in an authored synthetic system at one instant. Three body modes: `placement` (fixed longitude), `periodic` (uniform motion), `kepler` (constant elements). With `observer` set on the system, positions are geocentric/apparent from that body (outer bodies can show retrograde). Pass `t_days` for abstract day units, or `date` (UT ISO) when body `epoch` values are Julian Days. Returns speed and retrograde per body.

NameTypeReqDescription
datestringUT instant as ISO 8601; used as t when t_days is omitted
systemobjectyes
t_daysnumberTime in the same day units as each body's periodDays/epoch (abstract world frame)

No output schema declared.

No examples provided.

synthetic_sky_view ~246

Sky View for a mix of real and synthetic bodies: register the authored system on an ephemeral engine, then frame the visible sky like sky_view. Synthetic bodies can carry render attributes (sizeDeg, magnitude, color) that flow into the pixel spec and prompt. Real Sun/Moon/planets stay for twilight and context unless omitted from `bodies`.

NameTypeReqDescription
altitudenumberCenter altitude in degrees
azimuthnumber|stringyesCenter direction: degrees from true north or a compass name
bodiesarrayBody ids to draw; defaults to Sun, Moon, planets, and every synthetic body
bortleinteger
datestringUTC ISO date-time; omit for now
elevation_mnumberEye height above ground in meters
heightinteger
include_starsbooleanInclude catalog stars (usually off for fictional skies)
latnumberyesLatitude, north positive
lensstring
lonnumberyesLongitude, EAST positive (Americas are negative)
systemobjectyes
widthinteger

No output schema declared.

No examples provided.

synthetic_validate ~64

Check an authored synthetic celestial system for ill-defined inputs: duplicate body ids, non-positive periods, out-of-range eccentricity, or a dangling observer. Returns `impossible` and a list of problems — the same honesty pattern as compileForm.

NameTypeReqDescription
systemobjectyes

No output schema declared.

No examples provided.

transits ~226

Transiting planets vs natal chart: aspects within orb (applying/separating), natal house per transiting body.

NameTypeReqDescription
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
house_systemstringHouse system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliase…
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)
orbnumberMax orb in degrees
transit_datestringUTC ISO date-time of transit moment (convert from local first); omit for now
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

vargas ~252

Parashari divisional charts (vargas): the sign of each of the seven planets and the Ascendant in the requested D-charts — D1 rasi, D2 hora, D3 drekkana, D9 navamsa, D10 dasamsa, D12 dwadasamsa, D30 trimsamsa. Per point in each chart: the divisional sign and the division number within the rasi. The navamsa (D9) is the most consulted after the rasi. Sidereal; Lahiri by default. Needs the birth time and place for the Ascendant.

NameTypeReqDescription
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
divisionsarraysubset of 1/2/3/9/10/12/30 (default all)
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)
zodiacstringsidereal ayanamsa (default sidereal:lahiri); these are sidereal techniques

No output schema declared.

No examples provided.

void_of_course ~123

Void-of-course Moon at a moment: whether the Moon makes no further Ptolemaic aspect to a traditional planet (Sun..Saturn) before it leaves its current sign. Returns the Moon's sign, the UTC time it exits that sign, and the UTC time of its next perfecting aspect (null when none remains -- i.e. void). Tropical by default.

NameTypeReqDescription
datestringUTC ISO date-time (convert from local first); omit for now
zodiacstringtropical (default) or sidereal:<ayanamsa>

No output schema declared.

No examples provided.

yogas ~259

Vedic yogas (planetary combinations) on the sidereal rasi chart: the five Pancha Mahapurusha yogas (Ruchaka, Bhadra, Hamsa, Malavya, Shasha), Gajakesari, Budha-Aditya, and Chandra-Mangala; whether Kemadruma (the isolated-Moon yoga) is present; the raja yogas (a kendra lord associating with a trikona lord) and dhana (wealth) yogas, each as the lord pair and how they associate (conjunction, aspect, or exchange); and the chart's yogakarakas (a planet ruling both a kendra and a trikona). Sidereal; Lahiri by default. Needs the birth time and place.

NameTypeReqDescription
datestringyesUTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first.
latnumberyesLatitude, north positive
lonnumberyesLongitude, EAST positive (Americas are negative)
zodiacstringsidereal ayanamsa (default sidereal:lahiri); these are sidereal techniques

No output schema declared.

No examples provided.