Skip to main content
Glama

Kundlit Vedic Astrology

Sade Sati (Saturn transit) status

get_sade_sati
Read-onlyIdempotent

Returns a person's Sade Sati status -- Saturn's roughly 7.5-year passage over the sign before, the same as, and the sign after their natal Moon: whether it is currently active, the phase (rising / peak / setting) with its start and end dates, the phases still to come, the natal Moon rashi, Saturn's sign now, and dhaiya (small panoti) status. Use this for 'when does my sade sati start/end' and 'am I in shani sade sati' questions. This is Saturn-only; for where ALL nine grahas are transiting now (and their houses from the natal Moon) call get_transits. Read-only deterministic computation (Swiss Ephemeris, Lahiri ayanamsa); no writes, no auth, at least 30 requests/min/IP per server instance, plus a shared engine budget of at least 60/min/IP across all engine-backed tools. Dates are computed, not predicted -- no interpretation of what the period will bring is returned.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
placeNoPlace as free text, "City, State, Country" -- e.g. "Jaipur, Rajasthan, India". Preferred input: it is geocoded to coordinates and an IANA timezone server-side, and any city worldwide works. Omit only if you pass latitude + longitude + timezone instead.
latitudeNoLatitude in decimal degrees, -90 to 90, north positive (Delhi = 28.6139). Use only when `place` is omitted, and then longitude and timezone are required too.
timezoneNoIANA timezone name, e.g. "Asia/Kolkata" or "America/New_York" (never an offset like "+05:30"). Required when latitude/longitude are used; ignored when `place` is given.
longitudeNoLongitude in decimal degrees, -180 to 180, east positive (Delhi = 77.2090). Use only when `place` is omitted.
as_of_dateNoEvaluate Saturn's position as of this date, YYYY-MM-DD, years 1200-2400. Omit for today. Use it to ask 'was I in sade sati in 2019' or 'will I be in 2031'.
birth_dateYesBirth date in the Gregorian calendar as YYYY-MM-DD, e.g. 1992-03-14. Years 1200-2400 only, and it must be a real calendar date (2023-02-29 is rejected).
birth_timeYesBirth time on the local clock at the birth place, HH:MM in 24-hour format (00:00-23:59), e.g. 06:45 or 18:20. Not UTC. Required and not defaulted: the ascendant moves about one degree every four minutes, so a guessed time gives a guessed chart.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • changedInput schema / properties / as_of_date / description
      Previous value: -"Evaluate the transit as of this date (YYYY-MM-DD, years 1200-2400 supported). Defaults to today."New value: +"Evaluate Saturn's position as of this date, YYYY-MM-DD, years 1200-2400. Omit for today. Use it to ask 'was I in sade sati in 2019' or 'will I be in 2031'."
    • changedInput schema / properties / birth_date / description
      Previous value: -"Birth date in the Gregorian calendar, YYYY-MM-DD. Years 1200-2400 are supported (real calendar dates only)."New value: +"Birth date in the Gregorian calendar as YYYY-MM-DD, e.g. 1992-03-14. Years 1200-2400 only, and it must be a real calendar date (2023-02-29 is rejected)."
    • changedInput schema / properties / birth_time / description
      Previous value: -"Local birth time, HH:MM in 24-hour format (00:00-23:59)."New value: +"Birth time on the local clock at the birth place, HH:MM in 24-hour format (00:00-23:59), e.g. 06:45 or 18:20. Not UTC. Required and not defaulted: the ascendant moves about one degree every four minutes, so a guessed time gives a guessed chart."
    • changedInput schema / properties / latitude / description
      Previous value: -"Latitude in decimal degrees. Use with longitude and timezone when place is not given."New value: +"Latitude in decimal degrees, -90 to 90, north positive (Delhi = 28.6139). Use only when `place` is omitted, and then longitude and timezone are required too."
    • changedInput schema / properties / longitude / description
      Previous value: -"Longitude in decimal degrees."New value: +"Longitude in decimal degrees, -180 to 180, east positive (Delhi = 77.2090). Use only when `place` is omitted."
    • changedInput schema / properties / place / description
      Previous value: -"Place as free text, e.g. \"Jaipur, Rajasthan, India\". Preferred: it is geocoded server-side. Any city worldwide works."New value: +"Place as free text, \"City, State, Country\" -- e.g. \"Jaipur, Rajasthan, India\". Preferred input: it is geocoded to coordinates and an IANA timezone server-side, and any city worldwide works. Omit only if you pass latitude + longitude + timezone instead."
    • changedInput schema / properties / timezone / description
      Previous value: -"IANA timezone, e.g. \"Asia/Kolkata\". Required when latitude/longitude are used."New value: +"IANA timezone name, e.g. \"Asia/Kolkata\" or \"America/New_York\" (never an offset like \"+05:30\"). Required when latitude/longitude are used; ignored when `place` is given."
  2. Changed3 schema fields changed
    • changedInput schema / properties / as_of_date / description
      Previous value: -"Evaluate the transit as of this date (YYYY-MM-DD). Defaults to today."New value: +"Evaluate the transit as of this date (YYYY-MM-DD, years 1200-2400 supported). Defaults to today."
    • changedInput schema / properties / birth_date / description
      Previous value: -"Birth date in the Gregorian calendar, YYYY-MM-DD."New value: +"Birth date in the Gregorian calendar, YYYY-MM-DD. Years 1200-2400 are supported (real calendar dates only)."
    • changedInput schema / properties / birth_time / description
      Previous value: -"Local birth time, HH:MM in 24-hour format."New value: +"Local birth time, HH:MM in 24-hour format (00:00-23:59)."
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already mark readOnly, openWorld, idempotent, non-destructive. The description adds rate limits (30/min/IP per instance, 60/min/IP shared), computation source (Swiss Ephemeris, Lahiri ayanamsa), and clarifies that dates are computed, not predicted, and no interpretation is returned. No contradictions.

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 description is slightly long but well-organized with front-loaded return details, followed by usage, then behavioral notes. Each sentence adds value; could be trimmed slightly but still efficient.

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?

Despite no output schema, the description fully explains the return values, the tool's scope, rate limits, and computational nature. It covers all necessary context for an agent to understand what to expect and how to use the tool.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline 3 applies. The description does not repeat parameter details but does not need to; the schema's parameter descriptions are already thorough.

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 clearly states the tool returns Sade Sati status and lists specific outputs (phase, dates, etc.). It distinguishes from the sibling tool get_transits by specifying this is Saturn-only, which helps the agent choose correctly.

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?

Explicitly provides usage scenarios: 'when does my sade sati start/end' and 'am I in shani sade sadi'. Also gives a clear alternative: for all grahas, use get_transits.

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.