Koskamo

Jagannatha Hora MCP

An official Model Context Protocol server that connects AI assistants to Jagannatha Hora's Vedic astrology calculation engine. It allows agents to generate birth charts, analyze dashas, compute divisional charts, check marriage compatibility, and evaluate transits and yogas without requiring API keys.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Jagannatha Hora MCP logo, by Jagannatha HoraVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by Jagannatha Hora
MCP endpoint (Streamable HTTP)
https://jagannatha-hora-359167915530.europe-west1.run.app/mcp
Vendor documentation

What its tools do

34 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

34 of 34 have a description · 34 of 34 declare behavior hints · 33 of 33 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to jagannathahora.com ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Generate full horoscope and planetary positions from birth details
  • Calculate Vimshottari dashas for timing predictions
  • Analyze marriage compatibility using Kuta and Guna Milan
  • Find auspicious muhurtas based on planetary transits

Source and maintenance

Vendor evidenceRegistry 1.0.2

Protocol and capabilities

Server
Jagannatha Hora MCP Server 1.0.0
MCP protocol negotiated in check
2025-11-25
Tools
34 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Tools

34 advertised

generate_horoscope — Birth Chart Summary
Advertised by the server during the last successful anonymous check.
Advertised read-only

Generate a Vedic (sidereal) birth horoscope from birth date, time and place. Returns a summary (ascendant/lagna, Moon and Sun signs, birth nakshatras and padas); the Rashi (D-1) chart in 'rasi_chart' -- the ascendant and the nine grahas (Sun to Ketu), each with sign, degree within the sign, nakshatra and pada, plus the bhava house (equal 30° houses with the ascendant's degree at the middle of house 1, so a graha more than 15° from the ascendant's degree within its sign is one house off the plain sign count) and a retrograde flag for Mars to Saturn (these two only for the default house method and natal settings); the birth panchanga in 'calendar_info'; and the names of the other calculated sections. Call this first; later tools reuse the same cached chart for divisional charts, strengths, dashas and more. Data only -- no interpretation is added.

generate_horoscope input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
generate_horoscope annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_amsa_rulers — Amsa Rulers
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the amsa (fine sub-division) ruler for every point in the chart. Each entry maps a point to its 'sign', 'longitude', 'division_index', 'amsa_index' and 'amsa_name' (the named amsa it falls in, e.g. Dhanadaa, Sukhadaa). Points covered include the Ascendant and planets (Sun..Pluto), the upagrahas (Kaala, Mrityu, Gulika, Maandi, Dhooma, etc.), the special lagnas (Bhava, Hora, Ghati, Vighati, Pranapada, Indu, Sree, Kunda, Bhrigu Bindu), the varnada lagnas (Varnada_Lagna, V2–V12) and the sphutas (TriSphuta, Beeja_Sphuta, Tithi_Sphuta, Yogi_Sphuta, etc.). Data only — no interpretation is added.

get_amsa_rulers input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_amsa_rulers annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_arudha_padas — Arudha Padas
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the arudha padas (the perceived/reflected sign of each house) for the divisional charts. Each key is '<chart>-<pada name>' (e.g. 'D-1-Arudha Lagna (AL)', 'D-1-Dhanarudha (A2)', 'D-9-Upapada Lagna (UL)') and the value is the sign that pada falls in. The 12 padas per chart are Arudha Lagna (AL), Dhanarudha (A2), Bhatrarudha (A3), Matri Pada (A4), Mantra Pada (A5), Roga Pada (A6), Dara Pada (A7), Mrityu Pada (A8), Bhagya Pada (A9), Karma Pada (A10), Labha Pada (A11) and Upapada Lagna (UL). By default only the D-1 (Rasi) chart's 12 padas are returned. To get a different chart's 12 padas, set the optional 'varga' argument to EXACTLY one of these tokens (use this exact text, with the hyphen): D-1, D-2, D-3, D-4, D-5, D-6, D-7, D-8, D-9, D-10, D-11, D-12, D-16, D-20, D-24, D-27, D-30, D-40, D-45, D-60, D-81, D-108, D-144. Only one chart is returned per call. Data only — no interpretation is added.

