Skip to main content
Glama

AstroNest — Vedic Astrology & Ephemeris

Life-area timeline

get_domain_timeline
Read-onlyIdempotent

Use this when the user asks about one area of life — when marriage, children, career, money, property or another area is in focus, or what a given stretch of years holds for it. One life area across the whole life: the planets that govern it on this chart, every period that bears on it (past and future, with dates, ages and why that planet governs it), each marked primary when the area is in focus or also when the period only touches it, and what is in focus now and next, in plain words. Pass window to get only the periods that overlap a date range. It is the same reading as the whole-life reading, cut to one area, so the two never disagree. Health is read only as periods to give extra care, never as illness or lifespan. Deterministic: no language model is called. The birth time is required. Cost: 3 credits per call (only successful calls are charged; a sandbox key is free and returns a fixed sample). Deterministic: the same input always gives the same answer. Example arguments: {"birthData":{"date":"1990-05-12","time":"14:35","timezone":"Asia/Kolkata","latitude":28.6139,"longitude":77.209},"area":"relationship","window":{"from":"2026-01-01","to":"2031-12-31"}}

Input Schema

NameRequiredDescriptionDefault
areaYesThe life area.
windowNoOptional: only periods overlapping this date range (YYYY-MM-DD). Default: the whole life.
birthDataYesThe person's birth data. The time is required: every period depends on the rising sign.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / $defs / DomainTimelineResponse / allOf
      Previous value: -[
      -  {
      -    "$ref": "#/$defs/Envelope"
      -  },
      -  {
      -    "properties": {
      -      "area": {
      -        "description": "The life area: what governs it, and every period (within the window, if one was given).",
      -        "properties": {
      -          "about": {
      -            "type": "string"
      -          },
      -          "governedBy": {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "key": {
      -            "type": "string"
      -          },
      -          "label": {
      -            "type": "string"
      -          },
      -          "next": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "now": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "periods": {
      -            "items": {
      -              "properties": {
      -                "ageFrom": {
      -                  "type": "integer"
      -                },
      -                "ageTo": {
      -                  "type": "integer"
      -                },
      -                "because": {
      -                  "description": "Why this planet governs the area on this chart, e.g. \"lord of the 7th\".",
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "chain": {
      -                  "description": "Mahādaśā / antardaśā, e.g. \"Saturn / Venus\".",
      -                  "type": "string"
      -                },
      -                "focus": {
      -                  "description": "primary: the area is in focus (the period lord rules or occupies the area's primary house, or is its kāraka; a node acts for its sign lord). also: the period only touches the area through a wider significator. `now`, `next` and the summary use primary periods only.",
      -                  "enum": [
      -                    "primary",
      -                    "also"
      -                  ],
      -                  "type": "string"
      -                },
      -                "from": {
      -                  "type": "string"
      -                },
      -                "lord": {
      -                  "type": "string"
      -                },
      -                "past": {
      -                  "type": "boolean"
      -                },
      -                "runningNow": {
      -                  "type": "boolean"
      -                },
      -                "to": {
      -                  "type": "string"
      -                },
      -                "words": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "shownFromAge": {
      -            "description": "Periods before this age are not shown for the area.",
      -            "type": "integer"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "domain": {
      -        "const": "domain_timeline",
      -        "type": "string"
      -      },
      -      "window": {
      -        "description": "The window asked for, or null for the whole life.",
      -        "properties": {
      -          "from": {
      -            "type": "string"
      -          },
      -          "to": {
      -            "type": "string"
      -          }
      -        },
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "area"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "$ref": "#/$defs/Envelope"
      +  },
      +  {
      +    "properties": {
      +      "area": {
      +        "description": "The life area: what governs it, and every period (within the window, if one was given).",
      +        "properties": {
      +          "about": {
      +            "type": "string"
      +          },
      +          "governedBy": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "key": {
      +            "type": "string"
      +          },
      +          "label": {
      +            "type": "string"
      +          },
      +          "next": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "now": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "periods": {
      +            "items": {
      +              "properties": {
      +                "ageFrom": {
      +                  "type": "integer"
      +                },
      +                "ageTo": {
      +                  "type": "integer"
      +                },
      +                "because": {
      +                  "description": "Why this planet governs the area on this chart, e.g. \"lord of the 7th\".",
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "care": {
      +                  "description": "Health only, in-focus periods only: the body areas the tradition links to the period and the matching check-up. Not repeated in `words`.",
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "chain": {
      +                  "description": "Mahādaśā / antardaśā, e.g. \"Saturn / Venus\".",
      +                  "type": "string"
      +                },
      +                "classical": {
      +                  "description": "The classical grounds behind the period, in plain words: the chapter (mahādaśā) lord, the period lord's nakṣatra (star) lord and its full aspect, where they bear on this area. Not repeated in `words`.",
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "focus": {
      +                  "description": "primary: the area is in focus (the period lord rules or occupies the area's primary house, or is its kāraka; a node acts for its sign lord). also: the period only touches the area through a wider significator. `now`, `next` and the summary use primary periods only.",
      +                  "enum": [
      +                    "primary",
      +                    "also"
      +                  ],
      +                  "type": "string"
      +                },
      +                "from": {
      +                  "type": "string"
      +                },
      +                "lord": {
      +                  "type": "string"
      +                },
      +                "past": {
      +                  "type": "boolean"
      +                },
      +                "runningNow": {
      +                  "type": "boolean"
      +                },
      +                "to": {
      +                  "type": "string"
      +                },
      +                "words": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "shownFromAge": {
      +            "description": "Periods before this age are not shown for the area.",
      +            "type": "integer"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "domain": {
      +        "const": "domain_timeline",
      +        "type": "string"
      +      },
      +      "window": {
      +        "description": "The window asked for, or null for the whole life.",
      +        "properties": {
      +          "from": {
      +            "type": "string"
      +          },
      +          "to": {
      +            "type": "string"
      +          }
      +        },
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "area"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed1 schema field changed
    • changedOutput schema / $defs / DomainTimelineResponse / allOf
      Previous value: -[
      -  {
      -    "$ref": "#/$defs/Envelope"
      -  },
      -  {
      -    "properties": {
      -      "area": {
      -        "description": "The life area: what governs it, and every period (within the window, if one was given).",
      -        "properties": {
      -          "about": {
      -            "type": "string"
      -          },
      -          "governedBy": {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "key": {
      -            "type": "string"
      -          },
      -          "label": {
      -            "type": "string"
      -          },
      -          "next": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "now": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "periods": {
      -            "items": {
      -              "properties": {
      -                "ageFrom": {
      -                  "type": "integer"
      -                },
      -                "ageTo": {
      -                  "type": "integer"
      -                },
      -                "because": {
      -                  "description": "Why this planet governs the area on this chart, e.g. \"lord of the 7th\".",
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "chain": {
      -                  "description": "Mahādaśā / antardaśā, e.g. \"Saturn / Venus\".",
      -                  "type": "string"
      -                },
      -                "from": {
      -                  "type": "string"
      -                },
      -                "lord": {
      -                  "type": "string"
      -                },
      -                "past": {
      -                  "type": "boolean"
      -                },
      -                "runningNow": {
      -                  "type": "boolean"
      -                },
      -                "to": {
      -                  "type": "string"
      -                },
      -                "words": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "shownFromAge": {
      -            "description": "Periods before this age are not shown for the area.",
      -            "type": "integer"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "domain": {
      -        "const": "domain_timeline",
      -        "type": "string"
      -      },
      -      "window": {
      -        "description": "The window asked for, or null for the whole life.",
      -        "properties": {
      -          "from": {
      -            "type": "string"
      -          },
      -          "to": {
      -            "type": "string"
      -          }
      -        },
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "area"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "$ref": "#/$defs/Envelope"
      +  },
      +  {
      +    "properties": {
      +      "area": {
      +        "description": "The life area: what governs it, and every period (within the window, if one was given).",
      +        "properties": {
      +          "about": {
      +            "type": "string"
      +          },
      +          "governedBy": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "key": {
      +            "type": "string"
      +          },
      +          "label": {
      +            "type": "string"
      +          },
      +          "next": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "now": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "periods": {
      +            "items": {
      +              "properties": {
      +                "ageFrom": {
      +                  "type": "integer"
      +                },
      +                "ageTo": {
      +                  "type": "integer"
      +                },
      +                "because": {
      +                  "description": "Why this planet governs the area on this chart, e.g. \"lord of the 7th\".",
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "chain": {
      +                  "description": "Mahādaśā / antardaśā, e.g. \"Saturn / Venus\".",
      +                  "type": "string"
      +                },
      +                "focus": {
      +                  "description": "primary: the area is in focus (the period lord rules or occupies the area's primary house, or is its kāraka; a node acts for its sign lord). also: the period only touches the area through a wider significator. `now`, `next` and the summary use primary periods only.",
      +                  "enum": [
      +                    "primary",
      +                    "also"
      +                  ],
      +                  "type": "string"
      +                },
      +                "from": {
      +                  "type": "string"
      +                },
      +                "lord": {
      +                  "type": "string"
      +                },
      +                "past": {
      +                  "type": "boolean"
      +                },
      +                "runningNow": {
      +                  "type": "boolean"
      +                },
      +                "to": {
      +                  "type": "string"
      +                },
      +                "words": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "shownFromAge": {
      +            "description": "Periods before this age are not shown for the area.",
      +            "type": "integer"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "domain": {
      +        "const": "domain_timeline",
      +        "type": "string"
      +      },
      +      "window": {
      +        "description": "The window asked for, or null for the whole life.",
      +        "properties": {
      +          "from": {
      +            "type": "string"
      +          },
      +          "to": {
      +            "type": "string"
      +          }
      +        },
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "area"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent/deterministic safety, and the description adds genuinely new behavioral facts: cost of 3 credits per call, charging only on success, a free sandbox key returning a fixed sample, that no language model is invoked, and the health-read boundary (periods for extra care, never illness or lifespan). No contradiction with annotations; the cost and health caveats go well beyond structured fields.

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 triggering scenario, then output shape, then parameters, cost and example — a sensible ordering with little waste. Slightly padded by stating determinism twice ('no language model is called' and 'the same input always gives the same answer'), which is also partly redundant with idempotentHint.

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?

With an output schema present, the description need not detail return values, and it still summarizes them; annotations cover the safety profile; and all three parameters are documented in the schema plus reinforced in prose. Determinism, cost, health caveat and an example call close the remaining gaps for a callable tool.

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 description coverage is 100%, so the baseline is 3, but the description adds meaning: `window` is framed as 'only the periods that overlap a date range,' the birth time requirement is emphasized ('The birth time is required'), and a full example argument object shows correct nesting of birthData/area/window. That said, it does not explain the distinguishing semantics of the 11 enum areas.

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+resource (a timeline for one life area) and scopes it precisely: 'one life area across the whole life.' It explicitly differentiates from the whole-life sibling by saying it is 'the same reading as the whole-life reading, cut to one area, so the two never disagree.' An agent can route between get_domain_timeline and get_life_reading without opening either schema.

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?

Gives a clear triggering condition ('when the user asks about one area of life — marriage, children, career, money, property') and contrasts the whole-life reading as the alternative, plus notes `window` for narrowing to a range. It stops short of naming sibling tools explicitly (e.g. get_life_reading, interpret_domain), leaving that inference to the agent.

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.