Server definition
- Hash
- sha256:e113bd9803bda7a2cd597a6b9f795e924cdf92075373487c6b3c6778b22036df
- What it is
- What a remote MCP server returned when asked what it offers: 104 tools
The blob, as servednamed by its sha256
{
"instructions": "\n You are connected to the Asterwise Astrology and Divination API — the most\n comprehensive structured astrology MCP available.\n\n This server exposes 104 tools. All tools require an API key\n obtained from asterwise.com.\n\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n DOMAIN 1 — VEDIC ASTROLOGY (sidereal)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n asterwise_get_natal_chart — full sidereal natal chart (planets, houses, drishti, arudhas, bhava cusps)\n asterwise_get_divisional_chart — one or all 16 divisional charts (D1–D60) with dignity, vargottama and houses from each varga lagna\n asterwise_get_chart_strength — Shadbala, Bhavbala, Vimshopaka scores\n asterwise_get_yogas — classical yoga detection (raja, dhana, mahapurusha, etc.)\n asterwise_get_doshas — 12 dosha analysis\n asterwise_get_dasha — 5-level Vimshottari Dasha tree\n asterwise_get_ashtottari_dasha — Ashtottari 108-year dasha\n asterwise_get_yogini_dasha — 8-Yogini 36-year dasha\n asterwise_get_char_dasha — Char Dasha\n asterwise_get_dasha_transits — dasha-lord transit correlation\n asterwise_get_gochar — 9-planet Gochar with AVK scores and vedha\n asterwise_get_transits — ingress and station event tables\n asterwise_get_ashtakavarga — bindu matrices, trikona/ekadhipatya reductions\n asterwise_get_varshaphal — Tajika annual solar return\n asterwise_get_varshaphal_saham — 10 Tajika Saham sensitive points (Arabic Parts equivalent) for a solar return: Punya/Fortune, Vidya/Education, Yashas/Fame, Mitra/Friends, Mahatmya/Status, Asha/Desires, Karmakarya/Career, Vyapara/Business, Vivaha/Marriage, Santapa/Sorrow\n asterwise_get_varshaphal_harsha_bala — Harsha Bala positional happiness score (0–20) for all 7 classical planets in the Varsha chart: 4 components × 5 points (Sthana, Swakshetra/Uccha, Pum-Stri, Dina-Ratri)\n asterwise_get_special_ascendants — Atmakaraka + Ishta Devata\n asterwise_get_nakshatra_details — 27-nakshatra encyclopaedia\n asterwise_get_gemstone_recommendations — classical Ratna prescriptions\n asterwise_get_remedies — mantra, gem, and charity remedies\n asterwise_get_panchanga — the panchanga day: every tithi, nakshatra, yoga, karana with start/end, sunrise, moonrise, masa, samvat and all timings (Rahu Kaal, Abhijit, Brahma Muhurta, Varjyam, Bhadra ...)\n asterwise_get_panchanga_calendar — monthly Panchanga calendar with kshaya/vriddhi tithis, masa and Bhadra\n asterwise_get_muhurta — auspicious windows for 11 activities (exact ISO times, seasonal bans, optional Tarabala/Chandrabala)\n asterwise_get_choghadiya — 16-segment day Choghadiya\n asterwise_get_hora — 24-planetary Hora table\n asterwise_get_rahu_kaal — Rahu Kaal, Gulika Kaal, Yamaganda\n asterwise_get_tamil_panchanga — Tamil panchanga: Rahu Kalam, Yamagandam, Kuligai, Nalla Neram, Tamil solar month\n asterwise_get_festival_calendar — Hindu festivals, vrats (Ekadashi, Pradosh, Sankashti ...), sankrantis, eclipses and periods (Adhik Maas, Pitru Paksha, Chaturmas) for a year\n asterwise_geocode — place name to latitude, longitude and timezone for any tool\n asterwise_get_kp_chart — KP natal chart with sub-lords\n asterwise_get_kp_significators — KP house significator chains\n asterwise_get_kp_ruling_planets — instantaneous KP ruling planets\n asterwise_get_lal_kitab_chart — Lal Kitab chart and Rin analysis\n asterwise_get_lal_kitab_remedies — Lal Kitab totkas\n asterwise_get_prashna_chart — Prashna (horary) chart\n asterwise_check_sade_sati — Saturn Sade Sati phases and intensity\n asterwise_get_compatibility — Ashtakoota Guna Milan matchmaking\n asterwise_get_dashakoot — 10-koota Dashakoot scoring\n asterwise_get_porutham — Tamil 10-porutham with Rajju/Vedha vetoes\n asterwise_get_thirumana_porutham — Tamil 12-porutham\n asterwise_get_papasamyam — Papasamyam malefic balance\n asterwise_get_horoscope — AI moon-sign horoscope (daily/weekly/monthly/yearly)\n\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n DOMAIN 2 — WESTERN ASTROLOGY (tropical)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n asterwise_get_western_natal — tropical natal chart (10 planets, dignities, aspects, elements)\n asterwise_get_western_aspects — aspect grid from raw longitudes\n asterwise_get_western_moon_phase — lunar phase for any date\n asterwise_get_western_moon_calendar — monthly lunar phase calendar\n asterwise_get_western_transits_daily — daily transits vs natal\n asterwise_get_western_transits_weekly — 7-day transit window\n asterwise_get_western_transits_monthly — 30-day transit window\n asterwise_get_western_synastry — inter-chart aspect grid (two people)\n asterwise_get_western_composite — midpoint composite chart (method)\n asterwise_get_western_compatibility — compatibility score 0-100\n asterwise_get_western_zodiac_compatibility — sign-to-sign affinity (no birth data needed)\n asterwise_get_western_solar_return — solar return chart for a given year\n asterwise_get_western_lunar_return — next lunar return chart\n asterwise_get_western_planetary_return — next return chart for any planet\n asterwise_get_western_secondary_progressions — day-for-a-year progressed chart\n asterwise_get_western_solar_arc — Solar Arc Directions\n\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n DOMAIN 3 — NUMEROLOGY\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n asterwise_get_numerology_profile — full Pythagorean profile (LP, Expression, Soul Urge, etc.)\n asterwise_get_expression_number — Expression number from name\n asterwise_get_soul_urge_number — Soul Urge from vowels\n asterwise_get_personality_number — Personality from consonants\n asterwise_get_maturity_number — Maturity (LP + Expression)\n asterwise_get_balance_number — Balance from initials\n asterwise_get_karmic_lessons — missing digit analysis\n asterwise_get_personal_cycles — Personal Year, Month, Day\n asterwise_get_personal_year — Personal Year theme\n asterwise_get_numerology_compatibility — two-person Life Path comparison\n asterwise_get_chaldean_numerology — Chaldean letter-value system\n asterwise_get_lo_shu_grid — Lo Shu magic square from birth digits\n asterwise_get_name_correction — spelling harmony scoring\n asterwise_get_lucky_numbers — numerology lucky number set\n asterwise_get_number_meaning — dictionary entry for any number 1-33\n asterwise_check_mobile_number — phone number harmony analysis\n asterwise_check_vehicle_number — vehicle plate digit analysis\n asterwise_get_business_name_analysis — business name Expression scoring\n asterwise_get_angel_number_today — today's collective angel number from the current date\n asterwise_get_angel_number — lookup a specific angel number sequence (111, 444, 999, 1111, etc.)\n asterwise_get_angel_number_personal — personal angel number from birth date Life Path\n\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n CRYSTALS\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n asterwise_get_crystals — complete crystal database: 50 crystals with Vedic and Western planetary assignments\n asterwise_get_crystal — single crystal lookup by slug or name\n asterwise_get_crystal_by_planet — crystals filtered by Vedic planet (Navaratna first)\n asterwise_get_crystal_recommendations — crystal recommendations by zodiac sign, chakra, or intention\n asterwise_get_crystal_recommendations_natal — natal chart crystal recommendations from house lordship rules on a computed Vedic natal chart; Lagna lord (Life Stone), 9th lord (Fortune Stone), 5th lord (Lucky Stone), Yogakaraka (supreme benefic); only navaratna and uparatna crystals returned; dangerous combinations flagged in warnings[]\n\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n DREAMS\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n asterwise_get_dream_symbols — 500 dream symbols with dual Jungian + Vedic dream interpretation\n asterwise_get_dream_symbol — single dream symbol lookup with context variants and traditions_agree flag\n\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n DOMAIN 4 — TAROT (Rider-Waite-Smith, 78 cards)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n asterwise_get_tarot_cards — complete 78-card catalogue\n asterwise_get_tarot_card — single card by slug ID\n asterwise_get_tarot_major_arcana — 22 Major Arcana\n asterwise_get_tarot_suit — 14 cards by suit (wands/cups/swords/pentacles)\n asterwise_get_tarot_card_of_the_day — deterministic daily card (SHA-256 seeded)\n asterwise_draw_tarot_cards — random draw of N cards (cryptographic randomness)\n asterwise_get_tarot_three_card_spread — Past/Present/Future spread\n asterwise_get_tarot_celtic_cross — 10-card Celtic Cross spread\n asterwise_get_tarot_yes_no — single-card yes/no answer with confidence\n\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n RULES\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n Vedic tools: always use lahiri ayanamsa unless user specifies kp, raman, or tropical.\n Western tools: always tropical zodiac. house_system defaults to placidus.\n Matchmaking: check Rajju and Vedha vetoes first. A failed veto overrides Guna score regardless of total.\n Birth data format: date=YYYY-MM-DD, time=HH:MM (24h local), lat/lon decimal degrees, timezone=IANA string.\n If user gives a city name only: call asterwise_geocode for its latitude, longitude and timezone.\n Unknown birth time: omit time (never pass '00:00', which is read as midnight).\n All tools support response_format=json (structured) or response_format=markdown (human-readable).\n ",
"tools": [
{
"description": "Digit-strips a mobile string (keeping country code digits), reduces it with the owner's name and birth date, and returns harmonic scoring plus interpretive copy.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — anchor Life Path before judging the line.\nAFTER: None.\n\nINPUT CONTRACT: Formatting noise is ignored; only digits contribute. Country code digits are included in the reduction sum.\n\nDO NOT CONFUSE WITH: asterwise_check_vehicle_number — plate digit rules, not SIM numbering.\nasterwise_get_business_name_analysis — letter Expression scan, not phone roots.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/check-mobile-number/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"date": {
"description": "Date in YYYY-MM-DD format.",
"type": "string"
},
"mobile_number": {
"description": "Mobile number to analyse; digits only, country code optional.",
"type": "string"
},
"name": {
"description": "Person's full name as commonly written; letters are converted to numerology values.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"mobile_number",
"name",
"date"
],
"type": "object"
},
"name": "asterwise_check_mobile_number",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Evaluates Saturn's seven-and-a-half-year Moon-sign cycle phases against natal data for the current day and returns intensity, upcoming cycles, and historical rows.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — confirm Moon sign context.\nAFTER: asterwise_get_gochar — broader transit canvas if needed.\n\nINPUT CONTRACT: No explicit query date — API pins to current day. BirthData global contract applies.\n\nDO NOT CONFUSE WITH: asterwise_get_gochar — nine-planet daily scan including sade_sati_active flag but less Sade Sati detail than this tool.\nasterwise_get_transits — ingress/station feed, not Moon-focused Saturn phase model.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/check-sade-sati/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_check_sade_sati",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Strips non-digits from a vehicle registration token, reduces the numeric run with owner name and birth date, and returns the same harmony schema as mobile analysis.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — owner baseline.\nAFTER: None.\n\nINPUT CONTRACT: Letters and separators are ignored; reduction uses numeric digits only.\n\nDO NOT CONFUSE WITH: asterwise_check_mobile_number — phone digit rules including country codes.\nasterwise_get_business_name_analysis — evaluates business Expression, not registration digits.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/check-vehicle-number/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"date": {
"description": "Date in YYYY-MM-DD format.",
"type": "string"
},
"name": {
"description": "Person's full name as commonly written; letters are converted to numerology values.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"vehicle_number": {
"description": "Vehicle registration number, e.g. 'DL01AB1234'.",
"type": "string"
}
},
"required": [
"vehicle_number",
"name",
"date"
],
"type": "object"
},
"name": "asterwise_check_vehicle_number",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Draws N unique random cards from the 78-card deck using cryptographic randomness (Python secrets.SystemRandom). Every call is independent — there is no session state.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: None — interpret drawn cards using their active_meaning and active_keywords fields.\n\nINPUT CONTRACT: count (int 1–78, default 1) — Number of unique cards to draw.\n Example: 1 (daily pull), 3 (simple reading), 10 (Celtic Cross), 78 (full deck shuffle).\n Values outside 1–78 are rejected locally with MCP INVALID_PARAMS.\nallow_reversed (bool, default false) — When true, each drawn card independently has a 50% chance of reversal (cryptographically random, not seeded).\n\nDO NOT CONFUSE WITH: asterwise_get_tarot_card_of_the_day — deterministic daily card, same for all callers.\nasterwise_get_tarot_three_card_spread — positional read with named positions and meanings.\nasterwise_get_tarot_celtic_cross — 10-card positional spread.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/draw-tarot-cards/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"allow_reversed": {
"default": false,
"description": "Whether cards may be drawn reversed (upside down).",
"type": "boolean"
},
"count": {
"default": 1,
"description": "Number of cards to draw.",
"type": "integer"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"type": "object"
},
"name": "asterwise_draw_tarot_cards",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Turns a place name into latitude, longitude and IANA timezone for the other tools, which all take lat, lon and timezone.\n\nWORKFLOW: BEFORE: None.\nAFTER: any tool that takes lat, lon and timezone — asterwise_get_natal_chart, asterwise_get_panchanga, asterwise_get_muhurta, asterwise_get_festival_calendar and others.\n\nINPUT CONTRACT: query: place name, at least 2 characters (required). limit: 1-10 (default 5). country: optional ISO 3166 alpha-2 code.\n\nDO NOT CONFUSE WITH: None — this is the only place-lookup tool.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/geocode/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional ISO 3166 alpha-2 country code to narrow the search, e.g. 'in'."
},
"limit": {
"default": 5,
"description": "Maximum matches to return (1-10).",
"maximum": 10,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "Place name, e.g. 'Pune' or 'Fatehabad, Haryana'.",
"minLength": 2,
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "asterwise_geocode",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Lookup the meaning of a specific angel number by its sequence. Supported: 000, 111–999 (single repeating digit), 911, 1010, 1111, 1122, 1212, 1234, 2222–9999 (double repeating digit).\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: None.\n\nINPUT CONTRACT: number: string — the angel number sequence to look up. Examples: '111', '444', '1111', '911'.\n\nDO NOT CONFUSE WITH: asterwise_get_angel_number_today — today's collective daily angel number.\nasterwise_get_angel_number_personal — personal angel number from birth date.\nasterwise_get_number_meaning — Pythagorean numerology meaning for 1–33; different tradition.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-angel-number/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"number": {
"description": "Angel number sequence as seen, e.g. '111' or '1234'.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"number"
],
"type": "object"
},
"name": "asterwise_get_angel_number",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes a personal angel number from a birth date using the Pythagorean Life Path as the base. Life Path 1-9 maps to the triple sequence (LP 4 → 444). Master numbers 11, 22, 33 map to 1111, 2222, 3333 respectively.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — confirm Life Path before calling.\nAFTER: None.\n\nINPUT CONTRACT: date: Birth date in YYYY-MM-DD format. Example: '1994-03-31'\nname (optional): Person's name for personalisation.\n\nDO NOT CONFUSE WITH: asterwise_get_angel_number_today — collective daily number from today's date, not birth date.\nasterwise_get_numerology_profile — full Pythagorean profile; this tool extracts only the Life Path → angel sequence mapping.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-angel-number-personal/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"date": {
"description": "Date in YYYY-MM-DD format.",
"type": "string"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Person's name, used to personalise the angel number reading."
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"date"
],
"type": "object"
},
"name": "asterwise_get_angel_number_personal",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns today's angel number computed from the current date. All digits of the date are summed and reduced to a single digit (1-9), then the triple sequence of that digit is returned (e.g. digit 9 → angel number 999).\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: asterwise_get_angel_number_personal — for a personalised angel number from birth date.\n\nINPUT CONTRACT: No required parameters — today's date is used automatically.\n\nDO NOT CONFUSE WITH: asterwise_get_angel_number — lookup for a specific number sequence by value.\nasterwise_get_angel_number_personal — personalised number from birth date Life Path.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-angel-number-today/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"type": "object"
},
"name": "asterwise_get_angel_number_today",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes full Ashtakavarga bindu matrices, trikona and ekadhipatya reductions, and sarva totals from BirthData for transit support analysis.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — confirm chart before AVK study.\nAFTER: asterwise_get_gochar — uses AVK scores in transit rows.\n\nINPUT CONTRACT: BirthData only.\n\nDO NOT CONFUSE WITH: asterwise_get_chart_strength — primary payload is Shadbala/Vimshopaka, though it embeds AVK too.\nasterwise_get_gochar — applies AVK scores to transits rather than exposing raw matrices.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-ashtakavarga/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_ashtakavarga",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes the 108-year Ashtottari Dasha tree with configurable depth (levels 1–5) and returns periods under data.periods.root with DD/MM/YYYY dates.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — chart context before choosing between Ashtottari and Vimshottari.\nAFTER: asterwise_get_dasha — optional Vimshottari comparison.\n\nINPUT CONTRACT: levels: same as asterwise_get_dasha (1–5), enforced locally before the API call. Periods use data.periods.root[], not data.periods[]. Dates in periods are DD/MM/YYYY.\n\nDO NOT CONFUSE WITH: asterwise_get_dasha — standard 120-year Vimshottari with data.periods[], not Ashtottari or data.periods.root[].\nasterwise_get_yogini_dasha — 36-year Yogini cycle with yogini names on each row.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-ashtottari-dasha/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"levels": {
"default": 3,
"description": "Depth of the dasha tree: 1 returns major periods only, each extra level adds the next sub-period layer.",
"type": "integer"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_ashtottari_dasha",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns ayanamsha values for all four supported systems (Lahiri, Raman, KP, Tropical) for a given date.\n\nWORKFLOW: BEFORE: None — standalone reference.\nAFTER: None.\n\nINPUT CONTRACT: date (optional): Date in YYYY-MM-DD format. Defaults to today.\n\nDO NOT CONFUSE WITH: asterwise_get_natal_chart — applies Lahiri ayanamsha automatically to natal positions.\nasterwise_get_western_natal — uses tropical zodiac (ayanamsha = 0).\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-ayanamsha/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"date": {
"anyOf": [
{
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date to compute the ayanamsha for, YYYY-MM-DD. Defaults to today."
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"type": "object"
},
"name": "asterwise_get_ayanamsha",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Calculates the Balance number from the first letter of each name part, using Pythagorean values. A three-part name yields three initials summed and reduced. The Balance number describes how a person handles emotional crises and unresolved inner conflict.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: None.\n\nINPUT CONTRACT: name — Full legal name as used at birth. The first letter of each space-separated part contributes one value.\n Example: 'Arjun Mehta' → A(1) + M(4) = 5\n Example: 'James Earl Carter' → J(1) + E(5) + C(3) = 9\n\nDO NOT CONFUSE WITH: asterwise_get_expression_number — uses all letters, not just initials.\nasterwise_get_karmic_lessons — identifies absent digits across all letters.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-balance-number/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"name": {
"description": "Person's full name as commonly written; letters are converted to numerology values.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "asterwise_get_balance_number",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes physical (23-day), emotional (28-day), and intellectual (33-day) biorhythm cycles for a birth date.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: asterwise_get_nakshatra_prediction — for the Vedic personalized daily prediction.\n\nINPUT CONTRACT: birth_date (required): Date of birth in YYYY-MM-DD format.\ntarget_date (optional): Date to compute for. Defaults to today.\ndays (optional int 1-90): Number of consecutive days. Default 1.\n\nDO NOT CONFUSE WITH: asterwise_get_nakshatra_prediction — Vedic Tarabala/Chandrabala daily prediction.\nasterwise_get_panchanga — Vedic daily panchanga elements, not biorhythm cycles.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-biorhythm/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth_date": {
"description": "Date of birth, YYYY-MM-DD.",
"type": "string"
},
"days": {
"default": 1,
"description": "Number of consecutive days to include, starting from the target date.",
"type": "integer"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"target_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date to chart the cycles for, YYYY-MM-DD. Defaults to today."
}
},
"required": [
"birth_date"
],
"type": "object"
},
"name": "asterwise_get_biorhythm",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Reduces a business name to Expression and root digits against a founder birth date and returns thematic suitability lists plus a harmony score.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: asterwise_get_name_correction — if the entity is a person, not a brand.\n\nINPUT CONTRACT: Special characters and digits are acceptable; reduction strips non-letters per upstream rules. No local validation on name or date.\n\nDO NOT CONFUSE WITH: asterwise_get_name_correction — personal spelling alternatives, not corporate Expression scoring.\nasterwise_check_mobile_number — numeric line analysis, not brand letters.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-business-name-analysis/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"business_name": {
"description": "Business or brand name to analyse.",
"type": "string"
},
"date": {
"description": "Date in YYYY-MM-DD format.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"business_name",
"date"
],
"type": "object"
},
"name": "asterwise_get_business_name_analysis",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Reduces a name and birth date through the Chaldean letter-value system and returns name, birth, and combined compound analyses with themes and keywords.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: asterwise_get_numerology_profile — compare against Pythagorean cores if needed.\n\nINPUT CONTRACT: name and date forwarded as-is; no local validation.\n\nDO NOT CONFUSE WITH: asterwise_get_numerology_profile — Pythagorean Life Path / Expression stack, not Chaldean compounds.\nasterwise_get_lo_shu_grid — digit placement magic square, not Chaldean name reduction.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-chaldean-numerology/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"date": {
"description": "Date in YYYY-MM-DD format.",
"type": "string"
},
"name": {
"description": "Person's full name as commonly written; letters are converted to numerology values.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"name",
"date"
],
"type": "object"
},
"name": "asterwise_get_chaldean_numerology",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes Char Dasha from birth data and returns sign lords as period rulers with ISO-dated Maha and Antar sequences plus karaka mappings.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — contextualises the chart before interpreting sign-based lords.\nAFTER: asterwise_get_dasha — optional Vimshottari cross-check for the same native.\n\nINPUT CONTRACT: Period start_date and end_date in data.periods[] are YYYY-MM-DD (ISO), unlike asterwise_get_dasha which uses DD/MM/YYYY in its tree. All other parameters follow the BirthData global contract.\n\nDO NOT CONFUSE WITH: asterwise_get_dasha — Vimshottari planet lords with DD/MM/YYYY in periods[], not sign-based Char Dasha.\nasterwise_get_yogini_dasha — eight Yoginis and data.periods.root[], not classical signs.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-char-dasha/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_char_dasha",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Aggregates Shadbala, Bhavbala, Vimshopaka (with per-varga contributions), embedded sixteen vargas, Ashtakavarga, karaka maps, and graha yuddha pairs from BirthData.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — contextualises houses before reading bala tables.\nAFTER: asterwise_get_yogas — optional configuration pass after strength review.\n\nINPUT CONTRACT: BirthData only; no extra toggles.\n\nDO NOT CONFUSE WITH: asterwise_get_yogas — boolean yoga catalogue, not numeric bala.\nasterwise_get_ashtakavarga — standalone AVK when strength bundle is not needed.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-chart-strength/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_chart_strength",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Splits a solar day into sixteen Choghadiya segments from sunrise/sunset at a location and labels each slot's quality, ruler, and local clock bounds.\n\nWORKFLOW: BEFORE: None — this tool is standalone.\nAFTER: asterwise_get_rahu_kaal — optional inauspicious band overlay for the same date.\n\nINPUT CONTRACT: LocationInput enforces YYYY-MM-DD date and lat/lon ranges locally. All parameters are defined in the tool schema.\n\nDO NOT CONFUSE WITH: asterwise_get_hora — twenty-four planetary horas, not sixteen Choghadiya.\nasterwise_get_muhurta — scored windows across a date range for named activities.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-choghadiya/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"location": {
"additionalProperties": false,
"description": "For tools that need location but not birth time.",
"properties": {
"date": {
"description": "Date in YYYY-MM-DD format",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"response_format": {
"default": "markdown",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone for the location.",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
}
},
"required": [
"location"
],
"type": "object"
},
"name": "asterwise_get_choghadiya",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Scores North Indian Ashtakoota (36-point Guna Milan) for two charts and returns koota breakdown, dosha flags, classical vetoes, mangal cross-check, and narrative guidance.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart per person — understand charts before interpreting scores.\nAFTER: asterwise_get_papasamyam — optional malefic balance overlay.\n\nINPUT CONTRACT: Two BirthData objects follow the global contract (unknown midnight time accepted without flag). All scoring is computed upstream from those payloads.\n\nDO NOT CONFUSE WITH: asterwise_get_dashakoot — ten-point South Indian extension, not 36-point Ashtakoota.\nasterwise_get_porutham — Tamil ten-porutham pass/fail grid, different schema.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-compatibility/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"person1": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"person2": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"person1",
"person2"
],
"type": "object"
},
"name": "asterwise_get_compatibility",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Lookup a specific crystal by slug or name (case-insensitive). Returns full detail including dual Vedic/Western planetary assignments, all healing properties, and any safety cautions.\n\nWORKFLOW: BEFORE: None — standalone or after asterwise_get_gemstone_recommendations.\nAFTER: None.\n\nINPUT CONTRACT: name: Crystal slug or display name. Examples: 'amethyst', 'blue-sapphire', 'Cat's Eye Chrysoberyl'\n\nDO NOT CONFUSE WITH: asterwise_get_crystals — full 50-crystal catalogue.\nasterwise_get_crystal_by_planet — all crystals for a Vedic planet.\nasterwise_get_gemstone_recommendations — natal chart-based gem recommendations (house lordship rules), different from this database.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-crystal/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"name": {
"description": "Crystal slug or display name, e.g. 'amethyst', 'blue-sapphire', 'Cat's Eye Chrysoberyl'.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "asterwise_get_crystal",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns all crystals associated with a specific Vedic planet. Results are sorted with primary Navaratna gems first, then Uparatna substitutes. Only Navaratna and Uparatna Vedic assignments are returned — crystals with no Vedic planetary correspondence are excluded.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — identify the planet needing remediation.\nAFTER: asterwise_get_gemstone_recommendations — for chart-specific gem safety assessment.\n\nINPUT CONTRACT: planet: One of Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu.\n\nDO NOT CONFUSE WITH: asterwise_get_gemstone_recommendations — natal chart house-lordship gem recommendation with contraindications; use for actual gem prescription, not just listing.\nasterwise_get_crystals — all 50 crystals including Western-only ones.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-crystal-by-planet/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"planet": {
"description": "Planet to find crystals for, e.g. 'Venus' or 'Saturn'.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"planet"
],
"type": "object"
},
"name": "asterwise_get_crystal_by_planet",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Recommends crystals based on zodiac sign, chakra, or intention keyword. At least one filter is required. Returns crystals that match the most criteria first.\n\nWORKFLOW: BEFORE: None — standalone for consumer apps.\nAFTER: asterwise_get_crystal — get full detail on any recommended crystal.\n\nINPUT CONTRACT: At least one of: zodiac_sign, chakra, intention must be provided.\nzodiac_sign (optional): English zodiac sign, e.g. 'Taurus', 'Scorpio'.\nchakra (optional): One of Root, Sacral, Solar Plexus, Heart, Throat, Third Eye, Crown.\nintention (optional): Keyword string, e.g. 'protection', 'abundance', 'love'.\nlimit (optional int, default 5, max 20): Maximum results to return.\n\nDO NOT CONFUSE WITH: asterwise_get_crystal_by_planet — Vedic planet filter only.\nasterwise_get_gemstone_recommendations — natal chart house-lordship gem prescription with contraindications.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-crystal-recommendations/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"chakra": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Chakra to focus on, e.g. 'heart' or 'third eye'."
},
"intention": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Purpose for the recommendation, e.g. 'protection', 'focus', 'love'."
},
"limit": {
"default": 5,
"description": "Maximum number of results to return.",
"type": "integer"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"zodiac_sign": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Zodiac sign, e.g. 'Leo'."
}
},
"type": "object"
},
"name": "asterwise_get_crystal_recommendations",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Recommends crystals from a Vedic natal chart using house lordship rules for gem selection. This is the only API that derives crystal recommendations from a computed natal chart — not from zodiac sign or chakra preference.\n\nWORKFLOW: BEFORE: None — this tool internally computes the natal chart. No separate natal chart call required.\nAFTER: asterwise_get_crystal — get full detail (hardness, origins, affirmation, full caution text) on any recommended crystal by slug.\nAFTER: asterwise_get_remedies — broader classical remedial programme alongside gem recommendations.\n\nINPUT CONTRACT: Standard BirthData (date, time, lat, lon, timezone, ayanamsa). Defaults to Lahiri ayanamsa.\ntime (required): Ascendant (Lagna) is time-sensitive. Inaccurate birth time changes the Lagna → changes all house lords → changes recommendations entirely.\n\nDO NOT CONFUSE WITH: asterwise_get_gemstone_recommendations — also a chart-based gem endpoint but uses a different engine (Atmakaraka + role-based prescription vs house lordship scoring); returns gem names not crystal database entries; does not include match_score or match_reasons.\nasterwise_get_crystal_recommendations — recommends crystals by zodiac sign, chakra, or intention keyword (no natal chart computation; Western metaphysical matching, not classical Jyotish).\nasterwise_get_crystal_by_planet — lists all crystals for a Vedic planet without house context — use this for reference, not prescription.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-crystal-recommendations-natal/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_crystal_recommendations_natal",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns all 50 crystals in the database sorted alphabetically. Each entry includes chakra associations, elemental correspondences, Vedic and Western planetary assignments, physical/emotional/spiritual healing properties, geographic origins, affirmations, and safety cautions.\n\nWORKFLOW: BEFORE: None — standalone catalogue.\nAFTER: asterwise_get_crystal_by_planet — filter by Vedic planet for remedial use.\n\nINPUT CONTRACT: No required parameters.\n\nDO NOT CONFUSE WITH: asterwise_get_crystal — single crystal detail by name.\nasterwise_get_crystal_by_planet — filter by Vedic planetary correspondence.\nasterwise_get_crystal_recommendations — recommendations by zodiac/chakra/intention.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-crystals/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"type": "object"
},
"name": "asterwise_get_crystals",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes Vimshottari Dasha from birth data and returns hierarchical period trees plus current Maha/Antar interpretation blocks.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — establishes chart and Moon context before interpreting Dasha lords.\nAFTER: asterwise_get_dasha_transits — correlates active Dasha lords with transits for the same birth data.\n\nINPUT CONTRACT: levels (int, default 2, max 5): tree depth — 1 = Mahadasha only; 2 adds Antardasha; 3 Pratyantar; 4 Sookshma; 5 Prana (much larger payload). Response dates in periods[] use DD/MM/YYYY, not ISO. BirthData fields follow the global contract (date YYYY-MM-DD, time HH:MM). Unknown birth time: omit time (a sunrise chart is cast and birth_time_provided=false); never pass time='00:00' for unknown, which is read as midnight.\n\nDO NOT CONFUSE WITH: asterwise_get_char_dasha — classical sign-based periods with ISO dates on periods[], not planet-based Vimshottari.\nasterwise_get_yogini_dasha — 36-year eight-Yogini cycle with data.periods.root[], not Vimshottari.\nasterwise_get_ashtottari_dasha — 108-year alternative tree with data.periods.root[] and same levels semantics as this tool.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-dasha/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"levels": {
"default": 2,
"description": "Depth of the Vimshottari tree, 1-5: 1 = Mahadasha only, 2 adds Antardasha (default), 3 Pratyantar, 4 Sookshma, 5 Prana (much larger payload).",
"type": "integer"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_dasha",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Combines active Vimshottari lords with today's transits and returns scored correlations plus transit longitudes and houses from Moon and Lagna.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — same birth data should be understood before interpreting houses and lords.\nAFTER: asterwise_get_gochar — optional broader transit snapshot without dasha scoring.\n\nINPUT CONTRACT: No date field — \"today\" is fixed by the API. All parameters are otherwise defined in the tool schema. BirthData follows the global contract. Unknown birth time: omit time (a sunrise chart is cast and birth_time_provided=false); never pass time='00:00' for unknown, which is read as midnight.\n\nDO NOT CONFUSE WITH: asterwise_get_gochar — full nine-planet Gochar with AVK and vedha fields, without dasha–transit correlation scores.\nasterwise_get_transits — ingress and station lists over a chosen range, not today's dasha snapshot.\nasterwise_get_dasha — full Vimshottari tree without transit overlay.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-dasha-transits/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_dasha_transits",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes the ten-koota Dashakoot grid for two charts, converts it to a ten-point score with percentage, and exposes boolean dosha flags plus supplementary diagnostics.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart for each native — context before regional scoring.\nAFTER: asterwise_get_papasamyam — optional malefic differential.\n\nINPUT CONTRACT: Two BirthData objects per global contract.\n\nDO NOT CONFUSE WITH: asterwise_get_compatibility — North Indian 36-point Ashtakoota with different breakdown keys.\nasterwise_get_porutham — Tamil ten-porutham passed counts, not Dashakoot floats.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-dashakoot/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"person1": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"person2": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"person1",
"person2"
],
"type": "object"
},
"name": "asterwise_get_dashakoot",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes divisional (varga) charts from BirthData; pass chart_type for one varga, or omit chart_type for all sixteen. Each planet in each varga comes with its dignity there and whether it is vargottama; with a known birth time, each chart also has its own lagna, every planet's whole-sign house from that lagna, and a houses table.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — anchor D1 before reading higher vargas.\nAFTER: None.\n\nINPUT CONTRACT: chart_type enum is enforced locally. BirthData follows the global contract. Unknown birth time: omit time; lagna, houses and the houses table are then left out (birth_time_provided=false).\n\nDO NOT CONFUSE WITH: asterwise_get_natal_chart — radix chart with houses and drishti, not the varga set.\nasterwise_get_chart_strength — varga-based strength scores, not placements.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-divisional-chart/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"chart_type": {
"anyOf": [
{
"enum": [
"D1",
"D2",
"D3",
"D4",
"D7",
"D9",
"D10",
"D12",
"D16",
"D20",
"D24",
"D27",
"D30",
"D40",
"D45",
"D60"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Divisional chart to return, D1 to D60. Omit to return all 16 charts."
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_divisional_chart",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Scores twelve fixed dosha buckets from birth data and returns presence flags, typed detail objects, optional summaries, and remedy lines per dosha.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — chart familiarity before dosha interpretation.\nAFTER: asterwise_get_remedies — classical remedial suggestions after dosha review.\n\nINPUT CONTRACT: BirthData follows the global contract. Unknown birth time at midnight is accepted silently.\n\nDO NOT CONFUSE WITH: asterwise_get_chart_strength — Shadbala/Vimshopaka power metrics, not dosha booleans.\nasterwise_get_compatibility — pair scoring including nadi_dosha flags, not the twelve natal dosha buckets.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-doshas/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_doshas",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Lookup a specific dream symbol by slug or name (case-insensitive). Returns full dual-tradition interpretation including Jungian archetype, Vedic dream meaning with auspiciousness, context variants, and related symbols.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: None.\n\nINPUT CONTRACT: name: Symbol slug or display name. Examples: 'snake', 'eagle', 'childhood-home', 'lotus', 'black-dog'\n\nDO NOT CONFUSE WITH: asterwise_get_dream_symbols — full database listing with optional category filter.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-dream-symbol/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"name": {
"description": "Dream symbol slug or display name, e.g. 'snake', 'eagle', 'childhood-home', 'lotus'.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "asterwise_get_dream_symbol",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns dream symbols from the database with dual-tradition interpretation: Jungian/Western psychological analysis and traditional Vedic dream-symbol meaning. 500 symbols across 8 categories. Optionally filter by category.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: asterwise_get_dream_symbol — get full detail for a specific symbol.\n\nINPUT CONTRACT: category (optional): One of animals, nature, people, places, objects, actions, body, abstract. Omit for all 500 symbols.\n\nDO NOT CONFUSE WITH: asterwise_get_dream_symbol — single symbol detail by name.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-dream-symbols/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Symbol category to filter by, e.g. 'animals' or 'water'. Omit for all."
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"type": "object"
},
"name": "asterwise_get_dream_symbols",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Calculates the Expression (Destiny) number from the full name using Pythagorean letter values. Reduces each name part separately before summing — this is the Goodwin/Balliett per-part method which preserves the vibrational weight of compound numbers within each name segment. Master numbers 11, 22, 33 are preserved and not further reduced.\n\nWORKFLOW: BEFORE: None — this tool is standalone.\nAFTER: asterwise_get_soul_urge_number — complete the core trinity (Expression, Soul Urge, Personality).\n\nINPUT CONTRACT: name — Full legal name as used at birth. Include all name parts separated by spaces.\n Example: 'Arjun Mehta', 'Sofia Rossi', 'James Carter'\n Format: string, any case (uppercase/lowercase both accepted)\n Constraint: at least one alphabetic character required\n\nDO NOT CONFUSE WITH: asterwise_get_soul_urge_number — vowels only, not all letters.\nasterwise_get_personality_number — consonants only, not all letters.\nasterwise_get_numerology_profile — returns Expression plus all other core numbers, pinnacles, challenges, and lucky numbers in one call.\nasterwise_get_chaldean_numerology — different letter-value system (Chaldean 1–8).\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-expression-number/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"name": {
"description": "Person's full name as commonly written; letters are converted to numerology values.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "asterwise_get_expression_number",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Hindu festivals, vrats, sankrantis, eclipses and periods for a year at a location. Each lunar festival is fixed by its lunar month (amanta, with Adhik months found from new moons and sankrantis), its tithi, and the part of the day the tithi must hold (sunrise, forenoon, Madhyahna, Aparahna, Pradosh, Nishita, moonrise), with the classical tie-breaks when a tithi spans two days, Bhadra rules for Holika Dahan and Raksha Bandhan, and the Smarta Ekadashi rule. Checked against Drik Panchang (New Delhi).\n\nWORKFLOW: BEFORE: asterwise_geocode — when you only have a place name.\nAFTER: asterwise_get_panchanga — the day's limbs and timings for a festival date.\n\nINPUT CONTRACT: year (1900-2100), lat, lon, timezone (IANA, default Asia/Kolkata). categories: optional list of festival, vrat, sankranti, eclipse, period; the default is [\"festival\"] (about 50 named festivals). Add \"vrat\" for every Ekadashi, Pradosh, Sankashti, Purnima and Amavasya, \"period\" for Adhik Maas, Pitru Paksha and Chaturmas, \"eclipse\" for eclipses.\n\nDO NOT CONFUSE WITH: asterwise_get_panchanga_calendar — daily limbs for a month, not festivals.\nasterwise_get_muhurta — auspicious windows for an activity, not festival dates.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-festival-calendar/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"categories": {
"anyOf": [
{
"items": {
"enum": [
"festival",
"vrat",
"sankranti",
"eclipse",
"period"
],
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Which entries to return: festival (default, about 50 named festivals), vrat (Ekadashi, Pradosh, Sankashti, Purnima, Amavasya), sankranti, eclipse, period (Adhik Maas, Pitru Paksha, Chaturmas, Navratri, Holashtak, Kharmas)."
},
"lat": {
"description": "Latitude in decimal degrees, north positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the location.",
"type": "string"
},
"year": {
"description": "Calendar year, e.g. 2026.",
"maximum": 2100,
"minimum": 1900,
"type": "integer"
}
},
"required": [
"year",
"lat",
"lon"
],
"type": "object"
},
"name": "asterwise_get_festival_calendar",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes Ratna-style gemstone picks and cautions from the natal chart and returns primary, role-based stones, secondary options, contraindications, and a safety note.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — confirm chart before wearing advice.\nAFTER: asterwise_get_remedies — broader remedial programme if needed.\n\nINPUT CONTRACT: BirthData follows the global contract.\n\nDO NOT CONFUSE WITH: asterwise_get_remedies — mantras, fasting, charity rows, not a gem matrix.\nasterwise_get_lal_kitab_remedies — Lal Kitab actions, not classical Ratna picks.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-gemstone-recommendations/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_gemstone_recommendations",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns the four Ghatak (inauspicious) timing parameters for a native based on their Janma Rasi (natal Moon sign).\n\nWORKFLOW: BEFORE: None — birth data computes everything needed.\nAFTER: asterwise_get_nakshatra_prediction — for today's personalized daily auspiciousness score.\n\nINPUT CONTRACT: birth — BirthData (date, time, lat, lon, timezone). Moon sign is computed from birth data.\n\nDO NOT CONFUSE WITH: asterwise_get_nakshatra_prediction — personalised daily Tarabala score, not static Ghatak parameters.\nasterwise_get_panchanga — daily panchanga elements, not Ghat Chakra lookup.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-ghat-chakra/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_ghat_chakra",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes Gochar against the natal Moon and Lagna and returns per-planet transit longitudes, houses, AVK scores, vedha flags, and a roll-up summary.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — anchors what \"natal\" means for the same birth record.\nAFTER: asterwise_get_dasha_transits — adds dasha-lord correlation for today.\n\nINPUT CONTRACT: target_date (string, optional — YYYY-MM-DD): date to compute transits for; defaults to today if omitted. BirthData follows the global contract. Unknown birth time: omit time (a sunrise chart is cast and birth_time_provided=false); never pass time='00:00' for unknown, which is read as midnight.\n\nDO NOT CONFUSE WITH: asterwise_get_transits — ingress and station tables for a chosen date window, not a single-day Gochar snapshot.\nasterwise_get_dasha_transits — scores how transits meet active dasha lords, not the full nine-planet Gochar row set.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-gochar/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"target_date": {
"anyOf": [
{
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date in YYYY-MM-DD format. Defaults to today when omitted."
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_gochar",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Builds the twenty-four planetary Horas between successive sunrises for a location date and tags each hour with ruler, quality text, and whether it is current.\n\nWORKFLOW: BEFORE: None — this tool is standalone.\nAFTER: asterwise_get_choghadiya — alternative same-day slot system.\n\nINPUT CONTRACT: LocationInput date/coordinate rules apply locally (YYYY-MM-DD, bounded lat/lon).\n\nDO NOT CONFUSE WITH: asterwise_get_choghadiya — sixteen Choghadiya segments, not twenty-four Horas.\nasterwise_get_natal_chart — natal analysis, not hourly muhurta tables.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-hora/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"location": {
"additionalProperties": false,
"description": "For tools that need location but not birth time.",
"properties": {
"date": {
"description": "Date in YYYY-MM-DD format",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"response_format": {
"default": "markdown",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone for the location.",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
}
},
"required": [
"location"
],
"type": "object"
},
"name": "asterwise_get_hora",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Fetches an AI-synthesised Moon-sign horoscope for a chosen horizon and returns structured guidance fields plus metadata about the model and period.\n\nWORKFLOW: BEFORE: None — this tool is standalone.\nAFTER: asterwise_get_natal_chart — if the user needs a personalised chart beyond sign-general copy.\n\nINPUT CONTRACT: period is constrained to the tool schema enum (daily, weekly, monthly, yearly). moon_sign accepts Sanskrit (Tula, Vrischika, Karka, Simha, Kanya, Dhanu, Makara, Kumbha, Meena, Mesha, Vrishabha, Mithuna) or English (Libra, Scorpio, Cancer, Leo, Virgo, Sagittarius, Capricorn, Aquarius, Pisces, Aries, Taurus, Gemini); resolution is upstream. response_format selects JSON vs markdown rendering only.\n\nDO NOT CONFUSE WITH: asterwise_get_natal_chart — full personalised sidereal chart from birth data, not Moon-sign editorial copy.\nasterwise_get_gochar — nine-planet transit snapshot vs natal chart for today, not AI horoscope prose.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-horoscope/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"moon_sign": {
"description": "Vedic moon sign (rashi), e.g. 'Vrishabha' or 'Taurus'.",
"type": "string"
},
"period": {
"description": "Horoscope period: daily, weekly, monthly or yearly.",
"enum": [
"daily",
"weekly",
"monthly",
"yearly"
],
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"moon_sign",
"period"
],
"type": "object"
},
"name": "asterwise_get_horoscope",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Identifies karmic lessons by scanning all letter values in the full name and finding which digits 1–9 are absent. Each missing digit represents an area where experience is thin and development is needed in this lifetime.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: asterwise_get_numerology_profile — see karmic lessons alongside all core numbers.\n\nINPUT CONTRACT: name — Full legal name as used at birth.\n Example: 'Arjun Mehta' — scan all 9 letters for their Pythagorean digit values.\n Letters present: A=1, R=9, J=1, U=3, N=5, M=4, E=5, H=8, T=2, A=1\n Digits present: {1,2,3,4,5,8,9} → Missing: {6,7}\n\nDO NOT CONFUSE WITH: asterwise_get_balance_number — uses only first letters (initials), not all letters.\nasterwise_get_expression_number — reduces all letters to a single number; does not scan for absent digits.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-karmic-lessons/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"name": {
"description": "Person's full name as commonly written; letters are converted to numerology values.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "asterwise_get_karmic_lessons",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Builds a KP natal chart with sub-lords on grahas and twelve cusps from BirthData using the KP ayanamsa in the response.\n\nWORKFLOW: BEFORE: RECOMMENDED — cross-check birth record before trusting sub-lords.\nAFTER: asterwise_get_kp_significators — house-level significator chains.\n\nINPUT CONTRACT: ayanamsa choice is not forced locally — mismatched settings still post to upstream. Unknown birth time: omit time (a sunrise chart is cast and birth_time_provided=false); never pass time='00:00' for unknown, which is read as midnight.\n\nDO NOT CONFUSE WITH: asterwise_get_natal_chart — classical bundle without KP sub-lords.\nasterwise_get_kp_ruling_planets — live moment rulers, not natal cusps.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-kp-chart/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_kp_chart",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes KP ruling planets for the instantaneous chart at lat/lon with no birth data and returns day lord, Moon/Ascendant lord chains, and a deduplicated ruling_planets list.\n\nWORKFLOW: BEFORE: None — this tool is standalone.\nAFTER: asterwise_get_kp_chart — if natal confirmation is needed afterwards.\n\nINPUT CONTRACT: lat and lon only; no date parameter — \"now\" is implicit on the server clock.\n\nDO NOT CONFUSE WITH: asterwise_get_kp_chart — needs BirthData and returns full natal KP cusps.\nasterwise_get_prashna_chart — horary keyword workflow, not ruling-planet snapshot.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-kp-ruling-planets/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"lat": {
"description": "Latitude in decimal degrees, north positive (e.g. 13.08).",
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (e.g. 80.27).",
"type": "number"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"lat",
"lon"
],
"type": "object"
},
"name": "asterwise_get_kp_ruling_planets",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes KP significator chains for all houses or one optional house from BirthData and returns house tables plus planet-tier reverse indexes.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_kp_chart — establish cusps before significators.\nAFTER: None.\n\nINPUT CONTRACT: house_number optional int; omit for all twelve. Values outside 1..12 are validated upstream only.\n\nDO NOT CONFUSE WITH: asterwise_get_kp_chart — cusps and sub-lords, not tiered significator unions.\nasterwise_get_natal_chart — classical drishti matrices differ from KP significator tiers.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-kp-significators/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"house_number": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "House number 1-12. Omit to cover all twelve houses."
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_kp_significators",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Produces the Lal Kitab house and planet schema plus Rin (debt) flags from BirthData using Lal Kitab placement rules. Lal Kitab uses a distinct astrological system from standard Vedic computation, with its own house-based remedies.\n\nWORKFLOW: BEFORE: None — standalone for Lal Kitab queries.\nAFTER: asterwise_get_lal_kitab_remedies — practical totkas aligned to this chart.\n\nINPUT CONTRACT: BirthData global contract; mixing interpretive systems in prose is a caller concern, not validated here.\n\nDO NOT CONFUSE WITH: asterwise_get_natal_chart — classical radix, not Lal Kitab lk_house logic.\nasterwise_get_lal_kitab_remedies — remedy list without full chart geometry.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-lal-kitab-chart/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_lal_kitab_chart",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Lists Lal Kitab style totkas per stressed planet from BirthData with priority tiers and typed action rows (remedy, donation, keep, avoid).\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_lal_kitab_chart — see chart before applying totkas.\nAFTER: None.\n\nINPUT CONTRACT: BirthData only.\n\nDO NOT CONFUSE WITH: asterwise_get_remedies — mantra/gem prescriptions, not Lal Kitab totkas.\nasterwise_get_gemstone_recommendations — classical Ratna focus, not household remedies.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-lal-kitab-remedies/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_lal_kitab_remedies",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Derives a Lo Shu three-by-three frequency grid from birth-date digits and annotates planes, missing or repeated digits, and per-digit traits.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: None.\n\nINPUT CONTRACT: date string only; validated upstream.\n\nDO NOT CONFUSE WITH: asterwise_get_numerology_profile — letter-based Western numbers, not digit-frequency Lo Shu.\nasterwise_get_name_correction — spelling harmonics, not birth-date grids.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-lo-shu-grid/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"date": {
"description": "Date in YYYY-MM-DD format.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"date"
],
"type": "object"
},
"name": "asterwise_get_lo_shu_grid",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Fetches condensed lucky-number guidance for a name and birth date including primary and secondary picks, power number, interpretation, and a date_specific flag.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: asterwise_get_numerology_profile — if deeper context is required.\n\nINPUT CONTRACT: name and date forwarded upstream without local checks.\n\nDO NOT CONFUSE WITH: asterwise_get_numerology_profile — full multi-section profile, not lucky-number-only payload.\nasterwise_get_number_meaning — dictionary entry for one integer, not personalised lucky sets.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-lucky-numbers/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"date": {
"description": "Date in YYYY-MM-DD format.",
"type": "string"
},
"name": {
"description": "Person's full name as commonly written; letters are converted to numerology values.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"name",
"date"
],
"type": "object"
},
"name": "asterwise_get_lucky_numbers",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Calculates the Maturity number as the sum of Life Path and Expression numbers, reduced to a single digit or master number. Represents the underlying wish or true desire that becomes conscious around age 35 and fully emerges by midlife.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — confirm Life Path and Expression before interpreting their sum.\nAFTER: None.\n\nINPUT CONTRACT: name — Full legal name as used at birth. Example: 'Arjun Mehta'\ndate — Birth date in YYYY-MM-DD format. Example: '1985-11-12'\n\nDO NOT CONFUSE WITH: asterwise_get_numerology_profile — returns maturity_number as part of the full profile.\nasterwise_get_personal_cycles — temporal cycles that change annually, not a fixed number.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-maturity-number/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"date": {
"description": "Date in YYYY-MM-DD format.",
"type": "string"
},
"name": {
"description": "Person's full name as commonly written; letters are converted to numerology values.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"name",
"date"
],
"type": "object"
},
"name": "asterwise_get_maturity_number",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Finds auspicious time windows for an activity between two dates (up to a year) at a location, with exact ISO start and end times. Activities: marriage, griha_pravesh, business, travel, naming_ceremony, vehicle_purchase, property_purchase, mundan, annaprashan, upanayana, vidyarambha. Applies each activity's nakshatra, tithi and weekday rules, seasonal bans (Chaturmas, Adhik Maas, Pitru Paksha, Kharmas, Holashtak, Guru/Shukra asta, Panchaka), and avoids Rahu Kaal, Yamaganda, Gulika, Durmuhurta, Varjyam and Bhadra; scores 0-100 with reasons, and excluded_minutes explains an empty result.\n\nWORKFLOW: BEFORE: asterwise_geocode — when you only have a place name.\nAFTER: asterwise_get_panchanga — full timings for a chosen window's day.\n\nINPUT CONTRACT: request.activity (enum above), request.from_date and request.to_date (YYYY-MM-DD, at most 366 days apart), request.lat, request.lon, request.timezone (IANA). Optional: top_n (1-50, default 5), max_windows_per_day (default 1, so results spread across dates), participants (up to two, each with nakshatra and optional moon_rashi, or birth_date, birth_time, birth_lat, birth_lon, birth_timezone).\n\nDO NOT CONFUSE WITH: asterwise_get_choghadiya — the sixteen slots of one day, not a ranked search.\nasterwise_get_panchanga — one day's limbs and timings.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-muhurta/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"request": {
"additionalProperties": false,
"description": "Muhurta search parameters.",
"properties": {
"activity": {
"description": "Activity to find a muhurta for.",
"enum": [
"marriage",
"griha_pravesh",
"business",
"travel",
"naming_ceremony",
"vehicle_purchase",
"property_purchase",
"mundan",
"annaprashan",
"upanayana",
"vidyarambha"
],
"type": "string"
},
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa for nakshatra and lagna.",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"from_date": {
"description": "Start of the search, YYYY-MM-DD (inclusive).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"max_windows_per_day": {
"default": 1,
"description": "At most this many windows per day, so results spread across dates.",
"maximum": 10,
"minimum": 1,
"type": "integer"
},
"participants": {
"anyOf": [
{
"items": {
"additionalProperties": false,
"description": "A person whose Tarabala and Chandrabala must be favourable (e.g. bride or groom).",
"properties": {
"birth_date": {
"anyOf": [
{
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth date YYYY-MM-DD."
},
"birth_lat": {
"anyOf": [
{
"maximum": 90,
"minimum": -90,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth latitude."
},
"birth_lon": {
"anyOf": [
{
"maximum": 180,
"minimum": -180,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth longitude."
},
"birth_time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h)."
},
"birth_timezone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "IANA timezone of the birth place."
},
"label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Name shown in the output, e.g. 'Bride'."
},
"moon_rashi": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Janma rashi (Moon sign), e.g. 'Vrishabha' or 'Taurus'. Optional with nakshatra."
},
"nakshatra": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Janma nakshatra name, e.g. 'Rohini'. Or give the birth fields instead."
}
},
"type": "object"
},
"maxItems": 2,
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Up to two people; adds Tarabala and Chandrabala (Naidhana or the 8th-house Moon rule a moment out)."
},
"response_format": {
"default": "markdown",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the location.",
"type": "string"
},
"to_date": {
"description": "End of the search, YYYY-MM-DD (inclusive), at most 366 days after from_date.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"top_n": {
"default": 5,
"description": "Number of windows to return (1-50).",
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"required": [
"activity",
"from_date",
"to_date",
"lat",
"lon"
],
"type": "object"
}
},
"required": [
"request"
],
"type": "object"
},
"name": "asterwise_get_muhurta",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Looks up static metadata for one of twenty-seven nakshatras by exact name and returns interpretive, professional, activity, and body-map reference data.\n\nWORKFLOW: BEFORE: None — this tool is standalone.\nAFTER: None.\n\nINPUT CONTRACT: nakshatra_name is forwarded raw — no local fuzzy matching or normalisation.\n\nDO NOT CONFUSE WITH: asterwise_get_natal_chart — computes birth nakshatra from time/place, not encyclopaedic copy.\nasterwise_get_dasha — uses Moon nakshatra for timing, not this lookup table.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-nakshatra-details/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"nakshatra_name": {
"description": "Nakshatra name, e.g. 'Rohini' or 'Uttara Phalguni'.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"nakshatra_name"
],
"type": "object"
},
"name": "asterwise_get_nakshatra_details",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Personal daily prediction from Tarabala and Chandrabala for the day at the birth place (sunrise to next sunrise).\n\nWORKFLOW: BEFORE: None — birth data computes everything needed.\nAFTER: asterwise_get_panchanga — the day's full panchanga; asterwise_get_muhurta — Tarabala-aware windows for an activity.\n\nINPUT CONTRACT: birth: BirthData (date, time, lat, lon, timezone). Unknown birth time: omit time; never pass '00:00'. target_date (optional, YYYY-MM-DD): defaults to today at the birth place.\n\nDO NOT CONFUSE WITH: asterwise_get_nakshatra_details — static nakshatra reference, not a personal prediction.\nasterwise_get_panchanga — daily panchanga (tithi, yoga, karana), not Tarabala.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-nakshatra-prediction/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"target_date": {
"anyOf": [
{
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date in YYYY-MM-DD format. Defaults to today when omitted."
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_nakshatra_prediction",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Scores the current spelling of a personal name against the birth-date Life Path, suggests alternate spellings with harmony metrics, and echoes recommendation stub fields.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — baseline numbers before renaming advice.\nAFTER: None.\n\nINPUT CONTRACT: name and date strings only; upstream validates.\n\nDO NOT CONFUSE WITH: asterwise_get_business_name_analysis — entity Expression scan, not personal spelling alternatives.\nasterwise_get_chaldean_numerology — Chaldean compounds, not harmony-scored spelling list.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-name-correction/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"date": {
"description": "Date in YYYY-MM-DD format.",
"type": "string"
},
"name": {
"description": "Person's full name as commonly written; letters are converted to numerology values.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"name",
"date"
],
"type": "object"
},
"name": "asterwise_get_name_correction",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes the full sidereal natal chart from BirthData and returns planet rows, houses, aspects, arudhas, upapada, bhava cusps, and avakhada metadata.\n\nWORKFLOW: BEFORE: None — this tool is standalone.\nAFTER: RECOMMENDED — asterwise_get_yogas — layer classical combinations after the base chart exists.\n\nINPUT CONTRACT: BirthData enforces date YYYY-MM-DD, time HH:MM, lat -90..90, lon -180..180, ayanamsa enum locally (Pydantic). Unknown birth time: omit time (a sunrise chart is cast and birth_time_provided=false); never pass time='00:00' for unknown, which is read as midnight. Lagna-sensitive results (houses, lagna, arudhas) are then approximate.\n\nDO NOT CONFUSE WITH: asterwise_get_divisional_chart — sixteen vargas only, not the primary radix bundle returned here.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-natal-chart/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"include_interpretation": {
"default": false,
"description": "Include a written interpretation alongside the chart data.",
"type": "boolean"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_natal_chart",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns dictionary-style numerology copy for a single integer, including interpretation, keywords, and stubbed extended fields.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: None.\n\nINPUT CONTRACT: number must pass local guard: inclusive range one through thirty-three; values outside that band raise MCP INVALID_PARAMS before the HTTP call.\n\nDO NOT CONFUSE WITH: asterwise_get_numerology_profile — computes personal numbers from name and date, not a static dictionary row.\nasterwise_get_lucky_numbers — personalised lucky list, not reference meanings.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-number-meaning/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"number": {
"description": "Number to interpret: 1-9, or a master number 11, 22 or 33.",
"type": "integer"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"number"
],
"type": "object"
},
"name": "asterwise_get_number_meaning",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Compares two people on Pythagorean Life Path numbers derived from their names and birth dates and returns a score, tier label, narrative, strengths, challenges, and advice.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile per person — sanity-check Life Paths before comparing.\nAFTER: None.\n\nINPUT CONTRACT: Four strings (two names, two dates) are passed through without local guards.\n\nDO NOT CONFUSE WITH: asterwise_get_compatibility — sidereal koota scoring, not numerology integers.\nasterwise_get_numerology_profile — single-person profile, not dyad scoring.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-numerology-compatibility/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"person1_date": {
"description": "First person's date of birth, YYYY-MM-DD.",
"type": "string"
},
"person1_name": {
"description": "First person's full name.",
"type": "string"
},
"person2_date": {
"description": "Second person's date of birth, YYYY-MM-DD.",
"type": "string"
},
"person2_name": {
"description": "Second person's full name.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"person1_name",
"person1_date",
"person2_name",
"person2_date"
],
"type": "object"
},
"name": "asterwise_get_numerology_compatibility",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Builds a Pythagorean numerology profile from a legal name and birth date and returns core numbers, cycles, lucky digits, and summary copy.\n\nWORKFLOW: BEFORE: None — this tool is standalone.\nAFTER: asterwise_get_personal_year — fills Personal Year when needed.\n\nINPUT CONTRACT: name and date strings are forwarded without extra local validation; malformed payloads fail upstream.\n\nDO NOT CONFUSE WITH: asterwise_get_chaldean_numerology — Chaldean letter values and compound structure, not Pythagorean cores.\nasterwise_get_lucky_numbers — lightweight lucky list without the full profile payload.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-numerology-profile/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"date": {
"description": "Date in YYYY-MM-DD format.",
"type": "string"
},
"name": {
"description": "Person's full name as commonly written; letters are converted to numerology values.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"name",
"date"
],
"type": "object"
},
"name": "asterwise_get_numerology_profile",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Panchanga for one date at a location: the limbs at sunrise plus the whole panchanga day (sunrise to next sunrise) with every tithi, nakshatra, yoga and karana active in it, each with ISO start and end times and kshaya/vriddhi flags; sunrise, sunset, moonrise and moonset; Sun and Moon rashi; lunar month (amanta and purnimanta, with Adhik months); Vikram, Shaka and Gujarati samvat; ritu and ayana; and the day's timings (Rahu Kaal, Gulika, Yamaganda, Abhijit, Brahma Muhurta, Durmuhurta, Varjyam, Amrit Kaal, Bhadra with residence, Panchaka, Pradosh, Nishita).\n\nWORKFLOW: BEFORE: asterwise_geocode — when you only have a place name.\nAFTER: asterwise_get_muhurta — to find auspicious windows across a date range; asterwise_get_festival_calendar — for the festivals and vrats of the year.\n\nINPUT CONTRACT: location.date is YYYY-MM-DD; location.lat, location.lon and location.timezone (IANA) give the place. Dates 1800-2099.\n\nDO NOT CONFUSE WITH: asterwise_get_yogas — natal chart yogas, not the Panchanga Sun–Moon yoga.\nasterwise_get_panchanga_calendar — one row per day for a whole month.\nasterwise_get_tamil_panchanga — Tamil month and Rahu Kalam/Yamagandam/Kuligai only.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-panchanga/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"location": {
"additionalProperties": false,
"description": "For tools that need location but not birth time.",
"properties": {
"date": {
"description": "Date in YYYY-MM-DD format",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"response_format": {
"default": "markdown",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone for the location.",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
}
},
"required": [
"location"
],
"type": "object"
},
"name": "asterwise_get_panchanga",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Panchanga for every day of a month at a location: each day's sunrise tithi, vara, nakshatra, yoga, karana and Rahu Kaal, plus sunrise, sunset, moonrise, moonset, paksha, lunar month (amanta and purnimanta, with Adhik months), Bhadra windows, and every tithi, nakshatra, yoga and karana active that day with ISO start and end times.\n\nWORKFLOW: BEFORE: asterwise_geocode — when you only have a place name.\nAFTER: asterwise_get_panchanga — full timings for one chosen day.\n\nINPUT CONTRACT: calendar.year 1900-2100, calendar.month 1-12, calendar.lat, calendar.lon, calendar.timezone (IANA; default Asia/Kolkata — set it for places outside India).\n\nDO NOT CONFUSE WITH: asterwise_get_panchanga — one day with all timings.\nasterwise_get_festival_calendar — festivals and vrats rather than daily limbs.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-panchanga-calendar/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"calendar": {
"additionalProperties": false,
"description": "Monthly Panchanga calendar parameters.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa for nakshatra and yoga.",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"month": {
"description": "Month number 1-12.",
"maximum": 12,
"minimum": 1,
"type": "integer"
},
"response_format": {
"default": "markdown",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the location, e.g. 'America/New_York'. Default: Asia/Kolkata.",
"type": "string"
},
"year": {
"description": "Calendar year, 1900-2100.",
"maximum": 2100,
"minimum": 1900,
"type": "integer"
}
},
"required": [
"year",
"month",
"lat",
"lon"
],
"type": "object"
}
},
"required": [
"calendar"
],
"type": "object"
},
"name": "asterwise_get_panchanga_calendar",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Measures malefic stress from Lagna, Moon, and Venus references for each partner, compares totals, and labels compatibility level against a threshold.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_compatibility — establish baseline match quality.\nAFTER: None.\n\nINPUT CONTRACT: Two BirthData objects per global contract.\n\nDO NOT CONFUSE WITH: asterwise_get_doshas — twelve natal dosha buckets for one chart, not pairwise malefic balance.\nasterwise_get_compatibility — Guna Milan totals and vetoes, not Papa Samyam scoring.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-papasamyam/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"person1": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"person2": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"person1",
"person2"
],
"type": "object"
},
"name": "asterwise_get_papasamyam",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns the Personal Year, Personal Month, and Personal Day numbers for a given birth date and optional target date. All three cycle numbers are derived from the birth month, birth day, and the target calendar date.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: asterwise_get_numerology_profile — see personal cycles alongside core numbers.\n\nINPUT CONTRACT: date — Birth date in YYYY-MM-DD format. Example: '1985-11-12'\nyear (optional int) — Target year. Defaults to current calendar year.\n Example: 2026\nmonth (optional int 1–12) — Target month. Defaults to current month.\n Example: 5\nday (optional int 1–31) — Target day. Personal Day is only returned when day is provided. Defaults to null (Personal Day omitted).\n Example: 1\n\nDO NOT CONFUSE WITH: asterwise_get_personal_year — returns Personal Year only, no month or day breakdown.\nasterwise_get_numerology_profile — core name numbers; personal_year field is null there.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-personal-cycles/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"date": {
"description": "Date in YYYY-MM-DD format.",
"type": "string"
},
"day": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Day of the month 1-31. Defaults to today when omitted."
},
"month": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Month number 1-12. Defaults to the current month when omitted."
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"year": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Four-digit calendar year, e.g. 2026. Defaults to the current year when omitted."
}
},
"required": [
"date"
],
"type": "object"
},
"name": "asterwise_get_personal_cycles",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Looks up the Personal Year theme for the current calendar cycle from a name and birth date using only month and day inputs server-side.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — see other core numbers first.\nAFTER: None.\n\nINPUT CONTRACT: Only name and date are submitted; the active calendar year is chosen upstream automatically.\n\nDO NOT CONFUSE WITH: asterwise_get_numerology_profile — personal_year field there is null; this endpoint supplies the annual theme.\nasterwise_get_varshaphal — Vedic solar return, not Pythagorean Personal Year.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-personal-year/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"date": {
"description": "Date in YYYY-MM-DD format.",
"type": "string"
},
"name": {
"description": "Person's full name as commonly written; letters are converted to numerology values.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"name",
"date"
],
"type": "object"
},
"name": "asterwise_get_personal_year",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Calculates the Personality number from consonants in the full name. All non-vowels (BCDFGHJKLMNPQRSTVWXYZ) contribute — Y is always a consonant. Reduces each name part separately, preserving master numbers 11, 22, 33.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: asterwise_get_numerology_profile — see all five core numbers together.\n\nINPUT CONTRACT: name — Full legal name as used at birth.\n Example: 'Arjun Mehta', 'Sofia Rossi'\n Y is always a consonant — not treated as a vowel.\n\nDO NOT CONFUSE WITH: asterwise_get_expression_number — all letters (Expression = Soul Urge + Personality).\nasterwise_get_soul_urge_number — vowels only.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-personality-number/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"name": {
"description": "Person's full name as commonly written; letters are converted to numerology values.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "asterwise_get_personality_number",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Detects and analyses Pitru Dosha (Pitru Shapa — Ancestral Curse) using all five classical Pitru Dosha combinations.\n\nWORKFLOW: BEFORE: None — birth data computes everything needed.\nAFTER: asterwise_get_puja_suggestions — recommend remedial pujas for Sun/Mars.\n\nINPUT CONTRACT: birth — BirthData (date, time, lat, lon, timezone).\n\nDO NOT CONFUSE WITH: asterwise_get_doshas — returns pitru_dosha as one of twelve doshas with less detail. Use this tool when dedicated Pitru Dosha analysis is needed.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-pitra-dosha/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_pitra_dosha",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns classical graha (planet) properties for all nine planets or a single planet per classical Vedic tradition.\n\nWORKFLOW: BEFORE: None — standalone reference.\nAFTER: asterwise_get_puja_suggestions — propitiation for a specific graha.\n\nINPUT CONTRACT: planet (optional): One of Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu. Omit to get all nine planets.\n\nDO NOT CONFUSE WITH: asterwise_get_puja_suggestions — ritual propitiation per planet, not properties.\nasterwise_get_rudraksha — bead recommendations per planet, not natal properties.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-planet-nature/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"planet": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Planet name in English, e.g. 'Jupiter', 'Saturn', 'Rahu'."
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"type": "object"
},
"name": "asterwise_get_planet_nature",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Runs the Tamil ten-porutham checklist for two charts, counts passes out of ten, surfaces Rajju/Vedha classical condition booleans, and returns per-porutham evidence objects.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart per native.\nAFTER: asterwise_get_thirumana_porutham — extended twelve-koota read if needed.\n\nINPUT CONTRACT: Two BirthData objects per global contract.\n\nDO NOT CONFUSE WITH: asterwise_get_thirumana_porutham — twelve poruthams including Nadi and Varna, not ten.\nasterwise_get_dashakoot — South Indian float scoring, not Tamil pass grid.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-porutham/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"person1": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"person2": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"person1",
"person2"
],
"type": "object"
},
"name": "asterwise_get_porutham",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Casts a Prashna chart for the query instant using supplied date, time, place, and a single-topic keyword, then returns houses, Moon diagnostics, verdict, and cusps.\n\nWORKFLOW: BEFORE: None — standalone for horary.\nAFTER: None.\n\nINPUT CONTRACT: question must be exactly one of: self, wealth, siblings, property, children, health, marriage, death, travel, career, gains, loss. Full sentences are not validated locally and are rejected upstream → MCP INTERNAL_ERROR at the tool layer. PrashnaInput enforces date/time/lat/lon/ayanamsa patterns locally.\n\nDO NOT CONFUSE WITH: asterwise_get_natal_chart — requires birth data, not query-moment prashna.\nasterwise_get_kp_chart — natal KP from birth time, not horary keyword mapping.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-prashna-chart/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"prashna": {
"additionalProperties": false,
"description": "Prashna (horary) query parameters.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"maximum": 180,
"minimum": -180,
"type": "number"
},
"question": {
"minLength": 1,
"type": "string"
},
"response_format": {
"default": "markdown",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"time": {
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
}
},
"required": [
"question",
"date",
"time",
"lat",
"lon"
],
"type": "object"
}
},
"required": [
"prashna"
],
"type": "object"
},
"name": "asterwise_get_prashna_chart",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns puja (ritual worship) recommendations for planetary propitiation per graha.\n\nWORKFLOW: BEFORE: asterwise_get_natal_chart — identify afflicted planets before recommending pujas.\nAFTER: asterwise_get_rudraksha — complementary bead-based remedy.\n\nINPUT CONTRACT: planet (optional): One of Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu. Omit to get all nine planets.\n\nDO NOT CONFUSE WITH: asterwise_get_remedies — personalised remedies from natal chart analysis.\nasterwise_get_rudraksha — bead recommendations, not puja rituals.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-puja-suggestions/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"planet": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Planet name in English, e.g. 'Jupiter', 'Saturn', 'Rahu'."
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"type": "object"
},
"name": "asterwise_get_puja_suggestions",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes Rahu Kaal, Gulika Kaal, and Yamaganda Kaal intervals from diurnal length at a location and marks whether Rahu Kaal is active now in local time.\n\nWORKFLOW: BEFORE: None — this tool is standalone.\nAFTER: asterwise_get_choghadiya — broader auspicious/inauspicious grid for the day.\n\nINPUT CONTRACT: LocationInput validates date pattern and coordinates locally.\n\nDO NOT CONFUSE WITH: asterwise_get_choghadiya — full day/night slot tables, not only the three kaal bands.\nasterwise_get_panchanga — Panchanga limbs, not kaal timers.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-rahu-kaal/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"location": {
"additionalProperties": false,
"description": "For tools that need location but not birth time.",
"properties": {
"date": {
"description": "Date in YYYY-MM-DD format",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"response_format": {
"default": "markdown",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone for the location.",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
}
},
"required": [
"location"
],
"type": "object"
},
"name": "asterwise_get_rahu_kaal",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Derives classical remedial prescriptions from planetary weakness and dusthana lordship and returns mantra, lifestyle, charity, and dignity tables.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — chart context before choosing remedies.\nAFTER: asterwise_get_gemstone_recommendations — optional focused gem briefing.\n\nINPUT CONTRACT: BirthData follows the global contract.\n\nDO NOT CONFUSE WITH: asterwise_get_lal_kitab_remedies — household Lal Kitab totkas, not mantra/gem classical rows.\nasterwise_get_gemstone_recommendations — gemstone roles and contraindications only, not full lifestyle remedies.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-remedies/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_remedies",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns Rudraksha bead recommendations per planet.\n\nWORKFLOW: BEFORE: asterwise_get_natal_chart — identify planets needing support.\nAFTER: None.\n\nINPUT CONTRACT: planet (optional): One of Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu. Omit to get all nine planets.\n\nDO NOT CONFUSE WITH: asterwise_get_gemstone_recommendations — Ratna-style gemstones from natal chart.\nasterwise_get_puja_suggestions — ritual worship, not bead recommendations.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-rudraksha/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"planet": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Planet name in English, e.g. 'Jupiter', 'Saturn', 'Rahu'."
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"type": "object"
},
"name": "asterwise_get_rudraksha",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Calculates the Soul Urge (Heart's Desire) number from vowels in the full name. Only A, E, I, O, U are treated as vowels — Y is always a consonant in this system. Reduces each name part separately before summing, preserving master numbers 11, 22, 33.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: asterwise_get_personality_number — complete the name number trinity.\n\nINPUT CONTRACT: name — Full legal name as used at birth.\n Example: 'Arjun Mehta', 'Sofia Rossi'\n Y is always treated as a consonant — not a vowel.\n\nDO NOT CONFUSE WITH: asterwise_get_expression_number — all letters, not vowels only.\nasterwise_get_personality_number — consonants only, not vowels.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-soul-urge-number/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"name": {
"description": "Person's full name as commonly written; letters are converted to numerology values.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "asterwise_get_soul_urge_number",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Calls atmakaraka and ishta-devata endpoints sequentially and merges their payloads into top-level atmakaraka and ishta_devata objects for one BirthData.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — understand chart basics before devotional pointers.\nAFTER: None.\n\nINPUT CONTRACT: Wrapper returns { atmakaraka: <upstream dict>, ishta_devata: <upstream dict> } — not a flat data.* root; consumers must read nested .data fields inside each branch per upstream shape.\n\nDO NOT CONFUSE WITH: asterwise_get_natal_chart — general chart; does not compute ishta devata workflow.\nasterwise_get_char_dasha — timing system using karakas, not deity discovery.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-special-ascendants/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_special_ascendants",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Tamil Panchanga for a date and location: Rahu Kalam, Yamagandam and Kuligai (Gulika), Nalla Neram (daytime windows free of those periods), and the Tamil solar month from the Sun's sidereal sign at sunrise.\n\nWORKFLOW: BEFORE: asterwise_geocode — when you only have a place name.\nAFTER: asterwise_get_panchanga — the day's limbs and other timings.\n\nINPUT CONTRACT: date (YYYY-MM-DD), lat, lon, timezone (IANA, default Asia/Kolkata).\n\nDO NOT CONFUSE WITH: asterwise_get_rahu_kaal — the same three periods without the Tamil month or Nalla Neram.\nasterwise_get_panchanga — the full panchanga day.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-tamil-panchanga/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"date": {
"description": "Date for the Tamil panchanga, YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the location.",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"name": "asterwise_get_tamil_panchanga",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns full structured data for a single card identified by its slug ID. Useful for card detail pages, single-card lookups, and displaying a specific card after the user selects one by name.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: None.\n\nINPUT CONTRACT: card_id — Slug identifier for the card. Must be exact.\n Major Arcana examples: 'the-fool', 'the-magician', 'the-high-priestess', 'the-empress', 'the-emperor', 'the-hierophant', 'the-lovers', 'the-chariot', 'strength', 'the-hermit', 'wheel-of-fortune', 'justice', 'the-hanged-man', 'death', 'temperance', 'the-devil', 'the-tower', 'the-star', 'the-moon', 'the-sun', 'judgement', 'the-world'\n Minor Arcana pattern: '{rank}-of-{suit}'\n Examples: 'ace-of-wands', 'two-of-cups', 'ten-of-swords', 'page-of-pentacles', 'knight-of-wands', 'queen-of-cups', 'king-of-swords'\n\nDO NOT CONFUSE WITH: asterwise_get_tarot_cards — returns all 78 cards in one call.\nasterwise_draw_tarot_cards — random draw, not a specific card.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-card/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"card_id": {
"description": "Tarot card identifier in kebab-case, e.g. 'the-fool' or 'ace-of-wands'.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"card_id"
],
"type": "object"
},
"name": "asterwise_get_tarot_card",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns a deterministic daily tarot card seeded by SHA-256 hash of the date string. The same card is returned for all callers on the same date — this is intentional. The daily card is not a reading for an individual but a collective daily energy.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: asterwise_get_tarot_three_card_spread — for deeper daily reading context.\n\nINPUT CONTRACT: date (optional string YYYY-MM-DD) — Date to get the card for. Defaults to today.\n Example: '2026-05-01'\nallow_reversed (optional bool) — Default: false.\n When true: reversed state is also deterministic (seeded by date+'_rev').\n When false: card is always upright regardless of date.\n\nDO NOT CONFUSE WITH: asterwise_draw_tarot_cards — random draw, different every call.\nasterwise_get_tarot_three_card_spread — positional reading with question context.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-card-of-the-day/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"allow_reversed": {
"default": false,
"description": "Whether cards may be drawn reversed (upside down).",
"type": "boolean"
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date in YYYY-MM-DD format. Defaults to today when omitted."
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"type": "object"
},
"name": "asterwise_get_tarot_card_of_the_day",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns the complete 78-card Rider-Waite-Smith deck with full metadata. Each card includes id (slug), name, arcana_type (major/minor), suit, number, element, astrology_correspondence, upright and reversed meanings, keywords for both orientations, yes/no polarity, and visual description.\n\nWORKFLOW: BEFORE: None — standalone catalogue endpoint.\nAFTER: asterwise_draw_tarot_cards or asterwise_get_tarot_three_card_spread — use card data from this endpoint to build enriched display layers.\n\nINPUT CONTRACT: response_format (optional): markdown (default) | json, as on every Asterwise tool.\nNo other parameters.\n\nDO NOT CONFUSE WITH: asterwise_get_tarot_major_arcana — returns only the 22 Major Arcana subset.\nasterwise_get_tarot_suit — returns only the 14 cards of a single suit.\nasterwise_draw_tarot_cards — returns a random draw, not the catalogue.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-cards/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"type": "object"
},
"name": "asterwise_get_tarot_cards",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Ten-card Celtic Cross spread — traditional ten-position tarot layout. Draws 10 unique cards using cryptographic randomness and assigns each to one of the 10 classical Celtic Cross positions.\n\nWORKFLOW: BEFORE: None — standalone reading, or follow asterwise_get_tarot_three_card_spread when a more detailed examination of the same question is needed.\nAFTER: None.\n\nINPUT CONTRACT: allow_reversed (bool, default false) — Each card independently has 50% reversal chance.\nquestion (optional string, max 500 chars) — The question or situation being examined.\n Example: 'Should I accept the job offer in London?'\n\nDO NOT CONFUSE WITH: asterwise_get_tarot_three_card_spread — 3 positions only; use for simpler questions.\nasterwise_draw_tarot_cards — free draw with no positional meaning.\nasterwise_get_tarot_yes_no — binary answer, not positional analysis.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-celtic-cross/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"allow_reversed": {
"default": false,
"description": "Whether cards may be drawn reversed (upside down).",
"type": "boolean"
},
"question": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The question being asked; it shapes the reading's interpretation."
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"type": "object"
},
"name": "asterwise_get_tarot_celtic_cross",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns all 22 Major Arcana cards (The Fool through The World) as a structured array. Major Arcana represent universal archetypes and major life themes.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: asterwise_draw_tarot_cards — draw from this subset by filtering by arcana_type.\n\nINPUT CONTRACT: response_format (optional): markdown (default) | json.\n\nDO NOT CONFUSE WITH: asterwise_get_tarot_cards — full 78-card deck including Minor Arcana.\nasterwise_get_tarot_suit — 14 Minor Arcana cards by suit.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-major-arcana/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"type": "object"
},
"name": "asterwise_get_tarot_major_arcana",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns all 14 cards in a given Minor Arcana suit as a structured array.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: None.\n\nINPUT CONTRACT: suit — One of exactly: 'wands', 'cups', 'swords', 'pentacles'.\n Case-insensitive. Any other value is rejected locally with MCP INVALID_PARAMS.\n\nDO NOT CONFUSE WITH: asterwise_get_tarot_major_arcana — 22 Major Arcana, not suit-based.\nasterwise_get_tarot_cards — full 78-card catalogue.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-suit/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"suit": {
"description": "Minor arcana suit: wands, cups, swords or pentacles.",
"type": "string"
}
},
"required": [
"suit"
],
"type": "object"
},
"name": "asterwise_get_tarot_suit",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Past / Present / Future spread. Draws 3 unique cards using cryptographic randomness and assigns each to a named positional slot with an interpretive context.\n\nWORKFLOW: BEFORE: None — standalone reading.\nAFTER: asterwise_get_tarot_celtic_cross — for deeper 10-position analysis of same question.\n\nINPUT CONTRACT: allow_reversed (bool, default false) — Each card independently has 50% reversal chance.\nquestion (optional string, max 500 chars) — The question being asked.\n Setting a question is strongly recommended for coherent readings.\n Example: 'What should I focus on in my career this month?'\n The question is echoed in the response but does not affect card selection.\n\nDO NOT CONFUSE WITH: asterwise_draw_tarot_cards — free draw with no positional meaning.\nasterwise_get_tarot_celtic_cross — 10-card spread with comprehensive positional coverage.\nasterwise_get_tarot_yes_no — single-card binary answer, no positional structure.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-three-card-spread/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"allow_reversed": {
"default": false,
"description": "Whether cards may be drawn reversed (upside down).",
"type": "boolean"
},
"question": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The question being asked; it shapes the reading's interpretation."
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"type": "object"
},
"name": "asterwise_get_tarot_three_card_spread",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Draws one card and returns a yes, no, or maybe answer with confidence level. The answer is derived from the card's built-in yes_no polarity and its orientation.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: asterwise_get_tarot_three_card_spread — for more context when the yes/no answer is 'maybe' or the situation needs elaboration.\n\nINPUT CONTRACT: allow_reversed (bool, default true) — Recommended to keep true for nuanced answers.\n Set false only if you want strictly yes/no with no maybe results from reversal.\nquestion (optional string, max 500 chars) — The yes/no question being asked.\n Example: 'Should I accept this job offer?'\n Example: 'Will the project launch on time?'\n\nDO NOT CONFUSE WITH: asterwise_get_tarot_three_card_spread — positional reading, not binary answer.\nasterwise_draw_tarot_cards — free draw without answer logic.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-yes-no/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"allow_reversed": {
"default": true,
"description": "Whether cards may be drawn reversed (upside down).",
"type": "boolean"
},
"question": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The yes/no question being asked."
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"type": "object"
},
"name": "asterwise_get_tarot_yes_no",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Evaluates twelve Tamil Thirumana poruthams for two charts, tracks veto severity for Rajju, and returns an expanded breakdown map with tradition metadata.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_porutham — quick ten-koota pass before twelve-koota depth.\nAFTER: None.\n\nINPUT CONTRACT: Two BirthData objects per global contract.\n\nDO NOT CONFUSE WITH: asterwise_get_porutham — ten poruthams only, no Nadi/Varna keys.\nasterwise_get_compatibility — North Indian 36-point schema, not Tamil porutham map.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-thirumana-porutham/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"person1": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"person2": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"person1",
"person2"
],
"type": "object"
},
"name": "asterwise_get_thirumana_porutham",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Lists sign ingresses and retrograde/direct stations for all planets between two dates against the natal context and returns chronological astronomical events.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — clarifies the natal reference for the same birth data.\nAFTER: asterwise_get_gochar — optional current snapshot after scanning the range.\n\nINPUT CONTRACT: from_date and to_date are strings in the format expected by the upstream API (typically YYYY-MM-DD). Range cap (24 months), date order, and validity are enforced upstream, not locally.\n\nDO NOT CONFUSE WITH: asterwise_get_gochar — single-day transit snapshot with houses from Moon/Lagna, not ingress/station lists.\nasterwise_get_dasha_transits — dasha lord vs transit scoring for today only.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-transits/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"from_date": {
"description": "Start of the window to list ingress and station events, YYYY-MM-DD.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"to_date": {
"description": "End of the window to list ingress and station events, YYYY-MM-DD.",
"type": "string"
}
},
"required": [
"birth",
"from_date",
"to_date"
],
"type": "object"
},
"name": "asterwise_get_transits",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes the annual Tajika-style solar return for a four-digit civil year and returns Muntha, Pancha Adhikari metrics, Tajika aspects, and varshaphal positions.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — baseline radix before annual overlay.\nAFTER: None.\n\nINPUT CONTRACT: year is a plain int sent as target_year upstream; callers must supply the true Gregorian return year, not age.\n\nDO NOT CONFUSE WITH: asterwise_get_dasha — multi-decade Vimshottari, not one solar return.\nasterwise_get_transits — ingress/station timeline, not annual Tajika chart.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-varshaphal/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"year": {
"description": "Year of the solar return to compute, four digits, e.g. 2026.",
"type": "integer"
}
},
"required": [
"birth",
"year"
],
"type": "object"
},
"name": "asterwise_get_varshaphal",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes Harsha Bala (positional happiness score) for all 7 classical planets in a Varshaphal solar return chart. Maximum 20 per planet (4 components × 5 points each).\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_varshaphal — identify the Year Lord (Varsha Pati) before interpreting Harsha Bala. The Year Lord's Harsha Bala is the most actionable number in this response.\nAFTER: asterwise_get_varshaphal_saham — use Harsha Bala to assess whether each Saham lord can deliver its theme with ease or difficulty.\n\nINPUT CONTRACT: Same as asterwise_get_varshaphal — BirthData plus target_year.\ntarget_year (required int): The Gregorian civil year of the solar return. Not age.\ntime (required): Solar return ascendant and house positions are time-sensitive.\n\nDO NOT CONFUSE WITH: asterwise_get_varshaphal — returns Pancha Vargeeya Bala (mathematical strength out of 80) for the Pancha Adhikaris; Harsha Bala (positional happiness out of 20) is a completely different measurement returned by this tool.\nasterwise_get_varshaphal_saham — derives sensitive zodiac points; this tool scores planet positional comfort.\nasterwise_get_chart_strength — Shadbala for the natal chart, not Tajika Harsha Bala for the solar return.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-varshaphal-harsha-bala/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"year": {
"description": "Four-digit calendar year, e.g. 2026.",
"type": "integer"
}
},
"required": [
"birth",
"year"
],
"type": "object"
},
"name": "asterwise_get_varshaphal_harsha_bala",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes all 10 Tajika Saham (sensitive points) for a Varshaphal solar return chart. Sahams are the Tajika equivalent of Arabic Parts — mathematically derived zodiac points that focus the annual horoscope on specific life themes.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_varshaphal — understand the base solar return chart (year lord, Muntha, Varsha Ascendant) before interpreting Saham lords. The Saham is meaningless without knowing which house it occupies from the Varsha Ascendant.\nAFTER: asterwise_get_varshaphal_harsha_bala — assess the Saham lord's positional happiness score to determine ease or difficulty of manifestation.\n\nINPUT CONTRACT: Same as asterwise_get_varshaphal — BirthData plus target_year.\ntarget_year (required int): The Gregorian calendar year of the solar return. Not age — the civil year (e.g. 2026). Feeding age instead of year silently produces the wrong return.\ntime (required): Solar return Ascendant is time-sensitive. Accurate birth time is required for reliable Saham interpretation.\n\nDO NOT CONFUSE WITH: asterwise_get_varshaphal — returns the full base solar return chart including Muntha, year lord, and planet positions; Saham points are not included there.\nasterwise_get_varshaphal_harsha_bala — scores planet positional happiness; this tool computes zodiac points, not planet positions.\nasterwise_get_gemstone_recommendations — birthchart gemstone recommendations, unrelated to Tajika Saham.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-varshaphal-saham/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"year": {
"description": "Four-digit calendar year, e.g. 2026.",
"type": "integer"
}
},
"required": [
"birth",
"year"
],
"type": "object"
},
"name": "asterwise_get_varshaphal_saham",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Calculates all active aspects between a supplied set of planetary longitudes. Accepts a dictionary of body name to tropical ecliptic longitude and returns every aspect within standard natal orbs.\n\nWORKFLOW: BEFORE: None — standalone; or use asterwise_get_western_natal to get positions first.\nAFTER: None.\n\nINPUT CONTRACT: positions — dict mapping planet/body name (string) to tropical longitude (float 0–360).\n Must contain at least 2 entries.\n Example: {'Sun': 229.6, 'Moon': 221.8, 'Mars': 189.6, 'Jupiter': 309.6}\n Names can be any string — the tool does not enforce planet names.\n\nDO NOT CONFUSE WITH: asterwise_get_western_natal — computes both positions and aspects from birth data.\nasterwise_get_western_synastry — inter-chart aspects between two people.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-aspects/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"positions": {
"additionalProperties": {
"type": "number"
},
"description": "Planet positions to compare: a mapping of planet name to ecliptic longitude in degrees (0-360).",
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"positions"
],
"type": "object"
},
"name": "asterwise_get_western_aspects",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Overall compatibility score (0–100) between two natal charts. Scores element affinity, synastry aspects between personal planets (Sun, Moon, Venus, Mars), and Sun/Moon/rising sign comparisons.\n\nWORKFLOW: BEFORE: asterwise_get_western_natal per person optional.\nAFTER: asterwise_get_western_synastry — drill into raw aspects if score needs detail.\n\nINPUT CONTRACT: person1, person2 — WesternBirthData each.\n\nDO NOT CONFUSE WITH: asterwise_get_western_synastry — raw aspects, no score.\nasterwise_get_western_zodiac_compatibility — sign-only, no birth data.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-compatibility/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"person1": {
"additionalProperties": false,
"description": "Birth data for Western astrology tools (tropical zodiac).",
"properties": {
"date": {
"description": "Birth date in YYYY-MM-DD format. Example: '1985-11-12'",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"house_system": {
"default": "placidus",
"description": "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'",
"enum": [
"placidus",
"koch",
"equal",
"whole_sign"
],
"type": "string"
},
"lat": {
"description": "Birth latitude in decimal degrees. North positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Birth longitude in decimal degrees. East positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Name of the person. Example: 'Arjun Mehta'",
"type": "string"
},
"time": {
"description": "Birth time in HH:MM format (24-hour). Example: '06:45'",
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC",
"type": "string"
}
},
"required": [
"date",
"time",
"lat",
"lon"
],
"type": "object"
},
"person2": {
"additionalProperties": false,
"description": "Birth data for Western astrology tools (tropical zodiac).",
"properties": {
"date": {
"description": "Birth date in YYYY-MM-DD format. Example: '1985-11-12'",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"house_system": {
"default": "placidus",
"description": "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'",
"enum": [
"placidus",
"koch",
"equal",
"whole_sign"
],
"type": "string"
},
"lat": {
"description": "Birth latitude in decimal degrees. North positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Birth longitude in decimal degrees. East positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Name of the person. Example: 'Arjun Mehta'",
"type": "string"
},
"time": {
"description": "Birth time in HH:MM format (24-hour). Example: '06:45'",
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC",
"type": "string"
}
},
"required": [
"date",
"time",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"person1",
"person2"
],
"type": "object"
},
"name": "asterwise_get_western_compatibility",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Midpoint composite chart for two people. Each composite planet is the midpoint of the two natal positions. Returns composite planets with dignities and internal aspects.\n\nWORKFLOW: BEFORE: asterwise_get_western_synastry — examine inter-chart aspects before composite.\nAFTER: None.\n\nINPUT CONTRACT: person1, person2 — WesternBirthData each. house_system ignored.\n\nDO NOT CONFUSE WITH: asterwise_get_western_synastry — two charts, inter-chart aspects vs composite (one midpoint chart).\nasterwise_get_western_compatibility — numeric score vs structural composite chart.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-composite/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"person1": {
"additionalProperties": false,
"description": "Birth data for Western astrology tools (tropical zodiac).",
"properties": {
"date": {
"description": "Birth date in YYYY-MM-DD format. Example: '1985-11-12'",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"house_system": {
"default": "placidus",
"description": "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'",
"enum": [
"placidus",
"koch",
"equal",
"whole_sign"
],
"type": "string"
},
"lat": {
"description": "Birth latitude in decimal degrees. North positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Birth longitude in decimal degrees. East positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Name of the person. Example: 'Arjun Mehta'",
"type": "string"
},
"time": {
"description": "Birth time in HH:MM format (24-hour). Example: '06:45'",
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC",
"type": "string"
}
},
"required": [
"date",
"time",
"lat",
"lon"
],
"type": "object"
},
"person2": {
"additionalProperties": false,
"description": "Birth data for Western astrology tools (tropical zodiac).",
"properties": {
"date": {
"description": "Birth date in YYYY-MM-DD format. Example: '1985-11-12'",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"house_system": {
"default": "placidus",
"description": "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'",
"enum": [
"placidus",
"koch",
"equal",
"whole_sign"
],
"type": "string"
},
"lat": {
"description": "Birth latitude in decimal degrees. North positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Birth longitude in decimal degrees. East positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Name of the person. Example: 'Arjun Mehta'",
"type": "string"
},
"time": {
"description": "Birth time in HH:MM format (24-hour). Example: '06:45'",
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC",
"type": "string"
}
},
"required": [
"date",
"time",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"person1",
"person2"
],
"type": "object"
},
"name": "asterwise_get_western_composite",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Fetches an AI-synthesised Western sun-sign horoscope for a chosen horizon and returns structured guidance fields plus metadata about the model and period.\n\nWORKFLOW: BEFORE: None — this tool is standalone.\nAFTER: asterwise_get_western_natal — if the user needs a personalised tropical chart beyond sign-general copy.\n\nINPUT CONTRACT: period is constrained to the tool schema enum (daily, weekly, monthly, yearly). sun_sign accepts English zodiac names only (Aries, Taurus, Gemini, Cancer, Leo, Virgo, Libra, Scorpio, Sagittarius, Capricorn, Aquarius, Pisces). No Sanskrit aliases — this is Western astrology. response_format selects JSON vs markdown rendering only.\n\nDO NOT CONFUSE WITH: asterwise_get_horoscope — Vedic Moon-sign horoscope using sidereal zodiac, not Western tropical sun-sign.\nasterwise_get_western_natal — full personalised tropical chart from birth data, not sign-general editorial copy.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-horoscope/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"period": {
"description": "Horoscope period: daily, weekly, monthly or yearly.",
"enum": [
"daily",
"weekly",
"monthly",
"yearly"
],
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"sun_sign": {
"description": "Western sun sign, e.g. 'Aries'.",
"type": "string"
}
},
"required": [
"sun_sign",
"period"
],
"type": "object"
},
"name": "asterwise_get_western_horoscope",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Next lunar return chart after a given date. Finds the next moment the Moon returns to its natal tropical longitude (approximately every 27.3 days) and builds a complete Western natal chart for that moment at the birth location.\n\nWORKFLOW: BEFORE: asterwise_get_western_natal.\nAFTER: None.\n\nINPUT CONTRACT: birth — WesternBirthData.\nafter_date (optional YYYY-MM-DD) — find next return after this date. Defaults to today.\n\nDO NOT CONFUSE WITH: asterwise_get_western_solar_return — annual Sun return vs lunar_return (monthly Moon return).\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-lunar-return/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"after_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Find the first occurrence after this date, YYYY-MM-DD. Defaults to today when omitted."
},
"birth": {
"additionalProperties": false,
"description": "Birth data for Western astrology tools (tropical zodiac).",
"properties": {
"date": {
"description": "Birth date in YYYY-MM-DD format. Example: '1985-11-12'",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"house_system": {
"default": "placidus",
"description": "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'",
"enum": [
"placidus",
"koch",
"equal",
"whole_sign"
],
"type": "string"
},
"lat": {
"description": "Birth latitude in decimal degrees. North positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Birth longitude in decimal degrees. East positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Name of the person. Example: 'Arjun Mehta'",
"type": "string"
},
"time": {
"description": "Birth time in HH:MM format (24-hour). Example: '06:45'",
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC",
"type": "string"
}
},
"required": [
"date",
"time",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_western_lunar_return",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Returns lunar phase data for every day in a calendar month as a structured array. Each element is a complete daily phase object identical to asterwise_get_western_moon_phase.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: None.\n\nINPUT CONTRACT: year (optional int) — Target year. Defaults to current year. Example: 2026\nmonth (optional int 1–12) — Target month. Defaults to current month.\n Example: 5 (May)\n Values outside 1–12 are rejected locally with MCP INVALID_PARAMS.\n\nDO NOT CONFUSE WITH: asterwise_get_western_moon_phase — single-day phase only.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-moon-calendar/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"month": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Month number 1-12. Defaults to the current month when omitted."
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"year": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Four-digit calendar year, e.g. 2026. Defaults to the current year when omitted."
}
},
"type": "object"
},
"name": "asterwise_get_western_moon_calendar",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Calculates the tropical lunar phase for any date using Swiss Ephemeris. Returns the phase name, phase angle, illumination percentage, Moon age in days, and the next major phase transition.\n\nWORKFLOW: BEFORE: None — standalone.\nAFTER: asterwise_get_western_moon_calendar — get the full month's phase data.\n\nINPUT CONTRACT: date (optional string YYYY-MM-DD) — Date to compute phase for. Defaults to today.\n Example: '2026-05-01'\n\nDO NOT CONFUSE WITH: asterwise_get_western_moon_calendar — full monthly day-by-day phase table.\nasterwise_get_panchanga — Vedic tithi system (lunar day based on 12° arc increments).\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-moon-phase/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date for the moon phase, YYYY-MM-DD. Defaults to today."
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"type": "object"
},
"name": "asterwise_get_western_moon_phase",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Calculate a complete Western natal chart using the tropical zodiac and Swiss Ephemeris. Returns 10 planet positions with Placidus (or chosen) house placements, essential dignities, all active aspects, and element/modality/hemisphere balance statistics.\n\nWORKFLOW: BEFORE: None — this tool is standalone.\nAFTER: asterwise_get_western_transits_daily — layer current transits over this natal chart.\nAFTER: asterwise_get_western_synastry — compare this chart against a partner's chart.\nAFTER: asterwise_get_western_solar_return — annual return chart for the current year.\n\nINPUT CONTRACT: birth.date — YYYY-MM-DD. Example: '1985-11-12'\nbirth.time — HH:MM (24-hour local time). Example: '06:45'\nbirth.lat — Decimal degrees, north positive. Example: 19.076 (Mumbai)\nbirth.lon — Decimal degrees, east positive. Example: 72.8777 (Mumbai)\nbirth.timezone — IANA timezone string. Example: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC.\n IMPORTANT: Timezone defaults to UTC — always supply the correct local timezone for accurate house cusps. An incorrect timezone shifts the Ascendant.\nbirth.house_system — 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'. Placidus is standard for most Western traditions. Whole sign is traditional/Hellenistic.\n NOTE: house_system is accepted here but silently ignored by transit, return, synastry, composite, and progression endpoints — those always use the birth location coordinates without house-system selection.\nayanamsa — always tropical regardless of any value supplied; field is not present.\n\nDO NOT CONFUSE WITH: asterwise_get_natal_chart — Vedic sidereal chart using Lahiri ayanamsa; different zodiac, different house system, different planet set (9 grahas vs 10 tropical planets).\nasterwise_get_western_aspects — takes raw longitudes as input; use when you already have positions and don't need full chart computation.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-natal/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for Western astrology tools (tropical zodiac).",
"properties": {
"date": {
"description": "Birth date in YYYY-MM-DD format. Example: '1985-11-12'",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"house_system": {
"default": "placidus",
"description": "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'",
"enum": [
"placidus",
"koch",
"equal",
"whole_sign"
],
"type": "string"
},
"lat": {
"description": "Birth latitude in decimal degrees. North positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Birth longitude in decimal degrees. East positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Name of the person. Example: 'Arjun Mehta'",
"type": "string"
},
"time": {
"description": "Birth time in HH:MM format (24-hour). Example: '06:45'",
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC",
"type": "string"
}
},
"required": [
"date",
"time",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_western_natal",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Next return chart for any planet after a given date. Finds the exact moment the specified planet returns to its natal tropical longitude and builds a complete Western natal chart for that moment at the birth location.\n\nWORKFLOW: BEFORE: asterwise_get_western_natal.\nAFTER: None.\n\nINPUT CONTRACT: birth — WesternBirthData.\nplanet — one of Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto.\nafter_date (optional YYYY-MM-DD) — defaults to today.\n\nDO NOT CONFUSE WITH: asterwise_get_western_solar_return — Sun-only shortcut.\nasterwise_get_western_lunar_return — Moon-only shortcut.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-planetary-return/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"after_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Find the first occurrence after this date, YYYY-MM-DD. Defaults to today when omitted."
},
"birth": {
"additionalProperties": false,
"description": "Birth data for Western astrology tools (tropical zodiac).",
"properties": {
"date": {
"description": "Birth date in YYYY-MM-DD format. Example: '1985-11-12'",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"house_system": {
"default": "placidus",
"description": "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'",
"enum": [
"placidus",
"koch",
"equal",
"whole_sign"
],
"type": "string"
},
"lat": {
"description": "Birth latitude in decimal degrees. North positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Birth longitude in decimal degrees. East positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Name of the person. Example: 'Arjun Mehta'",
"type": "string"
},
"time": {
"description": "Birth time in HH:MM format (24-hour). Example: '06:45'",
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC",
"type": "string"
}
},
"required": [
"date",
"time",
"lat",
"lon"
],
"type": "object"
},
"planet": {
"description": "Planet whose return to compute, e.g. 'Jupiter' or 'Saturn'.",
"type": "string"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth",
"planet"
],
"type": "object"
},
"name": "asterwise_get_western_planetary_return",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Secondary progressed chart using the day-for-a-year method. Each day after birth symbolises one year of life (1 ephemeris day = 1 tropical year = 365.2421904 days). Returns all 10 progressed planet positions, progressed Ascendant and MC, and the solar arc.\n\nWORKFLOW: BEFORE: asterwise_get_western_natal.\nAFTER: asterwise_get_western_solar_arc — compare uniform arc vs individual motion.\n\nINPUT CONTRACT: birth — WesternBirthData.\ntarget_date (optional YYYY-MM-DD) — the date to progress to. Defaults to today.\n\nDO NOT CONFUSE WITH: asterwise_get_western_solar_arc — all planets move by one uniform arc.\nasterwise_get_western_transits_daily — real-time sky, not symbolic progression.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-secondary-progressions/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for Western astrology tools (tropical zodiac).",
"properties": {
"date": {
"description": "Birth date in YYYY-MM-DD format. Example: '1985-11-12'",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"house_system": {
"default": "placidus",
"description": "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'",
"enum": [
"placidus",
"koch",
"equal",
"whole_sign"
],
"type": "string"
},
"lat": {
"description": "Birth latitude in decimal degrees. North positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Birth longitude in decimal degrees. East positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Name of the person. Example: 'Arjun Mehta'",
"type": "string"
},
"time": {
"description": "Birth time in HH:MM format (24-hour). Example: '06:45'",
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC",
"type": "string"
}
},
"required": [
"date",
"time",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"target_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date in YYYY-MM-DD format. Defaults to today when omitted."
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_western_secondary_progressions",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Solar Arc Directions for a target date. The solar arc (progressed Sun minus natal Sun) is applied uniformly to every natal planet and angle — approximately 1° per year. Unlike secondary progressions, all planets advance at the same rate.\n\nWORKFLOW: BEFORE: asterwise_get_western_natal.\nAFTER: None.\n\nINPUT CONTRACT: birth — WesternBirthData.\ntarget_date (optional YYYY-MM-DD) — defaults to today.\n\nDO NOT CONFUSE WITH: asterwise_get_western_secondary_progressions — each planet moves at its own rate.\nasterwise_get_western_transits_daily — real-time transits, not arc directions.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-solar-arc/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for Western astrology tools (tropical zodiac).",
"properties": {
"date": {
"description": "Birth date in YYYY-MM-DD format. Example: '1985-11-12'",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"house_system": {
"default": "placidus",
"description": "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'",
"enum": [
"placidus",
"koch",
"equal",
"whole_sign"
],
"type": "string"
},
"lat": {
"description": "Birth latitude in decimal degrees. North positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Birth longitude in decimal degrees. East positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Name of the person. Example: 'Arjun Mehta'",
"type": "string"
},
"time": {
"description": "Birth time in HH:MM format (24-hour). Example: '06:45'",
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC",
"type": "string"
}
},
"required": [
"date",
"time",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"target_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date in YYYY-MM-DD format. Defaults to today when omitted."
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_western_solar_arc",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Solar return chart for a given year. Finds the exact moment the Sun returns to its natal tropical longitude and builds a complete Western natal chart for that moment at the birth location. Provide the year as an integer (e.g. 2026).\n\nWORKFLOW: BEFORE: asterwise_get_western_natal — understand natal chart before reading return.\nAFTER: None.\n\nINPUT CONTRACT: birth — WesternBirthData. house_system ignored (chart uses return computation defaults).\nyear (int) — calendar year of the return (e.g. 2026), not age.\n\nDO NOT CONFUSE WITH: asterwise_get_western_lunar_return — Moon return, ~monthly.\nasterwise_get_varshaphal — Vedic Tajika solar return — different system.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-solar-return/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for Western astrology tools (tropical zodiac).",
"properties": {
"date": {
"description": "Birth date in YYYY-MM-DD format. Example: '1985-11-12'",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"house_system": {
"default": "placidus",
"description": "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'",
"enum": [
"placidus",
"koch",
"equal",
"whole_sign"
],
"type": "string"
},
"lat": {
"description": "Birth latitude in decimal degrees. North positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Birth longitude in decimal degrees. East positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Name of the person. Example: 'Arjun Mehta'",
"type": "string"
},
"time": {
"description": "Birth time in HH:MM format (24-hour). Example: '06:45'",
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC",
"type": "string"
}
},
"required": [
"date",
"time",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"year": {
"description": "Four-digit calendar year, e.g. 2026.",
"type": "integer"
}
},
"required": [
"birth",
"year"
],
"type": "object"
},
"name": "asterwise_get_western_solar_return",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Aspect grid between two natal charts using the tropical zodiac. Returns all inter-chart aspects using standard inter-chart orbs. Useful for relationship compatibility analysis.\n\nWORKFLOW: BEFORE: asterwise_get_western_natal per person — understand charts individually first.\nAFTER: asterwise_get_western_composite — midpoint chart for the relationship itself.\n\nINPUT CONTRACT: person1, person2 — each WesternBirthData (date, time, lat, lon, timezone). house_system ignored for synastry payload.\n\nDO NOT CONFUSE WITH: asterwise_get_western_composite — one merged midpoint chart vs synastry (two charts overlaid).\nasterwise_get_western_compatibility — numeric 0–100 score vs raw aspects.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-synastry/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"person1": {
"additionalProperties": false,
"description": "Birth data for Western astrology tools (tropical zodiac).",
"properties": {
"date": {
"description": "Birth date in YYYY-MM-DD format. Example: '1985-11-12'",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"house_system": {
"default": "placidus",
"description": "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'",
"enum": [
"placidus",
"koch",
"equal",
"whole_sign"
],
"type": "string"
},
"lat": {
"description": "Birth latitude in decimal degrees. North positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Birth longitude in decimal degrees. East positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Name of the person. Example: 'Arjun Mehta'",
"type": "string"
},
"time": {
"description": "Birth time in HH:MM format (24-hour). Example: '06:45'",
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC",
"type": "string"
}
},
"required": [
"date",
"time",
"lat",
"lon"
],
"type": "object"
},
"person2": {
"additionalProperties": false,
"description": "Birth data for Western astrology tools (tropical zodiac).",
"properties": {
"date": {
"description": "Birth date in YYYY-MM-DD format. Example: '1985-11-12'",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"house_system": {
"default": "placidus",
"description": "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'",
"enum": [
"placidus",
"koch",
"equal",
"whole_sign"
],
"type": "string"
},
"lat": {
"description": "Birth latitude in decimal degrees. North positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Birth longitude in decimal degrees. East positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Name of the person. Example: 'Arjun Mehta'",
"type": "string"
},
"time": {
"description": "Birth time in HH:MM format (24-hour). Example: '06:45'",
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC",
"type": "string"
}
},
"required": [
"date",
"time",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"person1",
"person2"
],
"type": "object"
},
"name": "asterwise_get_western_synastry",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Current sky positions vs natal chart for a single day. Returns all 10 planets with tropical longitudes and active aspects to natal positions using transit orbs: major 3°, sextile 2°, minor 1°. Provide start_date for a specific day; defaults to today.\n\nWORKFLOW: BEFORE: asterwise_get_western_natal — establish natal chart first.\nAFTER: asterwise_get_western_transits_weekly — for week view.\n\nINPUT CONTRACT: birth — WesternBirthData (date, time, lat, lon, timezone). house_system ignored for this endpoint.\nstart_date (optional YYYY-MM-DD) — defaults to today.\n\nDO NOT CONFUSE WITH: asterwise_get_western_transits_weekly — 7 days vs 1 day.\nasterwise_get_western_transits_monthly — 30-day window vs single day.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-transits-daily/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for Western astrology tools (tropical zodiac).",
"properties": {
"date": {
"description": "Birth date in YYYY-MM-DD format. Example: '1985-11-12'",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"house_system": {
"default": "placidus",
"description": "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'",
"enum": [
"placidus",
"koch",
"equal",
"whole_sign"
],
"type": "string"
},
"lat": {
"description": "Birth latitude in decimal degrees. North positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Birth longitude in decimal degrees. East positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Name of the person. Example: 'Arjun Mehta'",
"type": "string"
},
"time": {
"description": "Birth time in HH:MM format (24-hour). Example: '06:45'",
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC",
"type": "string"
}
},
"required": [
"date",
"time",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of the window, YYYY-MM-DD. Defaults to today when omitted."
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_western_transits_daily",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "30-day transit window vs natal chart. Returns day-by-day transit snapshots plus peak aspects (active 10+ days in the window). Use start_date to set the month start; defaults to today.\n\nWORKFLOW: BEFORE: asterwise_get_western_natal.\nAFTER: None.\n\nINPUT CONTRACT: birth — WesternBirthData. house_system ignored.\nstart_date (optional YYYY-MM-DD) — month start; defaults to today.\n\nDO NOT CONFUSE WITH: asterwise_get_western_transits_daily — 1 day.\nasterwise_get_western_transits_weekly — 7 days.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-transits-monthly/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for Western astrology tools (tropical zodiac).",
"properties": {
"date": {
"description": "Birth date in YYYY-MM-DD format. Example: '1985-11-12'",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"house_system": {
"default": "placidus",
"description": "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'",
"enum": [
"placidus",
"koch",
"equal",
"whole_sign"
],
"type": "string"
},
"lat": {
"description": "Birth latitude in decimal degrees. North positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Birth longitude in decimal degrees. East positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Name of the person. Example: 'Arjun Mehta'",
"type": "string"
},
"time": {
"description": "Birth time in HH:MM format (24-hour). Example: '06:45'",
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC",
"type": "string"
}
},
"required": [
"date",
"time",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of the window, YYYY-MM-DD. Defaults to today when omitted."
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_western_transits_monthly",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "7-day transit window vs natal chart. Returns day-by-day transit snapshots plus peak aspects (active 4+ days in the window). Use start_date to set the week start; defaults to today.\n\nWORKFLOW: BEFORE: asterwise_get_western_natal.\nAFTER: asterwise_get_western_transits_monthly — for full month.\n\nINPUT CONTRACT: birth — WesternBirthData. house_system ignored.\nstart_date (optional YYYY-MM-DD) — week start; defaults to today.\n\nDO NOT CONFUSE WITH: asterwise_get_western_transits_daily — single day.\nasterwise_get_western_transits_monthly — 30 days vs 7.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-transits-weekly/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for Western astrology tools (tropical zodiac).",
"properties": {
"date": {
"description": "Birth date in YYYY-MM-DD format. Example: '1985-11-12'",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"house_system": {
"default": "placidus",
"description": "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'",
"enum": [
"placidus",
"koch",
"equal",
"whole_sign"
],
"type": "string"
},
"lat": {
"description": "Birth latitude in decimal degrees. North positive.",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Birth longitude in decimal degrees. East positive.",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Name of the person. Example: 'Arjun Mehta'",
"type": "string"
},
"time": {
"description": "Birth time in HH:MM format (24-hour). Example: '06:45'",
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC",
"type": "string"
}
},
"required": [
"date",
"time",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of the window, YYYY-MM-DD. Defaults to today when omitted."
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_western_transits_weekly",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Sign-to-sign compatibility without birth data. Based on element and modality affinity. Fast — no ephemeris calculation required.\n\nWORKFLOW: BEFORE: None — no birth data needed.\nAFTER: asterwise_get_western_compatibility — when full charts are available.\n\nINPUT CONTRACT: sign1, sign2 — English zodiac names (Aries … Pisces).\n\nDO NOT CONFUSE WITH: asterwise_get_western_compatibility — requires full birth data, more accurate.\nasterwise_get_western_synastry — aspect geometry between two full charts.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-western-zodiac-compatibility/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"sign1": {
"description": "First zodiac sign, e.g. 'Aries'.",
"type": "string"
},
"sign2": {
"description": "Second zodiac sign, e.g. 'Libra'.",
"type": "string"
}
},
"required": [
"sign1",
"sign2"
],
"type": "object"
},
"name": "asterwise_get_western_zodiac_compatibility",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Evaluates the natal chart for named classical yogas and returns category, formation text, the classical texts each yoga is drawn from (classical_sources), a modern summary, and keywords per hit.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — same birth tuple should be understood before interpreting yoga names.\nAFTER: asterwise_get_doshas — complementary affliction scan on the same chart.\n\nINPUT CONTRACT: BirthData follows the global contract. Unknown birth time: omit time (a sunrise chart is cast and birth_time_provided=false); never pass time='00:00' for unknown, which is read as midnight. House-based yogas are then approximate.\n\nDO NOT CONFUSE WITH: asterwise_get_natal_chart — supplies graha_drishti and base chart rows, not the yoga catalogue.\nasterwise_get_panchanga — Panchanga yoga (Sun+Moon sum) is unrelated to these natal yogas.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-yogas/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_yogas",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Computes the eight-Yogini, 36-year Yogini Dasha cycle with two-level period trees and DD/MM/YYYY boundaries from birth data.\n\nWORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — establishes birth context for interpreting Yogini lords.\nAFTER: asterwise_get_dasha — optional Vimshottari comparison for the same native.\n\nINPUT CONTRACT: Tree lives at data.periods.root[] — agents must not expect a top-level data.periods array. Calendar strings in periods use DD/MM/YYYY. BirthData follows the global contract.\n\nDO NOT CONFUSE WITH: asterwise_get_dasha — Vimshottari planet periods with data.periods[] and optional levels 1–5, not Yogini names.\nasterwise_get_ashtottari_dasha — 108-year system with data.periods.root[] but planet-based rows, not Yoginis.\n\nFull output and error contract: https://docs.asterwise.com/mcp/tools/get-yogini-dasha/",
"inputSchema": {
"additionalProperties": false,
"properties": {
"birth": {
"additionalProperties": false,
"description": "Birth data for a single person.",
"properties": {
"ayanamsa": {
"default": "lahiri",
"description": "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)",
"enum": [
"lahiri",
"kp",
"raman",
"tropical"
],
"type": "string"
},
"date": {
"description": "Birth date YYYY-MM-DD.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"lat": {
"description": "Latitude in decimal degrees, north positive (Mumbai 19.076).",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude in decimal degrees, east positive (Mumbai 72.8777).",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"person_name": {
"default": "Chart",
"description": "Person's name, used in labels only.",
"type": "string"
},
"time": {
"anyOf": [
{
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown."
},
"timezone": {
"default": "Asia/Kolkata",
"description": "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata",
"type": "string"
}
},
"required": [
"date",
"lat",
"lon"
],
"type": "object"
},
"response_format": {
"default": "markdown",
"description": "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.",
"enum": [
"markdown",
"json"
],
"type": "string"
}
},
"required": [
"birth"
],
"type": "object"
},
"name": "asterwise_get_yogini_dasha",
"outputSchema": {
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:e113bd9803bda7a2cd597a6b9f795e924cdf92075373487c6b3c6778b22036df | sha256sum