get_arudha_padas input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "varga": {
      "enum": [
        "D-1",
        "D-2",
        "D-3",
        "D-4",
        "D-5",
        "D-6",
        "D-7",
        "D-8",
        "D-9",
        "D-10",
        "D-11",
        "D-12",
        "D-16",
        "D-20",
        "D-24",
        "D-27",
        "D-30",
        "D-40",
        "D-45",
        "D-60",
        "D-81",
        "D-108",
        "D-144"
      ],
      "type": "string",
      "description": "Optional. Send EXACTLY one enum token (e.g. 'D-1', 'D-9', 'D-10') to return only that chart's arudha padas. Omit to get the D-1 (Rasi) chart's arudha padas."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_arudha_padas annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_ashtakavarga — Aṣṭakavarga
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the Ashtakavarga bindu (benefic point) scores for the chart, labelled by planet and sign. 'binna_ashtaka_varga' (BAV) maps each of the Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn and the Ascendant to its bindu count in every sign (Aries..Pisces, 0-8 each). 'samudhaya_ashtaka_varga' (SAV) is the combined total per sign across the seven planets (sums to 337); higher SAV signs are stronger. 'sodhita_ashtaka_varga' (SoAV) is that same BAV after Trikona and Ekaadhipatya sodhana — the reduced grid the pindas are actually computed from — keyed by planet Sun..Saturn (7 rows; the Ascendant has no reduced row). 'raasi_pindas', 'graha_pindas' and 'sodhya_pindas' give per-planet pinda totals (sodhya = raasi + graha), keyed by planet Sun..Saturn. Data only — no interpretation is added. (The detailed prastara contributor grid is not included.)

get_ashtakavarga input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_ashtakavarga annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_bhava_bala — Bhāva Bala (House Strength)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the Bhava Bala (strength of the 12 houses/bhavas), labelled by house. Keys are 'House 1' through 'House 12' (House 1 = Lagna/Ascendant bhava). Each house maps to 'total_virupas' (total bhava strength in virupas/shashtiamsas), 'rupas' (virupas / 60) and 'strength_ratio' (rupas divided by the required minimum — above 1 means the house meets the strength threshold). A higher value means a stronger house. Data only — no interpretation is added.

get_bhava_bala input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_bhava_bala annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_chandra_arudhas — Chandra Arudhas (from Moon)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the chandra arudhas: the arudha sign for each of the 12 houses counted from the Moon (Chandra Lagna). Keys are 'chandra_arudha_house_1' through 'chandra_arudha_house_12'; each value is the zodiac sign of that house's arudha. Data only — no interpretation is added.

get_chandra_arudhas input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_chandra_arudhas annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_chara_karakas — Chara Karakas (Jaimini)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the eight Jaimini chara (variable) karakas. Each role maps to the planet assigned to it, with that planet's sign and longitude. Roles: 'atma_karaka' (soul/self), 'amatya_karaka' (career/advisor), 'bhratri_karaka' (siblings), 'maitri_karaka' (friends/happiness), 'pitri_karaka' (father), 'putra_karaka' (children), 'jnaati_karaka' (relatives/obstacles) and 'data_karaka' (spouse). Each value has 'planet', 'sign' and 'longitude'. Roles are assigned by descending planetary longitude. Data only — no interpretation is added.

get_chara_karakas input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_chara_karakas annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_dasha — Daśā Periods
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return a dasha (planetary period) timeline as a nested tree anchored on a date — past, present and future in ONE call. Works for BOTH planetary (graha) and sign (rasi) dasha systems; name the 'system' and the tool routes it automatically (default: vimsottari, anchored today, depth 3). Every period node has the same shape: 'level' (maha/antar/pratyantar/sookshma), 'ruler' (planet for graha, sign for rasi), 'start', 'end' (YYYY-MM-DD) and 'relation' (past/current/future). The result carries 'dasha_type' ('graha'/'rasi'), 'system', 'as_of', 'depth', a ready-made 'current' summary (with a 'path' and 'current_period_ends'), the full 'maha_timeline', and the expanded 'current_maha' → 'current_antar' → 'current_pratyantar' branches (rasi systems have two levels, no pratyantar; level 4 'sookshma' is graha-only). To drill into a SPECIFIC period regardless of date, pass 'maha' (and optionally 'antar') as a ruler name — it returns under 'selected_maha'/'selected_antar'. The full list of supported graha and rasi systems is the 'system' enum below. Set 'as_of_date' (YYYY-MM-DD, separate from birth 'date') to anchor on another time. Data only — no interpretation.

get_dasha input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "maha": {
      "type": "string",
      "description": "Optional ruler name (planet for graha, sign for rasi) to expand a SPECIFIC maha regardless of date, e.g. 'Saturn'. Returned under 'selected_maha'. If the ruler occurs more than once, the occurrence nearest 'as_of_date' is used."
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "antar": {
      "type": "string",
      "description": "Optional ruler name of an antar to expand inside the maha named in 'maha' (graha systems). Returned under 'selected_antar'. Requires 'maha' to be set."
    },
    "depth": {
      "type": "integer",
      "maximum": 4,
      "minimum": 1,
      "description": "How many levels to expand for the active branch: 1=maha, 2=+antar, 3=+pratyantar, 4=+sookshma. Defaults to 3 for graha systems and 2 for rasi. Level 4 (sookshma) applies to graha systems only."
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "system": {
      "enum": [
        "vimsottari",
        "ashtottari",
        "yogini",
        "shodasottari",
        "dwadasottari",
        "panchottari",
        "satabdika",
        "chaturaaseeti_sama",
        "shashtisama",
        "shattrimsa_sama",
        "dwisatpathi",
        "kaala",
        "buddhi_gathi",
        "naisargika",
        "aayu",
        "tara",
        "karaka",
        "tithi_ashtottari",
        "tithi_yogini",
        "karana_chaturaaseeti_sama",
        "saptharishi_nakshathra",
        "rasi_bhukthi_vimsottari",
        "yoga_vimsottari",
        "ashtaka_varga_planet",
        "ashtaka_varga_sign",
        "ashtaka_varga_pinda",
        "moola_graha",
        "rashmi",
        "narayana",
        "chara",
        "kendraadhi_rasi",
        "sudasa",
        "drig",
        "nirayana",
        "shoola",
        "kendraadhi_karaka",
        "lagnamsaka",
        "padhanadhamsa",
        "mandooka",
        "sthira",
        "tara_lagna",
        "brahma",
        "varnada",
        "yogardha",
        "navamsa",
        "paryaaya",
        "trikona",
        "kalachakra",
        "chakra",
        "sandhya_panchaka",
        "chathurvidha_utthara",
        "karaka_kendraadhi",
        "lagna_kendraadhi",
        "niryaana",
        "raashiyanka"
      ],
      "type": "string",
      "description": "Dasha system to use — any planetary (graha) or sign (rasi) system. Send EXACTLY one enum token. Defaults to 'vimsottari'."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    },
    "as_of_date": {
      "type": "string",
      "description": "Anchor date as YYYY-MM-DD. The tree is centred on the period active at this date. Defaults to today. (This is separate from the birth 'date'.)"
    }
  }
}
get_dasha annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_divisional_chart — Divisional Chart (Varga)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return ONE divisional (varga) chart for the birth. The response maps each body (Ascendant, Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu, Uranus, Neptune, Pluto) to its position in that chart as {'sign': <zodiac sign>, 'longitude': <degrees in sign 0-30>}. HOW TO REQUEST: set the 'varga' argument to EXACTLY ONE of these tokens (use this exact text, including the hyphen — do not send names like 'Rasi' or 'Navamsa'): D-1, D-2, D-3, D-4, D-5, D-6, D-7, D-8, D-9, D-10, D-11, D-12, D-16, D-20, D-24, D-27, D-30, D-40, D-45, D-60, D-81, D-108, D-144 If 'varga' is omitted, D-1 is returned. Pick the token by the area being asked about: D-1 general/body · D-2 wealth · D-3 siblings/courage · D-4 home/property · D-5 fame/power · D-6 health/enemies · D-7 children · D-8 longevity · D-9 marriage/dharma & overall strength · D-10 career · D-11 gains · D-12 parents · D-16 vehicles/luxuries · D-20 spirituality · D-24 education · D-27 general strength · D-30 misfortunes/character · D-40 maternal legacy · D-45 paternal legacy/conduct · D-60 past-life karma · D-81 finer marriage · D-108 finer/spiritual · D-144 lineage. If an unrecognised value is sent, the response returns the list of valid tokens. Data only — no interpretation is included. (Call 'list_divisional_charts' first if you want to browse the menu.)

get_divisional_chart input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "varga": {
      "enum": [
        "D-1",
        "D-2",
        "D-3",
        "D-4",
        "D-5",
        "D-6",
        "D-7",
        "D-8",
        "D-9",
        "D-10",
        "D-11",
        "D-12",
        "D-16",
        "D-20",
        "D-24",
        "D-27",
        "D-30",
        "D-40",
        "D-45",
        "D-60",
        "D-81",
        "D-108",
        "D-144"
      ],
      "type": "string",
      "description": "The divisional chart to return. Send EXACTLY one of the enum tokens, e.g. 'D-9' for marriage (navamsa) or 'D-10' for career (dasamsa). Defaults to 'D-1' if omitted."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_divisional_chart annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_doshas — Doshas
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the standard dosha (planetary affliction) checks for the chart. The result maps each dosha name to the engine's text on whether the combination is present in this horoscope and the reasoning behind it. Doshas covered: Kala Sarpa Dosha, Manglik Dosha, Pitru Dosha, Guru Chandala Dosha, Ganda Moola Dosha, Kalathra Dosha, Ghata Dosha and Shrapit Dosha. The text may contain light HTML markup (e.g. <br>). It is the engine's classical reference text for astrologer interpretation; some entries quote traditional outcome statements (for example about marriage) -- present those as classical sayings, not as predictions about this person.

get_doshas input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_doshas annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_gochara — Transit Snapshot (Gochara)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Planetary transit (Gochara) snapshot for a given date vs the natal chart. Returns that day's panchanga (vara, tithi+rikta, nakshatra, yoga, karana, paksha), muhurta windows (sunrise/sunset, Abhijit plus a clean Abhijit with Rahu/Gulika/Yamaganda overlap removed, and the avoid windows), all 9 planets (sign, degree, nakshatra/pada, retrograde, combust, house from Moon and Lagna, Ashtakavarga bindus, Gochara-phala favourable/Vedha), and the native's Tara Bala (Moon/Sun/Lagna), Chandra Bala and Sade Sati. Also returns the transit moment's D-1 (Rasi) and D-9 (Navamsa) charts under 'transit_charts' — each planet plus the Ascendant with sign and longitude. Rahu/Ketu use the Mean node by default; pass node_type='true' for True nodes. Data only — no verdict.

get_gochara input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone",
    "target_date"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "include": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Enrichment sections: 'ashtakavarga', 'gochara_phala', 'transit_charts' (default all three). Pass [] for lean."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    },
    "node_type": {
      "enum": [
        "mean",
        "true"
      ],
      "type": "string",
      "description": "Rahu/Ketu node: 'mean' (default) or 'true'."
    },
    "event_place": {
      "type": "string",
      "description": "Event place name (optional; defaults to birth place)"
    },
    "target_date": {
      "type": "string",
      "description": "Target date YYYY-MM-DD"
    },
    "target_time": {
      "type": "string",
      "description": "Target time HH:MM:SS (default local noon)"
    },
    "event_latitude": {
      "type": "number",
      "description": "Event latitude (optional)"
    },
    "event_timezone": {
      "type": "number",
      "description": "Event timezone offset from UTC (optional)"
    },
    "event_elevation": {
      "type": "number",
      "description": "Event elevation in metres (optional)"
    },
    "event_longitude": {
      "type": "number",
      "description": "Event longitude (optional)"
    }
  }
}
get_gochara annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_gochara_range — Transit Range (Gochara)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Raw transit (Gochara) details for EVERY day in a date range, in one call. For the 'AI decides' flow: returns the full per-day snapshot (panchanga, muhurta windows incl. clean Abhijit, all 9 planets, Ashtakavarga, Gochara-phala/Vedha, and the native's Tara/Chandra bala and Sade Sati) with NO scoring or 'best date' selection — you reason and decide. Natal reference computed once. Range capped at 60 days. Use get_muhurta instead if you want the system to rank dates by rules.

get_gochara_range input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone",
    "from_date",
    "to_date"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "include": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Enrichment sections (default all). Pass [] for lean per-day output."
    },
    "to_date": {
      "type": "string",
      "description": "Range end YYYY-MM-DD (max 60 days)"
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "from_date": {
      "type": "string",
      "description": "Range start YYYY-MM-DD"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    },
    "event_place": {
      "type": "string",
      "description": "Event place name (optional; defaults to birth place)"
    },
    "time_of_day": {
      "type": "string",
      "description": "Time used per day (default local noon)"
    },
    "event_latitude": {
      "type": "number",
      "description": "Event latitude (optional)"
    },
    "event_timezone": {
      "type": "number",
      "description": "Event timezone offset from UTC (optional)"
    },
    "event_elevation": {
      "type": "number",
      "description": "Event elevation in metres (optional)"
    },
    "event_longitude": {
      "type": "number",
      "description": "Event longitude (optional)"
    }
  }
}
get_gochara_range annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_graha_arudhas — Graha Arudhas
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the graha arudhas: the arudha (reflected/perceived) sign for the Ascendant and for each of the nine grahas. Keys are 'Ascendant_arudha', 'Sun_arudha', 'Moon_arudha', 'Mars_arudha', 'Mercury_arudha', 'Jupiter_arudha', 'Venus_arudha', 'Saturn_arudha', 'Rahu_arudha' and 'Ketu_arudha'; each value is the zodiac sign of that arudha. Data only — no interpretation is added.

