Skip to main content
Glama

Jagannatha Hora — Vedic Astrology (Jyotish, Kundli, Horoscope, Panchang)

Daśā Periods

get_dasha
Read-onlyIdempotent

Return a dasha (planetary period) timeline as a nested tree anchored on a date — past, present and future in ONE call. Works for BOTH planetary (graha) and sign (rasi) dasha systems; name the 'system' and the tool routes it automatically (default: vimsottari, anchored today, depth 3).

Every period node has the same shape: 'level' (maha/antar/pratyantar/sookshma), 'ruler' (planet for graha, sign for rasi), 'start', 'end' (YYYY-MM-DD) and 'relation' (past/current/future). The result carries 'dasha_type' ('graha'/'rasi'), 'system', 'as_of', 'depth', a ready-made 'current' summary (with a 'path' and 'current_period_ends'), the full 'maha_timeline', and the expanded 'current_maha' → 'current_antar' → 'current_pratyantar' branches (rasi systems have two levels, no pratyantar; level 4 'sookshma' is graha-only). To drill into a SPECIFIC period regardless of date, pass 'maha' (and optionally 'antar') as a ruler name — it returns under 'selected_maha'/'selected_antar'.

The full list of supported graha and rasi systems is the 'system' enum below. Set 'as_of_date' (YYYY-MM-DD, separate from birth 'date') to anchor on another time. Data only — no interpretation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format, e.g. 1985-06-15
mahaNoOptional ruler name (planet for graha, sign for rasi) to expand a SPECIFIC maha regardless of date, e.g. 'Saturn'. Returned under 'selected_maha'. If the ruler occurs more than once, the occurrence nearest 'as_of_date' is used.
timeYesBirth time in 24h HH:MM:SS format, e.g. 10:30:00
antarNoOptional ruler name of an antar to expand inside the maha named in 'maha' (graha systems). Returned under 'selected_antar'. Requires 'maha' to be set.
depthNoHow many levels to expand for the active branch: 1=maha, 2=+antar, 3=+pratyantar, 4=+sookshma. Defaults to 3 for graha systems and 2 for rasi. Level 4 (sookshma) applies to graha systems only.
placeNoOptional birth-place name (cosmetic only).
genderNoOptional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender.
systemNoDasha system to use — any planetary (graha) or sign (rasi) system. Send EXACTLY one enum token. Defaults to 'vimsottari'.
latitudeYesBirth-place latitude in decimal degrees, e.g. 13.0827
timezoneYesTimezone offset from UTC in hours, e.g. 5.5 for IST
longitudeYesBirth-place longitude in decimal degrees, e.g. 80.2707
as_of_dateNoAnchor date as YYYY-MM-DD. The tree is centred on the period active at this date. Defaults to today. (This is separate from the birth 'date'.)

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnly and idempotent annotations already covering safety, the description adds substantive behavioral detail: level availability differs by system ('rasi systems have two levels, no pratyantar; level 4 sookshma is graha-only'), and the call intentionally serves data without interpretation. This shapes expectations about returned structure and limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, then output shape, then parameter-specific behavior. It is long but dense; every sentence adds operational or structural detail that is not available elsewhere, and it avoids restating the schema's property descriptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by enumerating the result fields and node shape ('level', 'ruler', 'start', 'end', 'relation', 'current', 'maha_timeline', 'selected_maha'/'selected_antar'). It also covers defaults, system enum reference, and the as_of_date anchor, leaving no major gap for an agent to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the schema already describes each parameter, the description adds relational meaning: the system parameter 'routes it automatically', birth date is distinct from the anchor 'as_of_date', and maha/antar select a specific period regardless of date. These clarifications go beyond the isolated schema entries.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise verb ('Return') and resource ('dasha timeline as a nested tree anchored on a date'), and immediately distinguishes its scope: past, present and future in one call, for both graha and rasi systems. This makes it easy to differentiate from sibling astrology tools such as gochara or planetary states.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear operational context: default system, anchor, depth, and instructions for drilling into a specific period with 'maha'/'antar' or re-anchoring with 'as_of_date'. It does not name alternative sibling tools or explicit when-not-to-use conditions, only 'Data only — no interpretation' as a boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.8/5.0
Disambiguation3/5

Many tools form near-identical families—bala strengths (get_shad_bala, get_bhava_bala, get_other_bala, get_vaiseshikamsa_bala, get_vimsopaka_bala), arudhas (get_arudha_padas, get_graha_arudhas, get_chandra_arudhas, get_surya_arudhas), and transit snapshots (get_gochara, get_gochara_range, get_saturn_transit, get_muhurta). The detailed descriptions usually clarify, but an agent without deep Jyotish knowledge could easily select the wrong one, especially for vaiseshikamsa vs vimsopaka bala.

Naming Consistency4/5

The vast majority of tools use a clean get_<topic> snake_case pattern, such as get_dasha, get_muhurta, and get_yogas. The two outliers—generate_horoscope and list_divisional_charts—are still readable verb-noun names, so the inconsistency is minor.

Tool Count2/5

32 tools is above the 25+ threshold for too many. Many tools are variations on the same chart computations and could be consolidated into parameterized tools, such as a single bala strength tool with a bala_type argument. The high count will make tool selection harder for agents despite each tool covering a legitimate niche.

Completeness5/5

The surface is remarkably complete for Vedic astrology: chart generation, divisional charts, nakshatras, all major strength systems, dasha timelines, transits, muhurta, yogas, doshas, marriage matching, and specialized points are all present. There are no obvious dead ends for the core workflow of generating and analyzing a horoscope.

Resources