Skip to main content

Yogas

asterwise_get_yogas

Evaluates the natal chart for named classical yogas. Each hit returns its category, formation text, the classical texts it is drawn from (classical_sources), a modern summary, and keywords.

Parameters​

ParameterTypeRequiredDescription
birthobjectyesBirth data for a single person. Required fields: date, lat, lon. Optional fields: time, person_name, timezone, ayanamsa.
response_formatenum: markdown, jsonnoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.

What it covers​

Detects an open-ended set of named yogas and emits the data.yogas[] list. Every rule follows a cited verse (classical_sources) and the platform rules: conjunction is the same sign, benefic/malefic follows Parashara (Mercury joined by a malefic and a waning Moon are malefic), Raj / Dharma / Dhana pairs need exchange, conjunction or MUTUAL aspect (one label per pair; '↔' only for two-way relations), a combust or war-losing planet adds a qualifier such as ' [combust: Mercury]' instead of removing the yoga, special wealth combinations read 'Dhana Yoga (combination 41.N)', and a flank of the Sun holding both a benefic and a malefic adds ' (mixed)'; categories include raja_yogas, dhana_yogas, pancha_mahapurusha, chandra_yogas, surya_yogas, kartari_yogas, amala_yogas, or unknown while metadata is pending. House lords are by whole sign from the lagna; aspect-based yogas use full Parashari graha drishti only (BPHS Ch.26). Viparita follows Phaladeepika (dusthana lord in 6/8/12). Amala = natural benefic in the 10th from Lagna or Moon. House lords are whole sign from the lagna, so lordship yogas are also returned at polar latitudes. It does not return the Graha Drishti matrix (see asterwise_get_natal_chart data.graha_drishti), Shadbala scores, or divisional charts. New yogas may appear without API versioning.

Workflow​

BEFORE: RECOMMENDED — asterwise_get_natal_chart — same birth tuple should be understood before interpreting yoga names.
AFTER: asterwise_get_doshas — complementary affliction scan on the same chart.

Input​

BirthData follows the global contract. Unknown birth time: omit time (a sunrise chart is cast and birth_time_provided=false); never pass time='00:00' for unknown, which is read as midnight. House-based yogas are then approximate.

Output contract​

data.yogas[] — each object:
yoga_name (string)
category (string — 'raja_yogas', 'dhana_yogas', 'pancha_mahapurusha', 'chandra_yogas', 'surya_yogas', 'kartari_yogas', 'amala_yogas', or 'unknown' while metadata is pending)
formation (string — empty when yoga has no JSON entry yet)
modern_summary (string)
keywords[] (string array)
classical_sources[] — { text (string), section (string or null — topic, not an edition-dependent chapter number) }
needs_birth_time (bool — true when the yoga depends on the lagna and no birth time was given)
data.birth_time_provided (bool)

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.

Compute class​

MEDIUM_COMPUTE

Errors​

INVALID_PARAMS (local — caught before upstream call):
None — all validation is upstream.

INVALID_PARAMS (upstream):
— Dates before 1800 or after 2100 → MCP INTERNAL_ERROR at the tool layer.

INTERNAL_ERROR:
— Any upstream API failure or timeout → MCP INTERNAL_ERROR

Edge cases:
— Graha Drishti lives only on asterwise_get_natal_chart, not in data.yogas[].

Do not confuse with​

asterwise_get_natal_chart — supplies graha_drishti and base chart rows, not the yoga catalogue.
asterwise_get_panchanga — Panchanga yoga (Sun+Moon sum) is unrelated to these natal yogas.

Connect​

Remote MCP endpoint: https://mcp.asterwise.com/mcp. Authenticate with Authorization: Bearer <API key> or OAuth. See the MCP setup guide.