get_graha_arudhas input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_graha_arudhas annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_house_varnadas — House Varnadas
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the varnada lagnas for the houses. Keys are 'V1', 'V2' … 'V12' (the varnada for each house); each value has its 'sign' and 'longitude'. Data only — no interpretation is added.

get_house_varnadas input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_house_varnadas annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_longevity — Longevity legacy availability
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the neutral unavailable section for the retired legacy longevity contract. Use get_longevity_reference for versioned natal reference data and explicit source coverage.

get_longevity input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_longevity annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_longevity_reference — Longevity source reference
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return schema 1 natal D1 longevity_reference with engine revision, effective basis, the bounded BPHS-43 preliminary three-pair method and HPA-XIV strict positional checks. Normally 8 of 20 checks are evaluated; 12 are not evaluated under this source profile. Each check is matched, not_matched, not_evaluated or unavailable, with explicit coverage. Unknown states are not absence. Matches, counts, preliminary classes and separate yoga names must not be interpreted as lifespan, death, effects or a combined assessment. Counteractions are not evaluated. No age estimate or verdict is provided.

get_longevity_reference input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_longevity_reference annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_marriage_match — Marriage Compatibility (Guṇa Milan)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Check Vedic marriage compatibility between a couple. Unlike the other tools, this needs TWO births: 'boy' and 'girl', each an object with date (YYYY-MM-DD), time (HH:MM:SS), latitude, longitude and timezone. Returns: 'summary' (headline North score/36 + rating, South matched/10 + rating, and Manglik flags for each); 'north_indian' (Ashtakoota — the 8 kootas Varna/Vasiya/Gana/Dina-Tara/Yoni/Raasi-Adhipathi/Raasi/Naadi each with score, max, category names and quality, the 4 additional poruthams, and overall total_score/36 + percentage + rating); 'south_indian' (the 10 Porutham booleans + matched count + rating); 'boy'/'girl' (nakshatra, pada, raasi); 'boy_dosha_data'/'girl_dosha_data' (mars/sun/saturn/rahu_ketu/total dosha scores — mars_dosha>0 means Manglik); and 'beeja_rasi'/'kshetra_rasi'. By default both systems are returned; set 'system' to 'north' or 'south' to get just one. Data only — no interpretation is added.

