Skip to main content
Glama

AstroCalc: Vedic astrology

Kundli milan: how well two people match for marriage (36 gunas)

kundli_milan
Read-onlyIdempotent

Checks how well two people match for marriage in the Indian (Vedic) tradition, from both people's birth details: a score out of 36 with what each of its eight parts means, and whether either person has the Mars placement (Manglik) that families often ask about. Useful when the user is thinking about marriage or a relationship, weighing a proposal or a rishta, or their family has asked for a kundli match: "match my kundli with hers", "kundli milan", "guna milan", "how many gunas match", "kundli milao", "kitne gun milte hain", "rishta aaya hai, kundli match karo", Manglik, Nadi or Bhakoot dosha. Computed by AstroCalc's engine. Returns the Ashtakoota total and band, all 8 kootas (Varna, Vashya, Tara, Yoni, Graha Maitri, Gana, Bhakoot, Nadi) with points and a plain-language meaning, which doshas are cancelled by classical exceptions, each person's Manglik status and the pair verdict, a caveat, and a link to the full free report. Each person needs a birth date and place; time is optional. Details are used in memory only and not stored. The score is one traditional input, not a decision about a relationship.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "person_a": "<person_a>",
      "person_b": "<person_b>"
    },
    "name": "kundli_milan"
  }
}

Input Schema

NameRequiredDescriptionDefault
langNoLanguage of the text fields: 'en' (English, default) or 'hi' (Hindi).
person_aYesBirth details of the first person.
person_bYesBirth details of the second person.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / person_a / properties / time / description
      Previous value: -"Local clock time of birth, 24-hour HH:MM (e.g. '06:45', '21:10'). Use 'unknown' (or omit) if not known: noon is used, the Moon sign stays reliable but the Lagna is approximate."New value: +"Local clock time of birth, 24-hour HH:MM (e.g. '06:45', '21:10'); '6:45 am' / '9:10 PM' also work. Use 'unknown' (or omit) if not known: noon is used, the Moon sign stays reliable but the Lagna is approximate."
    • changedInput schema / properties / person_a / properties / time / pattern
      Previous value: -"^(([01]\\d|2[0-3]):[0-5]\\d|unknown)$"New value: +"^(([01]?\\d|2[0-3]):[0-5]\\d|(0?[1-9]|1[0-2]):[0-5]\\d ?[AaPp][Mm]|unknown)$"
    • changedInput schema / properties / person_b / properties / time / description
      Previous value: -"Local clock time of birth, 24-hour HH:MM (e.g. '06:45', '21:10'). Use 'unknown' (or omit) if not known: noon is used, the Moon sign stays reliable but the Lagna is approximate."New value: +"Local clock time of birth, 24-hour HH:MM (e.g. '06:45', '21:10'); '6:45 am' / '9:10 PM' also work. Use 'unknown' (or omit) if not known: noon is used, the Moon sign stays reliable but the Lagna is approximate."
    • changedInput schema / properties / person_b / properties / time / pattern
      Previous value: -"^(([01]\\d|2[0-3]):[0-5]\\d|unknown)$"New value: +"^(([01]?\\d|2[0-3]):[0-5]\\d|(0?[1-9]|1[0-2]):[0-5]\\d ?[AaPp][Mm]|unknown)$"
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds real value beyond them: the AstroCalc engine as source, in-memory-only handling with no storage, the noon fallback when birth time is unknown, and an explicit caveat that the score is one traditional input rather than a verdict. It does not discuss latency or failure modes, keeping it below 5.

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 purpose, then usage triggers, then return contents and caveats in a logical order. The long enumeration of Hindi/English trigger phrases is dense but functional; a few clauses could be trimmed without loss.

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 no output schema, the description fully enumerates the return payload (Ashtakoota total and band, all 8 kootas with points and meanings, cancelled doshas, per-person Manglik status, caveat, report link). For a nested two-person input tool, nothing an agent needs to call it correctly is missing.

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 the schema already documents date, time, place, lat/lon and gender in detail. The description only restates that each person needs a date and place with time optional, adding no format or edge-case meaning beyond the schema. 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 and resource ('checks how well two people match for marriage') plus the domain (Vedic, 36 gunas) and the exact output shape (8 kootas, Manglik status). It is clearly distinguishable from siblings like compare_family or match_my_profiles, which are not about marriage matching.

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 concrete triggering contexts (weighing a proposal, family asking for a match) and a rich set of example utterances in English and Hindi, plus a pointer to search_place when the city is uncertain. It stops short of explicitly saying when to prefer a sibling tool instead, so it is not a full 5.

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