Skip to main content
Glama
astroway-mcp

astroway-mcp

Official
by astroway

Hindu calendar: lunar months, adhika and kshaya, eras

astroway_vedic_calendar_months
Read-onlyIdempotent

Calculate Vedic lunar months and sankrantis for a Gregorian year and location, including Adhika/Kshaya months, paksha names, and Shaka/Vikram Samvat eras.

Instructions

The lunar months touching the year: new moon, full moon, next new moon, the Sun's sidereal sign at the opening new moon, adhika (no sankranti inside) and kshaya (two), and the purnimanta names of both pakshas. Plus the twelve sankrantis with their local moments and the eras: Shaka and Vikram Samvat from Chaitra, Vikram Samvat from Kartika (Gujarat), the sixty-year samvatsara name. 2026 has Adhika Jyeshtha (17 May to 15 June).

[Group: Vedic] [Endpoint: POST /v1/vedic/calendar/months] [Required: year, latitude, longitude] [Cost: 50 credits (Tier 3)]

Input Schema

NameRequiredDescriptionDefault
yearYesGregorian year, 1900 to 2100. Entries are those whose date falls in this year.
ayanamsaNoSidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.
latitudeYesLatitude in decimal degrees, north positive. Between -66 and 66: further out the Sun does not rise on some days and a Hindu day has no start.
timezoneNoIANA zone name such as Asia/Kolkata, America/New_York or Europe/Kyiv, or auto (default) to look it up from the coordinates. Resolved day by day: each day is read on the offset that zone kept that day, so summer time is followed.
longitudeYesLongitude in decimal degrees, east positive.
ayanamsaIdNo
timezoneOffsetNoA fixed offset in hours instead of a zone, for the whole year. Ignored when timezone is sent.

Output Schema

NameRequiredDescriptionDefault
erasNo
ruleNo
yearNo
placeNo
adhikaNo
kshayaNo
monthsNo
sankrantisNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.6.1

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true and openWorldHint=false, so the safety and determinism profile is covered structurally. Beyond that the description adds genuine domain behavior — what 'adhika' (no sankranti inside) and 'kshaya' (two sankrantis) actually mean, which eras are computed, and a concrete worked example (Adhika Jyeshtha, 17 May–15 June 2026). It still says nothing about cost handling, failures, or the latitude limitation that constrains when a Hindu day has no start.

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

Conciseness3/5

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

It is compact, but it is a single long run-on clause chain whose front-loaded content is a list of returned fields rather than what the tool does. Given an output schema exists, enumerating every returned value in the description is padding that crowds out the guidance an agent actually needs.

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

Completeness3/5

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

Output schema presence means return values need not be explained, yet nearly the whole description is spent doing exactly that. The core call prerequisites (year, latitude, longitude) and the 50-credit Tier 3 cost are supplied by the metadata block rather than the prose, so nothing critical is missing, but the description does not help the agent choose this tool over its Vedic-calendar siblings.

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 coverage is 86%, so year, latitude, longitude, timezone and ayanamsa are already documented in the schema, and the baseline of 3 applies. The description adds no parameter meaning of its own — the mention of 'the Sun's sidereal sign' gestures at the ayanamsa parameter without explaining that ayanamsa selection changes that value.

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

Purpose4/5

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

The description makes clear this tool yields the Hindu lunar-month framework for a given Gregorian year — the months themselves, the twelve sankrantis, and the era/samvatsara labels. The resource is specific and the scope ('touching the year', 'twelve sankrantis') is identifiable. It does not, however, distinguish itself from nearby siblings such as astroway_vedic_calendar_regional_months or astroway_vedic_calendar_festivals, leaving the agent to infer the boundary.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance: nothing says to pick this over the regional-months, festivals, vrats, or ICS variants, and no prerequisite is stated beyond what the [Required] tag already supplies. The reader must infer usage from the returned-field list alone.

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

Deploy Server

Other Tools