get_marriage_match input schema
{
  "type": "object",
  "required": [
    "boy",
    "girl"
  ],
  "properties": {
    "boy": {
      "type": "object",
      "required": [
        "date",
        "time",
        "latitude",
        "longitude",
        "timezone"
      ],
      "properties": {
        "date": {
          "type": "string",
          "description": "Boy / groom's birth date, YYYY-MM-DD (e.g. 1990-08-20)"
        },
        "time": {
          "type": "string",
          "description": "Boy / groom's birth time, 24h HH:MM:SS (e.g. 14:30:00)"
        },
        "place": {
          "type": "string",
          "description": "Optional birth-place name (cosmetic only)."
        },
        "latitude": {
          "type": "number",
          "description": "Boy / groom's birth-place latitude in decimal degrees"
        },
        "timezone": {
          "type": "number",
          "description": "Boy / groom's timezone offset from UTC in hours, e.g. 5.5"
        },
        "longitude": {
          "type": "number",
          "description": "Boy / groom's birth-place longitude in decimal degrees"
        }
      },
      "description": "Boy / groom's birth details."
    },
    "girl": {
      "type": "object",
      "required": [
        "date",
        "time",
        "latitude",
        "longitude",
        "timezone"
      ],
      "properties": {
        "date": {
          "type": "string",
          "description": "Girl / bride's birth date, YYYY-MM-DD (e.g. 1990-08-20)"
        },
        "time": {
          "type": "string",
          "description": "Girl / bride's birth time, 24h HH:MM:SS (e.g. 14:30:00)"
        },
        "place": {
          "type": "string",
          "description": "Optional birth-place name (cosmetic only)."
        },
        "latitude": {
          "type": "number",
          "description": "Girl / bride's birth-place latitude in decimal degrees"
        },
        "timezone": {
          "type": "number",
          "description": "Girl / bride's timezone offset from UTC in hours, e.g. 5.5"
        },
        "longitude": {
          "type": "number",
          "description": "Girl / bride's birth-place longitude in decimal degrees"
        }
      },
      "description": "Girl / bride's birth details."
    },
    "system": {
      "enum": [
        "both",
        "north",
        "south"
      ],
      "type": "string",
      "description": "Which match system to return: 'both' (default), 'north' (North Indian Ashtakoota / 36 points) or 'south' (South Indian 10 Porutham)."
    }
  }
}
get_marriage_match annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_muhurta — Muhūrta (Auspicious Timing)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find auspicious dates for an event across a date range (the system ranks the dates by classical rules). Scores each day by vara, nakshatra, tithi, paksha and the native's Tara Bala / Chandra Bala / Sade Sati, per the event's rule table, returning candidates sorted by a deterministic score (with breakdown + weights), the Abhijit / clean best-window and the Rahu/Gulika/Yamaganda avoid-windows. A failed mandatory rule caps the score. event_type is one of: griha_pravesha_own, griha_pravesha_rented, travel_prayana, vehicle_purchase, business_shop_opening, property_purchase_registration. Data only — the caller writes the recommendation. (Use get_gochara_range instead to get raw per-day details and decide yourself.)

