Skip to main content
Glama

Jyotish — Vedic astrology for AI agents

Hindu panchang for a place and date

get_panchang
Read-only

Use when a user asks about the Hindu calendar day for a location — tithi, paksha, nakshatra, yoga, karana, vara and its lord, sunrise and sunset, plus Rahu Kaal, Yamaganda, Gulika Kaal and the Choghadiya day/night windows. Needs only a place and a date, so it works without anyone's birth details. Deterministic computation, no LLM. Same compute path as GET /api/panchang.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tzYesUTC offset (e.g. 5.5) or IANA zone name (e.g. Asia/Kolkata).
latYesBirth latitude, -90 to 90.
lngYesBirth longitude, -180 to 180.
dateNoYYYY-MM-DD (default: local today at the location).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
varaNo
yogaNo
tithiNo
karanaNo
pakshaNo
sunsetNo
on_dateNo
sunriseNo
nakshatraNo
tithi_numNo
vara_lordNo
choghadiyaNo
inauspicious_windowsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / tz / description
      Previous value: -"UTC offset (e.g. 5.5) or IANA zone name (e.g. Asia/Kolkata). Required alongside lat/lng; ignored when `place` is used."New value: +"UTC offset (e.g. 5.5) or IANA zone name (e.g. Asia/Kolkata)."
  2. Changed1 schema field changed
    • changedInput schema / properties / tz / description
      Previous value: -"UTC offset (e.g. 5.5) or IANA zone name (e.g. Asia/Kolkata)."New value: +"UTC offset (e.g. 5.5) or IANA zone name (e.g. Asia/Kolkata). Required alongside lat/lng; ignored when `place` is used."
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "choghadiya": {
      +      "properties": {
      +        "day": {
      +          "items": {
      +            "properties": {
      +              "end": {
      +                "type": "string"
      +              },
      +              "name": {
      +                "type": "string"
      +              },
      +              "start": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "night": {
      +          "items": {
      +            "properties": {
      +              "end": {
      +                "type": "string"
      +              },
      +              "name": {
      +                "type": "string"
      +              },
      +              "start": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "inauspicious_windows": {
      +      "properties": {
      +        "gulikakaal": {
      +          "properties": {
      +            "end": {
      +              "type": "string"
      +            },
      +            "start": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "rahukaal": {
      +          "properties": {
      +            "end": {
      +              "type": "string"
      +            },
      +            "start": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "yamaganda": {
      +          "properties": {
      +            "end": {
      +              "type": "string"
      +            },
      +            "start": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "karana": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "nakshatra": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "on_date": {
      +      "type": "string"
      +    },
      +    "paksha": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "sunrise": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "sunset": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "tithi": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "tithi_num": {
      +      "type": "integer"
      +    },
      +    "vara": {
      +      "type": "string"
      +    },
      +    "vara_lord": {
      +      "type": "string"
      +    },
      +    "yoga": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  4. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly/non-destructive/openWorld=false, so safety is covered. The description adds genuinely new behavioral context beyond them: deterministic computation with no LLM, the fact that only place and date are required, and equivalence to GET /api/panchang.

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?

Front-loaded with the 'Use when' trigger, then the output inventory, then the input requirement. The long enumeration of computed fields is dense but each item is a distinct returnable quantity, so little is wasted; the trailing API-path sentence is the weakest.

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?

An output schema exists, so return shape needn't be explained, yet the description still tells the agent what the computation yields and that no birth data is needed. For a read-only, deterministic, single-purpose tool, nothing needed to invoke it correctly is missing.

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 the schema already documents lat, lng, tz and the date default. The description reinforces 'needs only a place and a date' and that birth details are unnecessary, but adds no syntax or format detail beyond the schema. Baseline 3 applies.

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 names a specific verb+resource ('Hindu calendar day for a location') and enumerates exactly what is computed (tithi, paksha, nakshatra, yoga, karana, vara, sunrise/sunset, Rahu Kaal, Choghadiya). An agent can distinguish it from get_chart_facts or get_dasha, which concern birth details rather than a calendar day.

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?

Explicit trigger is given ('Use when a user asks about the Hindu calendar day for a location'), plus the key disambiguator that it needs no birth details, which routes it away from the natal-chart siblings. It stops short of naming a specific alternative tool to prefer in an overlapping case, so not a 5.

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.

Resources