Skip to main content
Glama

Birthstar Vedic Astrology MCP

get_dasha_periods

Walk the dasha tree — list periods at any level, past or future.

Use this for "when does my next antardasha start", "what runs after this
mahadasha", "when was I in Jupiter". get_current_dasha only tells you what
is running now; this gives you the whole sequence.

Args:
    chart_id: Handle returned by create_chart.
    system: vimshottari (default), yogini, ashtottari, or chara_jaimini.
    within: Drill down by naming the enclosing lords, outermost first.
        None (default) lists the mahadashas. ["Sun"] lists the antardashas
        inside the Sun mahadasha. ["Sun", "Mercury"] lists the
        pratyantardashas inside that antardasha. Chara Jaimini is keyed by
        rashi name rather than graha.

Each period carries lord, ISO start/end, duration in years, and whether it
is the one currently running.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
systemNovimshottari
withinNo
chart_idYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations provided, the description carries the full transparency burden. It does well by disclosing the return shape ('Each period carries lord, ISO start/end, duration in years, and whether it is the one currently running') and the hierarchical traversal semantics, including a chara_jaimini quirk. It doesn't mention auth, rate limits, or explicit read-only status, but the operation is clearly a non-mutating list.

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

Conciseness4/5

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

The definition is well organized and front-loaded with purpose and usage, then a clear Args block. It is slightly longer than strictly necessary because the usage examples in the second paragraph partially repeat what the within parameter documentation later conveys, but every section still adds distinct value and nothing is wasted.

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?

For a 3-parameter tool with no output schema, the description is fully complete: it covers all supported systems, defaults, the drill-down behavior, the special chara_jaimini case, and the exact fields carried by each period. An agent has everything needed to format a correct call and understand the result structure.

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?

Schema description coverage is 0%, so the description compensates exceptionally. It explains chart_id as a handle returned by create_chart, enumerates all valid system values with their default, and fully explains the within hierarchy with concrete examples for None, ['Sun'], and ['Sun', 'Mercury'], plus the special chara_jaimini rashi-keyed caveat. This is far more valuable than the raw schema alone.

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 opens with a specific verb and resource: 'Walk the dasha tree — list periods at any level, past or future.' It clearly distinguishes itself from get_current_dasha by explaining that the sibling only tells you what is running now while this tool gives the whole sequence. This fully separates it from siblings in a single glance.

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

Usage Guidelines5/5

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

The description gives concrete user questions: 'when does my next antardasha start', 'what runs after this mahadasha', 'when was I in Jupiter'. It explicitly names the alternative get_current_dasha and explains the boundary between the two tools, which is exactly the when-to-use vs when-not-to-use guidance an agent needs.

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

A4.1/5.0
Disambiguation5/5

Every tool targets a distinct astrological subsystem — positions, houses, aspects, strengths, dashas, transits, yogas, doshas, vargas, karakas, etc. The pairs that could plausibly be confused (calculate_birth_star vs create_chart, get_current_dasha vs get_dasha_periods, get_timeline vs get_transits) are explicitly cross-referenced with guidance on when to use which, so an agent can disambiguate reliably.

Naming Consistency4/5

24 of 30 tools follow a uniform get_X pattern, and the remaining action tools (create_chart, calculate_birth_star, describe_chart, rectify_birth_time) still use verb_noun. Only health_check and server_stats break the pattern as noun-style names, and the different verbs reflect genuinely different actions rather than inconsistency.

Tool Count3/5

30 tools is on the heavy side and exceeds the comfortable range, even though Vedic astrology is a genuinely broad domain with many distinct subsystems. Some tools are meta or adjacent (get_account_status, health_check, server_stats, get_prompt_library, get_numerology) and a couple could arguably be consolidated (get_current_dasha as a mode of get_dasha_periods), but each tool does carve out a distinct purpose.

Completeness5/5

The chart lifecycle is fully covered: create_chart produces a cached handle, describe_chart inventories it, and the get_* readers retrieve every section. Timing (dashas, transits, timeline), strengths (shadbala, vimsopaka), yogas, doshas, vargas, compatibility, rectification, and even meta-concerns (account status, health) are all present with no obvious dead ends or missing operations for a computation-cache domain.

Resources