get_muhurta input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone",
    "event_type",
    "from_date",
    "to_date"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "to_date": {
      "type": "string",
      "description": "Scan end YYYY-MM-DD (max 90 days)"
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "from_date": {
      "type": "string",
      "description": "Scan start YYYY-MM-DD"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    },
    "event_type": {
      "enum": [
        "griha_pravesha_own",
        "griha_pravesha_rented",
        "travel_prayana",
        "vehicle_purchase",
        "business_shop_opening",
        "property_purchase_registration"
      ],
      "type": "string",
      "description": "Event to find a date for"
    },
    "event_place": {
      "type": "string",
      "description": "Event place name (optional; defaults to birth place)"
    },
    "event_latitude": {
      "type": "number",
      "description": "Event latitude (optional)"
    },
    "event_timezone": {
      "type": "number",
      "description": "Event timezone offset from UTC (optional)"
    },
    "event_elevation": {
      "type": "number",
      "description": "Event elevation in metres (optional)"
    },
    "event_longitude": {
      "type": "number",
      "description": "Event longitude (optional)"
    },
    "day_part_resolution_minutes": {
      "type": "integer",
      "description": "Time-of-day granularity (5-60)"
    },
    "respect_inauspicious_windows": {
      "type": "boolean",
      "description": "Report Rahu/Gulika/Yamaganda avoid windows"
    }
  }
}
get_muhurta annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_nakshatra_pada — Nakshatra & Pada
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the birth (sidereal) nakshatra, nakshatra number, pada (quarter), nakshatra lord and degrees-within-nakshatra for every body in the chart: the Ascendant (lagna), the Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu and Ketu, plus the outer planets Uranus, Neptune and Pluto. Each entry contains: 'nakshatra' (one of the 27 nakshatras, e.g. Bharani, Magha, Ashwini), 'nakshatra_number' (1-27), 'pada' (1-4, the quarter of the nakshatra), 'nakshatra_lord' (the planet ruling that nakshatra) and 'degrees_in_nakshatra' (0-13.333, the body's position within the nakshatra). Data only — no interpretation is included.

get_nakshatra_pada input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_nakshatra_pada annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_other_bala — Other Bala
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the additional planetary strength measures for the seven planets (Sun..Saturn). Contains 'harsha_bala' (joy/positional strength), 'pancha_vargeeya_bala' (five-source compound strength), 'dwadhasa_vargeeya_bala' (twelve-source strength), 'ishta_phala' (benefic result, 0-60) and 'kashta_phala' (malefic result, 0-60). Ishta phala is the square root of (uchcha bala x cheshta bala) and kashta phala the square root of ((60 - uchcha bala) x (60 - cheshta bala)), following B.V. Raman's Graha and Bhava Balas; they are independent measures and do NOT sum to 60. Each is a map of planet name to its value. Data only — no interpretation is added.

get_other_bala input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_other_bala annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_planet_ingress — Planet Ingress (Sign Changes)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Sign-change (ingress) dates for one or more planets across a date range, retrograde-aware. Returns every sidereal sign change (default planets: the slow movers Saturn/Jupiter/Rahu/Ketu), including retrograde back-out and re-entry, each flagged forward/retrograde and with 'final_settling' marking the last crossing of each boundary in the window. Use for 'when does Saturn/Jupiter change sign' timing. Data only. Range capped at ~5 years.

get_planet_ingress input schema
{
  "type": "object",
  "required": [
    "from_date",
    "to_date"
  ],
  "properties": {
    "planets": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Planet names; default Saturn/Jupiter/Rahu/Ketu"
    },
    "to_date": {
      "type": "string",
      "description": "Range end YYYY-MM-DD (max ~5 years)"
    },
    "timezone": {
      "type": "number",
      "description": "Offset for crossing dates (default UTC)"
    },
    "from_date": {
      "type": "string",
      "description": "Range start YYYY-MM-DD"
    },
    "ayanamsa_mode": {
      "type": "string",
      "description": "Ayanamsa mode (default LAHIRI)"
    }
  }
}
get_planet_ingress annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_planetary_states — Planetary States (retrograde, combust, dignity)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the dignity and motion state of the planets, grouped by condition. Each field is a list of planet names: 'retrograde_planets' (planets in retrograde motion), 'combusted_planets' (too close to the Sun / combust), 'exalted_planets' (in their sign of exaltation), 'debilitated_planets' (in their sign of debilitation/fall), 'own_sign_planets' (in a sign they rule), 'friend_sign_planets' (in a friendly planet's sign) and 'enemy_sign_planets' (in an enemy planet's sign). A planet absent from all lists is in a neutral sign. Data only — no interpretation is included.

