Skip to main content
Glama

Muhurta

asterwise_get_muhurta
Read-onlyIdempotent

Finds auspicious time windows for an activity between two dates (up to a year) at a location, with exact ISO start and end times. Activities: marriage, griha_pravesh, business, travel, naming_ceremony, vehicle_purchase, property_purchase, mundan, annaprashan, upanayana, vidyarambha. Applies each activity's nakshatra, tithi and weekday rules, seasonal bans (Chaturmas, Adhik Maas, Pitru Paksha, Kharmas, Holashtak, Guru/Shukra asta, Panchaka), and avoids Rahu Kaal, Yamaganda, Gulika, Durmuhurta, Varjyam and Bhadra; scores 0-100 with reasons, and excluded_minutes explains an empty result.

WORKFLOW: BEFORE: asterwise_geocode — when you only have a place name. AFTER: asterwise_get_panchanga — full timings for a chosen window's day.

INPUT CONTRACT: request.activity (enum above), request.from_date and request.to_date (YYYY-MM-DD, at most 366 days apart), request.lat, request.lon, request.timezone (IANA). Optional: top_n (1-50, default 5), max_windows_per_day (default 1, so results spread across dates), participants (up to two, each with nakshatra and optional moon_rashi, or birth_date, birth_time, birth_lat, birth_lon, birth_timezone).

DO NOT CONFUSE WITH: asterwise_get_choghadiya — the sixteen slots of one day, not a ranked search. asterwise_get_panchanga — one day's limbs and timings.

