Skip to main content
Glama

Birthstar Vedic Astrology MCP

rectify_birth_time

Test how much a recorded birth time can actually be narrowed, and against what.

Two modes:

* **No events** — scans the uncertainty window and reports how many
  genuinely distinct charts it contains, what differs between them, and
  what does not. Use this FIRST to find out whether rectification is even
  worth attempting.
* **With events** — scores each candidate against dated life events and
  checks the result against a null model of randomised dates.

This tool does NOT return "your real birth time is X", and you should not
present it that way. The unit of the answer is the **variant** — a group of
minutes producing an identical chart structure. Preferring one minute over
its neighbour inside a variant is fitting arithmetic, not evidence.

Read `verdict.usable` before quoting anything else. Fewer than three
independent, well-dated events fits the events rather than the birth time,
and the verdict will say so.

Args:
    dob, tob, tz, lat, lon: Birth data, as for create_chart. `tob` is the
        centre of the window, not an assertion.
    events: Dated life events, e.g.
        [{"date": "2015-06", "type": "job_change"},
         {"date": "2019-03", "type": "marriage"}].
        Dates may be YYYY-MM or YYYY-MM-DD. See `event_types` in the error
        response for the accepted vocabulary.
    half_width_minutes: Half-width of the uncertainty window (max 120).
    step_minutes: Candidate spacing in minutes.
    ayanamsha: Sidereal zero-point.

Costs one full chart computation per candidate, with a minimum of 20 per
call — a 30-minute window at 1-minute steps is 61 charts and takes a few
seconds. The floor means a very narrow window is not cheaper than one
considered call, which is deliberate: probing repeatedly is the wrong way
to use this. On the shared public demo a single call is capped at 61
candidates; the refusal names two smaller calls that fit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tzYes
dobYes
latYes
lonYes
tobYes
eventsNo
ayanamshaNolahiri
step_minutesNo
half_width_minutesNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses the variant-based answer semantics, the need to read verdict.usable first, the cost model (one chart per candidate, minimum 20, cap 61), and the deliberate design behind the minimum. This far exceeds basic expectations and prevents realistic misuse.

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?

The description is long, but every block earns its place: mode semantics, result interpretation, cost model, and parameters are clearly organized with headers. The most important conceptual warning — that the answer unit is the variant — is front-loaded before argument details.

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?

For a tool with no output schema, it explains the key output field verdict.usable and the verdict behavior under few events, and it points to the error response for event_types. However, it does not fully enumerate the response shape beyond verdict.usable, so an agent may still need to discover some result fields at runtime.

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

Parameters5/5

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

Schema coverage is 0%, but the Args block explains every parameter: birth data is 'as for create_chart', tob is described as the window center rather than an assertion, events includes both format and example, half_width_minutes is constrained to max 120, and ayanamsha is defined as a sidereal zero-point. It also connects step_minutes and half_width_minutes to computational cost.

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 opens with a specific verb and resource ('Test how much a recorded birth time can actually be narrowed') and immediately distinguishes two modes. It also states what the tool does NOT return ('your real birth time is X'), sharply separating it from typical chart-calculation siblings.

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?

It explicitly says to use the no-events mode FIRST to decide whether rectification is worth attempting, warns that fewer than three events fits the events rather than the birth time, and cautions that probing repeatedly is the wrong way to use the tool. This is concrete, actionable selection and usage 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.

TDQS

A4.1/5.0
Disambiguation5/5

Every tool targets a distinct astrological subsystem — positions, houses, aspects, strengths, dashas, transits, yogas, doshas, vargas, karakas, etc. The pairs that could plausibly be confused (calculate_birth_star vs create_chart, get_current_dasha vs get_dasha_periods, get_timeline vs get_transits) are explicitly cross-referenced with guidance on when to use which, so an agent can disambiguate reliably.

Naming Consistency4/5

24 of 30 tools follow a uniform get_X pattern, and the remaining action tools (create_chart, calculate_birth_star, describe_chart, rectify_birth_time) still use verb_noun. Only health_check and server_stats break the pattern as noun-style names, and the different verbs reflect genuinely different actions rather than inconsistency.

Tool Count3/5

30 tools is on the heavy side and exceeds the comfortable range, even though Vedic astrology is a genuinely broad domain with many distinct subsystems. Some tools are meta or adjacent (get_account_status, health_check, server_stats, get_prompt_library, get_numerology) and a couple could arguably be consolidated (get_current_dasha as a mode of get_dasha_periods), but each tool does carve out a distinct purpose.

Completeness5/5

The chart lifecycle is fully covered: create_chart produces a cached handle, describe_chart inventories it, and the get_* readers retrieve every section. Timing (dashas, transits, timeline), strengths (shadbala, vimsopaka), yogas, doshas, vargas, compatibility, rectification, and even meta-concerns (account status, health) are all present with no obvious dead ends or missing operations for a computation-cache domain.

Resources