get_planetary_states input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_planetary_states annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_sahams — Sahams (Arabic Parts)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the sahams (Arabic parts / sensitive points) of the chart. The result maps each saham name to its computed zodiacal position, formatted as sign + degrees, minutes and seconds (e.g. 'Gemini 28° 47’ 58"'). Includes the full set such as Punya, Vidya, Yasas, Mitra, Vivaha, Putra, Karma, Roga, Mrithyu and the rest. Data only — no interpretation is added.

get_sahams input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_sahams annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_saturn_transit — Saturn Transit (Sade Sati)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return Saturn's Sade Sati and related transit windows for the chart, with dates. 'sadeSati' holds the ~7.5-year Sade Sati periods two ways: 'degreeBased' (Saturn within ±45° of the natal Moon) and 'signBased' (Saturn in the 12th/1st/2nd signs from the Moon, each split into phase1/phase2/phase3 with sign, house and start/end dates); it also reports 'moonDegree' and 'moonSign'. 'moonTransits' and 'ascendantTransits' give Saturn's transit periods over the Moon and Ascendant, and 'ascendantDegree'/'ascendantSign' give the reference Ascendant. Each period has startDate, endDate and a description. Data only — no interpretation is added.

get_saturn_transit input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_saturn_transit annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_shad_bala — Ṣaḍbala (Planetary Strength)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the Shadbala (six-fold strength) of the seven planets (Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn), labelled by component and planet. The six source components are 'sthana_bala' (positional), 'kala_bala' (temporal), 'dig_bala' (directional), 'cheshta_bala' (motional), 'naisargika_bala' (natural) and 'drik_bala' (aspectual). It also returns 'total_virupas' (summed strength in virupas/shashtiamsas), 'total_rupas' (virupas / 60) and 'strength_ratio' (total rupas divided by the required minimum — a ratio above 1 means the planet meets the strength threshold). Each component maps planet name to its value. Data only — no interpretation is added.