Full output and error contract: https://docs.asterwise.com/mcp/tools/get-muhurta/

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
requestYesMuhurta search parameters.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • removedInput schema / properties / activity
      Removed value: -{
      -  "description": "Activity to find an auspicious time for, e.g. 'marriage', 'travel', 'business opening'.",
      -  "type": "string"
      -}
    • removedInput schema / properties / from_date
      Removed value: -{
      -  "description": "Start of the search window for auspicious times, YYYY-MM-DD.",
      -  "type": "string"
      -}
    • removedInput schema / properties / location
      Removed value: -{
      -  "additionalProperties": false,
      -  "description": "For tools that need location but not birth time.",
      -  "properties": {
      -    "date": {
      -      "description": "Date in YYYY-MM-DD format",
      -      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      -      "type": "string"
      -    },
      -    "lat": {
      -      "description": "Latitude in decimal degrees",
      -      "maximum": 90,
      -      "minimum": -90,
      -      "type": "number"
      -    },
      -    "lon": {
      -      "description": "Longitude in decimal degrees",
      -      "maximum": 180,
      -      "minimum": -180,
      -      "type": "number"
      -    },
      -    "response_format": {
      -      "default": "markdown",
      -      "enum": [
      -        "markdown",
      -        "json"
      -      ],
      -      "type": "string"
      -    },
      -    "timezone": {
      -      "default": "Asia/Kolkata",
      -      "description": "IANA timezone for the location.",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "date",
      -    "lat",
      -    "lon"
      -  ],
      -  "type": "object"
      -}
    • addedInput schema / properties / request
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Muhurta search parameters.",
      +  "properties": {
      +    "activity": {
      +      "description": "Activity to find a muhurta for.",
      +      "enum": [
      +        "marriage",
      +        "griha_pravesh",
      +        "business",
      +        "travel",
      +        "naming_ceremony",
      +        "vehicle_purchase",
      +        "property_purchase",
      +        "mundan",
      +        "annaprashan",
      +        "upanayana",
      +        "vidyarambha"
      +      ],
      +      "type": "string"
      +    },
      +    "ayanamsa": {
      +      "default": "lahiri",
      +      "description": "Ayanamsa for nakshatra and lagna.",
      +      "enum": [
      +        "lahiri",
      +        "kp",
      +        "raman",
      +        "tropical"
      +      ],
      +      "type": "string"
      +    },
      +    "from_date": {
      +      "description": "Start of the search, YYYY-MM-DD (inclusive).",
      +      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +      "type": "string"
      +    },
      +    "lat": {
      +      "description": "Latitude in decimal degrees, north positive.",
      +      "maximum": 90,
      +      "minimum": -90,
      +      "type": "number"
      +    },
      +    "lon": {
      +      "description": "Longitude in decimal degrees, east positive.",
      +      "maximum": 180,
      +      "minimum": -180,
      +      "type": "number"
      +    },
      +    "max_windows_per_day": {
      +      "default": 1,
      +      "description": "At most this many windows per day, so results spread across dates.",
      +      "maximum": 10,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "participants": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "additionalProperties": false,
      +            "description": "A person whose Tarabala and Chandrabala must be favourable (e.g. bride or groom).",
      +            "properties": {
      +              "birth_date": {
      +                "anyOf": [
      +                  {
      +                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Birth date YYYY-MM-DD."
      +              },
      +              "birth_lat": {
      +                "anyOf": [
      +                  {
      +                    "maximum": 90,
      +                    "minimum": -90,
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Birth latitude."
      +              },
      +              "birth_lon": {
      +                "anyOf": [
      +                  {
      +                    "maximum": 180,
      +                    "minimum": -180,
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Birth longitude."
      +              },
      +              "birth_time": {
      +                "anyOf": [
      +                  {
      +                    "pattern": "^\\d{2}:\\d{2}$",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Birth time HH:MM (24h)."
      +              },
      +              "birth_timezone": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "IANA timezone of the birth place."
      +              },
      +              "label": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Name shown in the output, e.g. 'Bride'."
      +              },
      +              "moon_rashi": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Janma rashi (Moon sign), e.g. 'Vrishabha' or 'Taurus'. Optional with nakshatra."
      +              },
      +              "nakshatra": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Janma nakshatra name, e.g. 'Rohini'. Or give the birth fields instead."
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "maxItems": 2,
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Up to two people; adds Tarabala and Chandrabala (Naidhana or the 8th-house Moon rule a moment out)."
      +    },
      +    "response_format": {
      +      "default": "markdown",
      +      "enum": [
      +        "markdown",
      +        "json"
      +      ],
      +      "type": "string"
      +    },
      +    "timezone": {
      +      "default": "Asia/Kolkata",
      +      "description": "IANA timezone of the location.",
      +      "type": "string"
      +    },
      +    "to_date": {
      +      "description": "End of the search, YYYY-MM-DD (inclusive), at most 366 days after from_date.",
      +      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +      "type": "string"
      +    },
      +    "top_n": {
      +      "default": 5,
      +      "description": "Number of windows to return (1-50).",
      +      "maximum": 50,
      +      "minimum": 1,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "activity",
      +    "from_date",
      +    "to_date",
      +    "lat",
      +    "lon"
      +  ],
      +  "type": "object"
      +}
    • removedInput schema / properties / to_date
      Removed value: -{
      -  "description": "End of the search window for auspicious times, YYYY-MM-DD.",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "location",
      -  "activity",
      -  "from_date",
      -  "to_date"
      -]New value: +[
      +  "request"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / location / description
      Previous value: -"Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone."New value: +"For tools that need location but not birth time."
  3. Changed4 schema fields changed
    • addedInput schema / properties / activity / description
      Added value: +"Activity to find an auspicious time for, e.g. 'marriage', 'travel', 'business opening'."
    • addedInput schema / properties / from_date / description
      Added value: +"Start of the search window for auspicious times, YYYY-MM-DD."
    • changedInput schema / properties / location / description
      Previous value: -"For tools that need location but not birth time."New value: +"Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone."
    • addedInput schema / properties / to_date / description
      Added value: +"End of the search window for auspicious times, YYYY-MM-DD."
  4. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already establish that this is a read-only, idempotent, non-destructive, closed-world operation. Beyond that, the description discloses the actual computation behavior: which nakshatra, tithi, weekday, seasonal-ban, and inauspicious-period rules are applied, that results are scored 0-100 with reasons, and that excluded_minutes explains an empty result.

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

Conciseness5/5

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

Despite being detailed, the description is well structured with a front-loaded purpose sentence followed by WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE sections. For a tool with many nested parameters and close siblings, every section adds useful routing or contract information.

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?

The tool has an output schema, so the description need not document return values. It still covers scope, activity rules, required and optional inputs, workflow dependencies, sibling distinctions, scoring behavior, and empty-result behavior, making it complete enough for correct invocation.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds organizational clarity by separating required fields from optional ones and summarizing the participant alternatives, but it also omits some optional schema fields such as ayanamsa and response_format, and much of its input contract repeats schema descriptions.

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 first sentence gives a precise verb, resource, scope, and output format: it finds auspicious time windows for a named activity between two dates at a location, returning ISO start/end times. It explicitly lists supported activities and distinguishes itself from the closest siblings with a DO NOT CONFUSE section.

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 WORKFLOW section states when to call asterwise_geocode before this tool and asterwise_get_panchanga after it. The DO NOT CONFUSE section names the two most likely alternative tools and explains their different purposes, leaving no ambiguity about when to select this tool.

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