Skip to main content
Glama

Ayurveda MCP Server by RoxyAPI

Dinacharya daily routine - Brahma muhurta and dosha clock API

post_ayurveda_dinacharya
Read-only

Compute the dinacharya daily routine for one date and one place: sunrise, sunset, the brahma muhurta window, and the six dosha periods of the day and the night. The default division cuts the actual day and the actual night into thirds, which is what the frame chapter states, and the modern clock grid is returned alongside it under its own label so a caller can show either. The brahma muhurta is a fixed window of 96 to 48 minutes before sunrise rather than a share of the night, which is the reading the classical commentary settles on.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateYesThe local calendar date, in YYYY-MM-DD format. Sunrise and sunset are computed for this date at the given place, and the whole routine follows from them, so the answer changes through the year at any latitude away from the equator.
langNoResponse language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.en
compactNoSet true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.
latitudeYesLatitude in decimal degrees. It sets how long the day and the night actually are, which is the whole difference between this and a printed timetable: at 51 north in June the day runs about sixteen and a half hours and its thirds are five and a half hours each.
timezoneNoTimezone as an IANA name such as "Europe/London", or as decimal hours from UTC such as 5.5. An IANA name is resolved to the offset in force on the requested date, and on the clock-hour grid at the local hour each block opens, so on a daylight-saving change every block keeps its printed hour and one that falls in the skipped hour moves forward past it. It decides which local day is meant and, on the clock-hour grid, where the blocks fall. Defaults to 0.
longitudeYesLongitude in decimal degrees. It sets the clock time of sunrise at this place.
doshaClockNoHow the six dosha periods are cut. "sunrise-anchored" divides the actual day and the actual night at this place into thirds, which is the division the frame chapter states, and is the default. "clock-hours" is the modern grid of six four-hour blocks from six in the morning; no classical text assigns clock hours, and the grid is only exact at an equinox near the equator. Both sets are returned whichever is chosen, so a caller can show one and reconcile against the other.sunrise-anchored

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateYes
metaYes
sunsetYes
routineYes
sourcesYes
summaryYes
sunriseYes
conventionsYes
nextSunriseYes
doshaPeriodsYes
brahmaMuhurtaYes
alternatePeriodsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / timezone / description
      Previous value: -"Timezone as an IANA name such as \"Europe/London\", or as decimal hours from UTC such as 5.5. An IANA name is resolved to the offset in force on the requested date. It decides which local day is meant and, on the clock-hour grid, where the blocks fall. Defaults to 0."New value: +"Timezone as an IANA name such as \"Europe/London\", or as decimal hours from UTC such as 5.5. An IANA name is resolved to the offset in force on the requested date, and on the clock-hour grid at the local hour each block opens, so on a daylight-saving change every block keeps its printed hour and one that falls in the skipped hour moves forward past it. It decides which local day is meant and, on the clock-hour grid, where the blocks fall. Defaults to 0."
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "alternatePeriods": {
      +      "items": {
      +        "properties": {
      +          "dosha": {
      +            "type": "string"
      +          },
      +          "end": {
      +            "type": "string"
      +          },
      +          "span": {
      +            "type": "string"
      +          },
      +          "start": {
      +            "type": "string"
      +          },
      +          "third": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "dosha",
      +          "start",
      +          "end",
      +          "span"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "brahmaMuhurta": {
      +      "properties": {
      +        "end": {
      +          "type": "string"
      +        },
      +        "muhurtaMinutes": {
      +          "type": "number"
      +        },
      +        "muhurtasPerAhoratra": {
      +          "type": "number"
      +        },
      +        "source": {
      +          "properties": {
      +            "chapter": {
      +              "type": "string"
      +            },
      +            "note": {
      +              "type": "string"
      +            },
      +            "publicDomain": {
      +              "type": "boolean"
      +            },
      +            "text": {
      +              "type": "string"
      +            },
      +            "translation": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "verse": {
      +              "type": "string"
      +            },
      +            "year": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "text",
      +            "chapter",
      +            "verse",
      +            "translation",
      +            "year",
      +            "publicDomain"
      +          ],
      +          "type": "object"
      +        },
      +        "start": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "start",
      +        "end",
      +        "muhurtaMinutes",
      +        "muhurtasPerAhoratra",
      +        "source"
      +      ],
      +      "type": "object"
      +    },
      +    "conventions": {
      +      "properties": {
      +        "doshaClock": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "doshaClock"
      +      ],
      +      "type": "object"
      +    },
      +    "date": {
      +      "type": "string"
      +    },
      +    "doshaPeriods": {
      +      "items": {
      +        "properties": {
      +          "dosha": {
      +            "type": "string"
      +          },
      +          "end": {
      +            "type": "string"
      +          },
      +          "span": {
      +            "type": "string"
      +          },
      +          "start": {
      +            "type": "string"
      +          },
      +          "third": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "dosha",
      +          "start",
      +          "end",
      +          "span"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "meta": {
      +      "properties": {
      +        "disclaimer": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "disclaimer"
      +      ],
      +      "type": "object"
      +    },
      +    "nextSunrise": {
      +      "type": "string"
      +    },
      +    "routine": {
      +      "items": {
      +        "properties": {
      +          "guidance": {
      +            "type": "string"
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "order": {
      +            "type": "number"
      +          },
      +          "sanskritName": {
      +            "type": "string"
      +          },
      +          "source": {
      +            "properties": {
      +              "chapter": {
      +                "type": "string"
      +              },
      +              "note": {
      +                "type": "string"
      +              },
      +              "publicDomain": {
      +                "type": "boolean"
      +              },
      +              "text": {
      +                "type": "string"
      +              },
      +              "translation": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "verse": {
      +                "type": "string"
      +              },
      +              "year": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "text",
      +              "chapter",
      +              "verse",
      +              "translation",
      +              "year",
      +              "publicDomain"
      +            ],
      +            "type": "object"
      +          },
      +          "timing": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "order",
      +          "id",
      +          "sanskritName",
      +          "guidance",
      +          "timing",
      +          "source"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "sources": {
      +      "items": {
      +        "properties": {
      +          "chapter": {
      +            "type": "string"
      +          },
      +          "note": {
      +            "type": "string"
      +          },
      +          "publicDomain": {
      +            "type": "boolean"
      +          },
      +          "text": {
      +            "type": "string"
      +          },
      +          "translation": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "verse": {
      +            "type": "string"
      +          },
      +          "year": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "text",
      +          "chapter",
      +          "verse",
      +          "translation",
      +          "year",
      +          "publicDomain"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "summary": {
      +      "type": "string"
      +    },
      +    "sunrise": {
      +      "type": "string"
      +    },
      +    "sunset": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "date",
      +    "sunrise",
      +    "sunset",
      +    "nextSunrise",
      +    "brahmaMuhurta",
      +    "doshaPeriods",
      +    "alternatePeriods",
      +    "routine",
      +    "summary",
      +    "sources",
      +    "conventions",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish readOnly and non-destructive, so the bar is lower, and the description still adds real behavior: both the sunrise-anchored and clock-hours grids are returned regardless of the chosen enum value, and the brahma muhurta is a fixed pre-sunrise window rather than a night share. It does not discuss pagination or error behavior, but those are largely irrelevant for a pure computation.

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?

Three sentences, front-loaded with the verb and the deliverables, and each sentence carries a distinct point (outputs, dual-grid behavior, brahma muhurta reading). The classical-commentary justification is slightly ornamental but still informative.

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

Completeness4/5

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

With an output schema present, the description correctly avoids explaining return shapes, and with full schema coverage and readOnly annotations most burdens are carried elsewhere. It is complete enough to call correctly, though it never routes the agent against the sibling tools.

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 date, latitude, longitude, timezone, lang, compact, and doshaClock are all already documented in the schema. The description reinforces the doshaClock default rationale but adds no format or constraint detail beyond what the schema provides, so the 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?

States a specific verb (compute) and resource (dinacharya daily routine) and enumerates the concrete outputs: sunrise, sunset, brahma muhurta window, and the six dosha periods. An agent can distinguish this from the read-only get_ayurveda_daily family because it is explicitly a date-and-place computation rather than a lookup.

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

Usage Guidelines3/5

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

The description explains which doshaClock default is classical and why, which guides parameter choice, but it never states when to pick this tool over siblings like get_ayurveda_daily or post_ayurveda_ritucharya. Usage is implied by the output list rather than stated as routing guidance.

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