get_shad_bala input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_shad_bala annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_special_lagnas — Special Lagnas
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the special (derived) lagnas of the chart. Each lagna maps to its 'sign' and 'longitude'. Includes 'pranapada_lagna', 'indu_lagna', 'bhrigu_bindhu_lagna', 'sree_lagna', 'kunda_lagna', 'bhava_lagna', 'hora_lagna', 'ghati_lagna' and 'vighati_lagna'. Data only — no interpretation is added.

get_special_lagnas input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_special_lagnas annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_sphutas — Sphuṭas (Sensitive Points)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the sphutas (special computed sensitive points) of the chart. The result maps each sphuta name to its zodiacal position, formatted as sign + degrees, minutes and seconds (e.g. 'Scorpio 21° 18’ 7"'). Includes Tri Sphuta, Chatur Sphuta, Pancha Sphuta, Prana Sphuta, Deha Sphuta, Mrityu Sphuta, Sookshma Tri Sphuta, Beeja Sphuta (male fertility point), Kshetra Sphuta (female fertility point), Tithi Sphuta, Yoga Sphuta, Rahu Tithi Sphuta, Yogi Sphuta and Avayogi Sphuta. Data only — no interpretation is added.

get_sphutas input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_sphutas annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_surya_arudhas — Surya Arudhas (from Sun)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the surya arudhas: the arudha sign for each of the 12 houses counted from the Sun (Surya Lagna). Keys are 'surya_arudha_house_1' through 'surya_arudha_house_12'; each value is the zodiac sign of that house's arudha. Data only — no interpretation is added.

get_surya_arudhas input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_surya_arudhas annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_surya_siddhanta_chart — Surya Siddhanta Chart (SSS)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Classical Surya Siddhanta (generalized Makaranda) D-1 positions for a birth instant: the nine bodies with sign, degree, nakshatra, daily motion, sighra-kendra and retrograde flag, plus the SS lagna, the SS ayanamsa with its delta to whichever ayanamsa was requested, and the SS panchanga (tithi, paksha, nakshatra with pada, yoga, karana, vara, sunrise and sunset). Calibrated against the Jagannatha Hora desktop Surya Siddhanta mode. Every other tool stays Drik, and this tool does not change them. Names in this section are always English regardless of the language field, and epoch.vaara is the civil-midnight weekday. Data only — no verdict.

get_surya_siddhanta_chart input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_surya_siddhanta_chart annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_upagrahas — Upagrahas (Sub-planets)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the upagrahas (shadowy sub-planets / calculated upagrahas) of the chart. Each upagraha maps to its 'sign' and 'longitude'. Includes dhuma, vyatipaata, parivesha, indrachaapa, upaketu, kaala, mrityu, artha_praharaka, yama_ghantaka, gulika and maandi. Data only — no interpretation is added.

get_upagrahas input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_upagrahas annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_vaiseshikamsa_bala — Vaiśeṣikāṃśa Bala
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the Vaiseshikamsa Bala — the count of auspicious vargas (good divisional-chart dignities) each planet attains. The result is a list of four entries, one per classical weighting scheme (Shadvarga=6 charts, Sapthavarga=7, Dashavarga=10, Shodashavarga=16). Each entry maps the planets (Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Raagu, Kethu) to a string of the form 'AmsaName\n(vargas)\ncount' — e.g. 'Vyanjanaamsa\n(D1/D3/D12)\n3' meaning the amsa dignity name, the divisional charts contributing, and the integer count of good vargas. Data only — no interpretation is added.

get_vaiseshikamsa_bala input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_vaiseshikamsa_bala annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_vimsopaka_bala — Vimśopaka Bala
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the Vimsopaka Bala — each planet's strength based on the dignity (varga / amsa) it occupies across the divisional charts. The result is a list of four entries, one per classical weighting scheme (Shadvarga=6 charts, Sapthavarga=7, Dashavarga=10, Shodashavarga=16). Each entry maps the planets (Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Raagu, Kethu) to a string of the form 'AmsaName\n(vargas)\nscore' — e.g. 'Kimsukaamsa\n(D2/D30)\n9.2' meaning the amsa dignity name, the divisional charts contributing, and the numeric Vimsopaka score (out of 20). Data only — no interpretation is added.

get_vimsopaka_bala input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_vimsopaka_bala annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_yogas — Yogas
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return every yoga (planetary combination) detected in the birth chart. The result has two parts. 'summary' gives counts: 'total_yogas_found', 'total_yogas_possible', 'total_raja_yogas_found', 'total_raja_yogas_possible'. 'yoga_list' maps each detected yoga's key (e.g. nipuna_yoga, kedaara_yoga, amala_yoga) to a 4-element list: [chart it was found in (e.g. 'D1'), the yoga's display name, the condition/definition that formed it, and the effect/result it gives]. All detected yogas are included. Data only — no interpretation is added.

get_yogas input schema
{
  "type": "object",
  "required": [
    "date",
    "time",
    "latitude",
    "longitude",
    "timezone"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Birth date in YYYY-MM-DD format, e.g. 1985-06-15"
    },
    "time": {
      "type": "string",
      "description": "Birth time in 24h HH:MM:SS format, e.g. 10:30:00"
    },
    "place": {
      "type": "string",
      "description": "Optional birth-place name (cosmetic only)."
    },
    "gender": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string",
      "description": "Optional. A few classical yogas are defined by gender -- Mahabhagya's rule is gender x day/night x odd/even signs. Supply it when known; when omitted those yogas are left out of the result rather than computed against an assumed gender."
    },
    "latitude": {
      "type": "number",
      "description": "Birth-place latitude in decimal degrees, e.g. 13.0827"
    },
    "timezone": {
      "type": "number",
      "description": "Timezone offset from UTC in hours, e.g. 5.5 for IST"
    },
    "longitude": {
      "type": "number",
      "description": "Birth-place longitude in decimal degrees, e.g. 80.2707"
    }
  }
}
get_yogas annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_divisional_charts — Divisional Charts — Catalog
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the 23 divisional (varga) charts available via 'get_divisional_chart'. Returns, for each chart, the 'request_as' value to pass as the 'varga' argument (e.g. 'D-9'), its 'name' (e.g. Navamsa) and 'purpose' (what life area it analyses — marriage, career, children, etc.). Use this to choose the right chart for a question, then call 'get_divisional_chart' with that varga. Takes no birth details. Data only — no interpretation is included.

list_divisional_charts input schema
{
  "type": "object",
  "required": [],
  "properties": {}
}
list_divisional_charts annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
3102 ms
95th percentile latency
3102 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 3102 ms · metadata changed · 34 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http jagannatha-hora-mcp https://jagannatha-hora-359167915530.europe-west1.run.app/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add jagannatha-hora-mcp --url https://jagannatha-hora-359167915530.europe-west1.run.app/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable jagannatha-hora-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "jagannatha-hora-mcp": {
      "url": "https://jagannatha-hora-359167915530.europe-west1.run.app/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "jagannatha-hora-mcp": {
      "type": "streamableHttp",
      "url": "https://jagannatha-hora-359167915530.europe-west1.run.app/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start jagannatha-hora-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "jagannatha-hora-mcp": {
      "type": "http",
      "url": "https://jagannatha-hora-359167915530.europe-west1.run.app/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http jagannatha-hora-mcp https://jagannatha-hora-359167915530.europe-west1.run.app/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://jagannatha-hora-359167915530.europe-west1.run.app/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "jagannatha-hora-mcp": {
      "serverUrl": "https://jagannatha-hora-359167915530.europe-west1.run.app/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Jagannatha Hora MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Jagannatha Hora MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing