MCP Server

Asterwise

com.asterwise/mcp
Other Public & reachable MCP 2025-11-25

What this MCP does

Provides Vedic and Western astrology, numerology, tarot, dream-symbol, crystal, compatibility, and related esoteric calculations and lookups.

asterwise_check_mobile_number
Mobile Number Check
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. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — anchor Life Path before judging the line. AFTER: None. INPUT CONTRACT: Formatting noise is ignored; only digits contribute. Country code digits are included in the reduction sum. DO NOT CONFUSE WITH: asterwise_check_vehicle_number — plate digit rules, not SIM numbering. asterwise_get_business_name_analysis — letter Expression scan, not phone roots. Full output and error contract: https://docs.asterwise.com/mcp/tools/check-mobile-number/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['mobile_number', 'name', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format.'}, 'name': {'type': 'string', 'description': "Person's full name as commonly written; letters are converted to numerology values."}, 'mobile_number': {'type': 'string', 'description': 'Mobile number to analyse; digits only, country code optional.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_check_sade_sati
Sade Sati
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. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — confirm Moon sign context. AFTER: asterwise_get_gochar — broader transit canvas if needed. INPUT CONTRACT: No explicit query date — API pins to current day. BirthData global contract applies. DO NOT CONFUSE WITH: asterwise_get_gochar — nine-planet daily scan including sade_sati_active flag but less Sade Sati detail than this tool. asterwise_get_transits — ingress/station feed, not Moon-focused Saturn phase model. Full output and error contract: https://docs.asterwise.com/mcp/tools/check-sade-sati/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_check_vehicle_number
Vehicle Number Check
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. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — owner baseline. AFTER: None. INPUT CONTRACT: Letters and separators are ignored; reduction uses numeric digits only. DO NOT CONFUSE WITH: asterwise_check_mobile_number — phone digit rules including country codes. asterwise_get_business_name_analysis — evaluates business Expression, not registration digits. Full output and error contract: https://docs.asterwise.com/mcp/tools/check-vehicle-number/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['vehicle_number', 'name', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format.'}, 'name': {'type': 'string', 'description': "Person's full name as commonly written; letters are converted to numerology values."}, 'vehicle_number': {'type': 'string', 'description': "Vehicle registration number, e.g. 'DL01AB1234'."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_draw_tarot_cards
Draw Tarot Cards
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. WORKFLOW: BEFORE: None — standalone. AFTER: None — interpret drawn cards using their active_meaning and active_keywords fields. INPUT CONTRACT: count (int 1–78, default 1) — Number of unique cards to draw. Example: 1 (daily pull), 3 (simple reading), 10 (Celtic Cross), 78 (full deck shuffle). Values outside 1–78 are rejected locally with MCP INVALID_PARAMS. allow_reversed (bool, default false) — When true, each drawn card independently has a 50% chance of reversal (cryptographically random, not seeded). DO NOT CONFUSE WITH: asterwise_get_tarot_card_of_the_day — deterministic daily card, same for all callers. asterwise_get_tarot_three_card_spread — positional read with named positions and meanings. asterwise_get_tarot_celtic_cross — 10-card positional spread. Full output and error contract: https://docs.asterwise.com/mcp/tools/draw-tarot-cards/
Read only
Input schema
{'type': 'object', 'properties': {'count': {'type': 'integer', 'default': 1, 'description': 'Number of cards to draw.'}, 'allow_reversed': {'type': 'boolean', 'default': False, 'description': 'Whether cards may be drawn reversed (upside down).'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_geocode
Geocode a place
Turns a place name into latitude, longitude and IANA timezone for the other tools, which all take lat, lon and timezone. WORKFLOW: BEFORE: None. AFTER: any tool that takes lat, lon and timezone — asterwise_get_natal_chart, asterwise_get_panchanga, asterwise_get_muhurta, asterwise_get_festival_calendar and others. INPUT CONTRACT: query: place name, at least 2 characters (required). limit: 1-10 (default 5). country: optional ISO 3166 alpha-2 code. DO NOT CONFUSE WITH: None — this is the only place-lookup tool. Full output and error contract: https://docs.asterwise.com/mcp/tools/geocode/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1, 'description': 'Maximum matches to return (1-10).'}, 'query': {'type': 'string', 'minLength': 2, 'description': "Place name, e.g. 'Pune' or 'Fatehabad, Haryana'."}, 'country': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Optional ISO 3166 alpha-2 country code to narrow the search, e.g. 'in'."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_angel_number
Angel Number
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). WORKFLOW: BEFORE: None — standalone. AFTER: None. INPUT CONTRACT: number: string — the angel number sequence to look up. Examples: '111', '444', '1111', '911'. DO NOT CONFUSE WITH: asterwise_get_angel_number_today — today's collective daily angel number. asterwise_get_angel_number_personal — personal angel number from birth date. asterwise_get_number_meaning — Pythagorean numerology meaning for 1–33; different tradition. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-angel-number/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['number'], 'properties': {'number': {'type': 'string', 'description': "Angel number sequence as seen, e.g. '111' or '1234'."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_angel_number_personal
Personal Angel Number
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. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — confirm Life Path before calling. AFTER: None. INPUT CONTRACT: date: Birth date in YYYY-MM-DD format. Example: '1994-03-31' name (optional): Person's name for personalisation. DO NOT CONFUSE WITH: asterwise_get_angel_number_today — collective daily number from today's date, not birth date. asterwise_get_numerology_profile — full Pythagorean profile; this tool extracts only the Life Path → angel sequence mapping. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-angel-number-personal/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['date'], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format.'}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Person's name, used to personalise the angel number reading."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_angel_number_today
Angel Number Today
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). WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_angel_number_personal — for a personalised angel number from birth date. INPUT CONTRACT: No required parameters — today's date is used automatically. DO NOT CONFUSE WITH: asterwise_get_angel_number — lookup for a specific number sequence by value. asterwise_get_angel_number_personal — personalised number from birth date Life Path. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-angel-number-today/
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_ashtakavarga
Ashtakavarga
Computes full Ashtakavarga bindu matrices, trikona and ekadhipatya reductions, and sarva totals from BirthData for transit support analysis. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — confirm chart before AVK study. AFTER: asterwise_get_gochar — uses AVK scores in transit rows. INPUT CONTRACT: BirthData only. DO NOT CONFUSE WITH: asterwise_get_chart_strength — primary payload is Shadbala/Vimshopaka, though it embeds AVK too. asterwise_get_gochar — applies AVK scores to transits rather than exposing raw matrices. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-ashtakavarga/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_ashtottari_dasha
Ashtottari Dasha
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. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — chart context before choosing between Ashtottari and Vimshottari. AFTER: asterwise_get_dasha — optional Vimshottari comparison. INPUT 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. DO NOT CONFUSE WITH: asterwise_get_dasha — standard 120-year Vimshottari with data.periods[], not Ashtottari or data.periods.root[]. asterwise_get_yogini_dasha — 36-year Yogini cycle with yogini names on each row. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-ashtottari-dasha/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'levels': {'type': 'integer', 'default': 3, 'description': 'Depth of the dasha tree: 1 returns major periods only, each extra level adds the next sub-period layer.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_ayanamsha
Ayanamsha
Returns ayanamsha values for all four supported systems (Lahiri, Raman, KP, Tropical) for a given date. WORKFLOW: BEFORE: None — standalone reference. AFTER: None. INPUT CONTRACT: date (optional): Date in YYYY-MM-DD format. Defaults to today. DO NOT CONFUSE WITH: asterwise_get_natal_chart — applies Lahiri ayanamsha automatically to natal positions. asterwise_get_western_natal — uses tropical zodiac (ayanamsha = 0). Full output and error contract: https://docs.asterwise.com/mcp/tools/get-ayanamsha/
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'date': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, {'type': 'null'}], 'default': None, 'description': 'Date to compute the ayanamsha for, YYYY-MM-DD. Defaults to today.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_balance_number
Balance Number
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. WORKFLOW: BEFORE: None — standalone. AFTER: None. INPUT CONTRACT: name — Full legal name as used at birth. The first letter of each space-separated part contributes one value. Example: 'Arjun Mehta' → A(1) + M(4) = 5 Example: 'James Earl Carter' → J(1) + E(5) + C(3) = 9 DO NOT CONFUSE WITH: asterwise_get_expression_number — uses all letters, not just initials. asterwise_get_karmic_lessons — identifies absent digits across all letters. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-balance-number/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "Person's full name as commonly written; letters are converted to numerology values."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_biorhythm
Biorhythm
Computes physical (23-day), emotional (28-day), and intellectual (33-day) biorhythm cycles for a birth date. WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_nakshatra_prediction — for the Vedic personalized daily prediction. INPUT CONTRACT: birth_date (required): Date of birth in YYYY-MM-DD format. target_date (optional): Date to compute for. Defaults to today. days (optional int 1-90): Number of consecutive days. Default 1. DO NOT CONFUSE WITH: asterwise_get_nakshatra_prediction — Vedic Tarabala/Chandrabala daily prediction. asterwise_get_panchanga — Vedic daily panchanga elements, not biorhythm cycles. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-biorhythm/
Read only
Input schema
{'type': 'object', 'required': ['birth_date'], 'properties': {'days': {'type': 'integer', 'default': 1, 'description': 'Number of consecutive days to include, starting from the target date.'}, 'birth_date': {'type': 'string', 'description': 'Date of birth, YYYY-MM-DD.'}, 'target_date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Date to chart the cycles for, YYYY-MM-DD. Defaults to today.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_business_name_analysis
Business Name Analysis
Reduces a business name to Expression and root digits against a founder birth date and returns thematic suitability lists plus a harmony score. WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_name_correction — if the entity is a person, not a brand. INPUT CONTRACT: Special characters and digits are acceptable; reduction strips non-letters per upstream rules. No local validation on name or date. DO NOT CONFUSE WITH: asterwise_get_name_correction — personal spelling alternatives, not corporate Expression scoring. asterwise_check_mobile_number — numeric line analysis, not brand letters. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-business-name-analysis/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['business_name', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format.'}, 'business_name': {'type': 'string', 'description': 'Business or brand name to analyse.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_chaldean_numerology
Chaldean Numerology
Reduces a name and birth date through the Chaldean letter-value system and returns name, birth, and combined compound analyses with themes and keywords. WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_numerology_profile — compare against Pythagorean cores if needed. INPUT CONTRACT: name and date forwarded as-is; no local validation. DO NOT CONFUSE WITH: asterwise_get_numerology_profile — Pythagorean Life Path / Expression stack, not Chaldean compounds. asterwise_get_lo_shu_grid — digit placement magic square, not Chaldean name reduction. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-chaldean-numerology/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['name', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format.'}, 'name': {'type': 'string', 'description': "Person's full name as commonly written; letters are converted to numerology values."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_char_dasha
Char Dasha
Computes Char Dasha from birth data and returns sign lords as period rulers with ISO-dated Maha and Antar sequences plus karaka mappings. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — contextualises the chart before interpreting sign-based lords. AFTER: asterwise_get_dasha — optional Vimshottari cross-check for the same native. INPUT 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. DO NOT CONFUSE WITH: asterwise_get_dasha — Vimshottari planet lords with DD/MM/YYYY in periods[], not sign-based Char Dasha. asterwise_get_yogini_dasha — eight Yoginis and data.periods.root[], not classical signs. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-char-dasha/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_chart_strength
Chart Strength
Aggregates Shadbala, Bhavbala, Vimshopaka (with per-varga contributions), embedded sixteen vargas, Ashtakavarga, karaka maps, and graha yuddha pairs from BirthData. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — contextualises houses before reading bala tables. AFTER: asterwise_get_yogas — optional configuration pass after strength review. INPUT CONTRACT: BirthData only; no extra toggles. DO NOT CONFUSE WITH: asterwise_get_yogas — boolean yoga catalogue, not numeric bala. asterwise_get_ashtakavarga — standalone AVK when strength bundle is not needed. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-chart-strength/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_choghadiya
Choghadiya
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. WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_rahu_kaal — optional inauspicious band overlay for the same date. INPUT CONTRACT: LocationInput enforces YYYY-MM-DD date and lat/lon ranges locally. All parameters are defined in the tool schema. DO NOT CONFUSE WITH: asterwise_get_hora — twenty-four planetary horas, not sixteen Choghadiya. asterwise_get_muhurta — scored windows across a date range for named activities. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-choghadiya/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['location'], 'properties': {'location': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date in YYYY-MM-DD format'}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': 'IANA timezone for the location.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown'}}, 'description': 'For tools that need location but not birth time.', 'additionalProperties': False}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_compatibility
Ashtakoota Compatibility
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. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart per person — understand charts before interpreting scores. AFTER: asterwise_get_papasamyam — optional malefic balance overlay. INPUT CONTRACT: Two BirthData objects follow the global contract (unknown midnight time accepted without flag). All scoring is computed upstream from those payloads. DO NOT CONFUSE WITH: asterwise_get_dashakoot — ten-point South Indian extension, not 36-point Ashtakoota. asterwise_get_porutham — Tamil ten-porutham pass/fail grid, different schema. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-compatibility/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['person1', 'person2'], 'properties': {'person1': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'person2': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_crystal
Crystal Lookup
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. WORKFLOW: BEFORE: None — standalone or after asterwise_get_gemstone_recommendations. AFTER: None. INPUT CONTRACT: name: Crystal slug or display name. Examples: 'amethyst', 'blue-sapphire', 'Cat's Eye Chrysoberyl' DO NOT CONFUSE WITH: asterwise_get_crystals — full 50-crystal catalogue. asterwise_get_crystal_by_planet — all crystals for a Vedic planet. asterwise_get_gemstone_recommendations — natal chart-based gem recommendations (house lordship rules), different from this database. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-crystal/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "Crystal slug or display name, e.g. 'amethyst', 'blue-sapphire', 'Cat's Eye Chrysoberyl'."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_crystal_by_planet
Crystals by Planet
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. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — identify the planet needing remediation. AFTER: asterwise_get_gemstone_recommendations — for chart-specific gem safety assessment. INPUT CONTRACT: planet: One of Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu. DO NOT CONFUSE WITH: asterwise_get_gemstone_recommendations — natal chart house-lordship gem recommendation with contraindications; use for actual gem prescription, not just listing. asterwise_get_crystals — all 50 crystals including Western-only ones. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-crystal-by-planet/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['planet'], 'properties': {'planet': {'type': 'string', 'description': "Planet to find crystals for, e.g. 'Venus' or 'Saturn'."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_crystal_recommendations
Crystal Recommendations
Recommends crystals based on zodiac sign, chakra, or intention keyword. At least one filter is required. Returns crystals that match the most criteria first. WORKFLOW: BEFORE: None — standalone for consumer apps. AFTER: asterwise_get_crystal — get full detail on any recommended crystal. INPUT CONTRACT: At least one of: zodiac_sign, chakra, intention must be provided. zodiac_sign (optional): English zodiac sign, e.g. 'Taurus', 'Scorpio'. chakra (optional): One of Root, Sacral, Solar Plexus, Heart, Throat, Third Eye, Crown. intention (optional): Keyword string, e.g. 'protection', 'abundance', 'love'. limit (optional int, default 5, max 20): Maximum results to return. DO NOT CONFUSE WITH: asterwise_get_crystal_by_planet — Vedic planet filter only. asterwise_get_gemstone_recommendations — natal chart house-lordship gem prescription with contraindications. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-crystal-recommendations/
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 5, 'description': 'Maximum number of results to return.'}, 'chakra': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Chakra to focus on, e.g. 'heart' or 'third eye'."}, 'intention': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Purpose for the recommendation, e.g. 'protection', 'focus', 'love'."}, 'zodiac_sign': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Zodiac sign, e.g. 'Leo'."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_crystal_recommendations_natal
Natal Crystal Recommendations
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. WORKFLOW: BEFORE: None — this tool internally computes the natal chart. No separate natal chart call required. AFTER: asterwise_get_crystal — get full detail (hardness, origins, affirmation, full caution text) on any recommended crystal by slug. AFTER: asterwise_get_remedies — broader classical remedial programme alongside gem recommendations. INPUT CONTRACT: Standard BirthData (date, time, lat, lon, timezone, ayanamsa). Defaults to Lahiri ayanamsa. time (required): Ascendant (Lagna) is time-sensitive. Inaccurate birth time changes the Lagna → changes all house lords → changes recommendations entirely. DO 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. asterwise_get_crystal_recommendations — recommends crystals by zodiac sign, chakra, or intention keyword (no natal chart computation; Western metaphysical matching, not classical Jyotish). asterwise_get_crystal_by_planet — lists all crystals for a Vedic planet without house context — use this for reference, not prescription. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-crystal-recommendations-natal/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_crystals
Crystals Catalogue
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. WORKFLOW: BEFORE: None — standalone catalogue. AFTER: asterwise_get_crystal_by_planet — filter by Vedic planet for remedial use. INPUT CONTRACT: No required parameters. DO NOT CONFUSE WITH: asterwise_get_crystal — single crystal detail by name. asterwise_get_crystal_by_planet — filter by Vedic planetary correspondence. asterwise_get_crystal_recommendations — recommendations by zodiac/chakra/intention. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-crystals/
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_dasha
Vimshottari Dasha
Computes Vimshottari Dasha from birth data and returns hierarchical period trees plus current Maha/Antar interpretation blocks. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — establishes chart and Moon context before interpreting Dasha lords. AFTER: asterwise_get_dasha_transits — correlates active Dasha lords with transits for the same birth data. INPUT 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. DO NOT CONFUSE WITH: asterwise_get_char_dasha — classical sign-based periods with ISO dates on periods[], not planet-based Vimshottari. asterwise_get_yogini_dasha — 36-year eight-Yogini cycle with data.periods.root[], not Vimshottari. asterwise_get_ashtottari_dasha — 108-year alternative tree with data.periods.root[] and same levels semantics as this tool. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-dasha/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'levels': {'type': 'integer', '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).'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_dashakoot
Dashakoot
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. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart for each native — context before regional scoring. AFTER: asterwise_get_papasamyam — optional malefic differential. INPUT CONTRACT: Two BirthData objects per global contract. DO NOT CONFUSE WITH: asterwise_get_compatibility — North Indian 36-point Ashtakoota with different breakdown keys. asterwise_get_porutham — Tamil ten-porutham passed counts, not Dashakoot floats. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-dashakoot/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['person1', 'person2'], 'properties': {'person1': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'person2': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_dasha_transits
Dasha Transits
Combines active Vimshottari lords with today's transits and returns scored correlations plus transit longitudes and houses from Moon and Lagna. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — same birth data should be understood before interpreting houses and lords. AFTER: asterwise_get_gochar — optional broader transit snapshot without dasha scoring. INPUT 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. DO NOT CONFUSE WITH: asterwise_get_gochar — full nine-planet Gochar with AVK and vedha fields, without dasha–transit correlation scores. asterwise_get_transits — ingress and station lists over a chosen range, not today's dasha snapshot. asterwise_get_dasha — full Vimshottari tree without transit overlay. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-dasha-transits/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_divisional_chart
Divisional Chart
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. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — anchor D1 before reading higher vargas. AFTER: None. INPUT 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). DO NOT CONFUSE WITH: asterwise_get_natal_chart — radix chart with houses and drishti, not the varga set. asterwise_get_chart_strength — varga-based strength scores, not placements. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-divisional-chart/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, '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': None, 'description': 'Divisional chart to return, D1 to D60. Omit to return all 16 charts.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_doshas
Doshas
Scores twelve fixed dosha buckets from birth data and returns presence flags, typed detail objects, optional summaries, and remedy lines per dosha. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — chart familiarity before dosha interpretation. AFTER: asterwise_get_remedies — classical remedial suggestions after dosha review. INPUT CONTRACT: BirthData follows the global contract. Unknown birth time at midnight is accepted silently. DO NOT CONFUSE WITH: asterwise_get_chart_strength — Shadbala/Vimshopaka power metrics, not dosha booleans. asterwise_get_compatibility — pair scoring including nadi_dosha flags, not the twelve natal dosha buckets. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-doshas/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_dream_symbol
Dream Symbol
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. WORKFLOW: BEFORE: None — standalone. AFTER: None. INPUT CONTRACT: name: Symbol slug or display name. Examples: 'snake', 'eagle', 'childhood-home', 'lotus', 'black-dog' DO NOT CONFUSE WITH: asterwise_get_dream_symbols — full database listing with optional category filter. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-dream-symbol/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "Dream symbol slug or display name, e.g. 'snake', 'eagle', 'childhood-home', 'lotus'."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_dream_symbols
Dream Symbols
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. WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_dream_symbol — get full detail for a specific symbol. INPUT CONTRACT: category (optional): One of animals, nature, people, places, objects, actions, body, abstract. Omit for all 500 symbols. DO NOT CONFUSE WITH: asterwise_get_dream_symbol — single symbol detail by name. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-dream-symbols/
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'category': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Symbol category to filter by, e.g. 'animals' or 'water'. Omit for all."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_expression_number
Expression Number
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. WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_soul_urge_number — complete the core trinity (Expression, Soul Urge, Personality). INPUT CONTRACT: name — Full legal name as used at birth. Include all name parts separated by spaces. Example: 'Arjun Mehta', 'Sofia Rossi', 'James Carter' Format: string, any case (uppercase/lowercase both accepted) Constraint: at least one alphabetic character required DO NOT CONFUSE WITH: asterwise_get_soul_urge_number — vowels only, not all letters. asterwise_get_personality_number — consonants only, not all letters. asterwise_get_numerology_profile — returns Expression plus all other core numbers, pinnacles, challenges, and lucky numbers in one call. asterwise_get_chaldean_numerology — different letter-value system (Chaldean 1–8). Full output and error contract: https://docs.asterwise.com/mcp/tools/get-expression-number/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "Person's full name as commonly written; letters are converted to numerology values."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_festival_calendar
Festival Calendar
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). WORKFLOW: BEFORE: asterwise_geocode — when you only have a place name. AFTER: asterwise_get_panchanga — the day's limbs and timings for a festival date. INPUT 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. DO NOT CONFUSE WITH: asterwise_get_panchanga_calendar — daily limbs for a month, not festivals. asterwise_get_muhurta — auspicious windows for an activity, not festival dates. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-festival-calendar/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['year', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive.'}, 'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1900, 'description': 'Calendar year, e.g. 2026.'}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': 'IANA timezone of the location.'}, 'categories': {'anyOf': [{'type': 'array', 'items': {'enum': ['festival', 'vrat', 'sankranti', 'eclipse', 'period'], 'type': 'string'}}, {'type': 'null'}], 'default': None, '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).'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_gemstone_recommendations
Gemstone Recommendations
Computes Ratna-style gemstone picks and cautions from the natal chart and returns primary, role-based stones, secondary options, contraindications, and a safety note. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — confirm chart before wearing advice. AFTER: asterwise_get_remedies — broader remedial programme if needed. INPUT CONTRACT: BirthData follows the global contract. DO NOT CONFUSE WITH: asterwise_get_remedies — mantras, fasting, charity rows, not a gem matrix. asterwise_get_lal_kitab_remedies — Lal Kitab actions, not classical Ratna picks. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-gemstone-recommendations/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_ghat_chakra
Ghat Chakra
Returns the four Ghatak (inauspicious) timing parameters for a native based on their Janma Rasi (natal Moon sign). WORKFLOW: BEFORE: None — birth data computes everything needed. AFTER: asterwise_get_nakshatra_prediction — for today's personalized daily auspiciousness score. INPUT CONTRACT: birth — BirthData (date, time, lat, lon, timezone). Moon sign is computed from birth data. DO NOT CONFUSE WITH: asterwise_get_nakshatra_prediction — personalised daily Tarabala score, not static Ghatak parameters. asterwise_get_panchanga — daily panchanga elements, not Ghat Chakra lookup. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-ghat-chakra/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_gochar
Gochar
Computes Gochar against the natal Moon and Lagna and returns per-planet transit longitudes, houses, AVK scores, vedha flags, and a roll-up summary. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — anchors what "natal" means for the same birth record. AFTER: asterwise_get_dasha_transits — adds dasha-lord correlation for today. INPUT 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. DO NOT CONFUSE WITH: asterwise_get_transits — ingress and station tables for a chosen date window, not a single-day Gochar snapshot. asterwise_get_dasha_transits — scores how transits meet active dasha lords, not the full nine-planet Gochar row set. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-gochar/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'target_date': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, {'type': 'null'}], 'default': None, 'description': 'Date in YYYY-MM-DD format. Defaults to today when omitted.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_hora
Hora
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. WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_choghadiya — alternative same-day slot system. INPUT CONTRACT: LocationInput date/coordinate rules apply locally (YYYY-MM-DD, bounded lat/lon). DO NOT CONFUSE WITH: asterwise_get_choghadiya — sixteen Choghadiya segments, not twenty-four Horas. asterwise_get_natal_chart — natal analysis, not hourly muhurta tables. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-hora/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['location'], 'properties': {'location': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date in YYYY-MM-DD format'}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': 'IANA timezone for the location.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown'}}, 'description': 'For tools that need location but not birth time.', 'additionalProperties': False}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_horoscope
Moon Sign Horoscope
Fetches an AI-synthesised Moon-sign horoscope for a chosen horizon and returns structured guidance fields plus metadata about the model and period. WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_natal_chart — if the user needs a personalised chart beyond sign-general copy. INPUT 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. DO NOT CONFUSE WITH: asterwise_get_natal_chart — full personalised sidereal chart from birth data, not Moon-sign editorial copy. asterwise_get_gochar — nine-planet transit snapshot vs natal chart for today, not AI horoscope prose. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-horoscope/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['moon_sign', 'period'], 'properties': {'period': {'enum': ['daily', 'weekly', 'monthly', 'yearly'], 'type': 'string', 'description': 'Horoscope period: daily, weekly, monthly or yearly.'}, 'moon_sign': {'type': 'string', 'description': "Vedic moon sign (rashi), e.g. 'Vrishabha' or 'Taurus'."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_karmic_lessons
Karmic Lessons
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. WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_numerology_profile — see karmic lessons alongside all core numbers. INPUT CONTRACT: name — Full legal name as used at birth. Example: 'Arjun Mehta' — scan all 9 letters for their Pythagorean digit values. Letters present: A=1, R=9, J=1, U=3, N=5, M=4, E=5, H=8, T=2, A=1 Digits present: {1,2,3,4,5,8,9} → Missing: {6,7} DO NOT CONFUSE WITH: asterwise_get_balance_number — uses only first letters (initials), not all letters. asterwise_get_expression_number — reduces all letters to a single number; does not scan for absent digits. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-karmic-lessons/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "Person's full name as commonly written; letters are converted to numerology values."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_kp_chart
KP Chart
Builds a KP natal chart with sub-lords on grahas and twelve cusps from BirthData using the KP ayanamsa in the response. WORKFLOW: BEFORE: RECOMMENDED — cross-check birth record before trusting sub-lords. AFTER: asterwise_get_kp_significators — house-level significator chains. INPUT 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. DO NOT CONFUSE WITH: asterwise_get_natal_chart — classical bundle without KP sub-lords. asterwise_get_kp_ruling_planets — live moment rulers, not natal cusps. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-kp-chart/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_kp_ruling_planets
KP Ruling Planets
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. WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_kp_chart — if natal confirmation is needed afterwards. INPUT CONTRACT: lat and lon only; no date parameter — "now" is implicit on the server clock. DO NOT CONFUSE WITH: asterwise_get_kp_chart — needs BirthData and returns full natal KP cusps. asterwise_get_prashna_chart — horary keyword workflow, not ruling-planet snapshot. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-kp-ruling-planets/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number', 'description': 'Latitude in decimal degrees, north positive (e.g. 13.08).'}, 'lon': {'type': 'number', 'description': 'Longitude in decimal degrees, east positive (e.g. 80.27).'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_kp_significators
KP Significators
Computes KP significator chains for all houses or one optional house from BirthData and returns house tables plus planet-tier reverse indexes. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_kp_chart — establish cusps before significators. AFTER: None. INPUT CONTRACT: house_number optional int; omit for all twelve. Values outside 1..12 are validated upstream only. DO NOT CONFUSE WITH: asterwise_get_kp_chart — cusps and sub-lords, not tiered significator unions. asterwise_get_natal_chart — classical drishti matrices differ from KP significator tiers. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-kp-significators/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'house_number': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'House number 1-12. Omit to cover all twelve houses.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_lal_kitab_chart
Lal Kitab Chart
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. WORKFLOW: BEFORE: None — standalone for Lal Kitab queries. AFTER: asterwise_get_lal_kitab_remedies — practical totkas aligned to this chart. INPUT CONTRACT: BirthData global contract; mixing interpretive systems in prose is a caller concern, not validated here. DO NOT CONFUSE WITH: asterwise_get_natal_chart — classical radix, not Lal Kitab lk_house logic. asterwise_get_lal_kitab_remedies — remedy list without full chart geometry. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-lal-kitab-chart/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_lal_kitab_remedies
Lal Kitab Remedies
Lists Lal Kitab style totkas per stressed planet from BirthData with priority tiers and typed action rows (remedy, donation, keep, avoid). WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_lal_kitab_chart — see chart before applying totkas. AFTER: None. INPUT CONTRACT: BirthData only. DO NOT CONFUSE WITH: asterwise_get_remedies — mantra/gem prescriptions, not Lal Kitab totkas. asterwise_get_gemstone_recommendations — classical Ratna focus, not household remedies. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-lal-kitab-remedies/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_lo_shu_grid
Lo Shu Grid
Derives a Lo Shu three-by-three frequency grid from birth-date digits and annotates planes, missing or repeated digits, and per-digit traits. WORKFLOW: BEFORE: None — standalone. AFTER: None. INPUT CONTRACT: date string only; validated upstream. DO NOT CONFUSE WITH: asterwise_get_numerology_profile — letter-based Western numbers, not digit-frequency Lo Shu. asterwise_get_name_correction — spelling harmonics, not birth-date grids. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-lo-shu-grid/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['date'], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_lucky_numbers
Lucky Numbers
Fetches condensed lucky-number guidance for a name and birth date including primary and secondary picks, power number, interpretation, and a date_specific flag. WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_numerology_profile — if deeper context is required. INPUT CONTRACT: name and date forwarded upstream without local checks. DO NOT CONFUSE WITH: asterwise_get_numerology_profile — full multi-section profile, not lucky-number-only payload. asterwise_get_number_meaning — dictionary entry for one integer, not personalised lucky sets. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-lucky-numbers/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['name', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format.'}, 'name': {'type': 'string', 'description': "Person's full name as commonly written; letters are converted to numerology values."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_maturity_number
Maturity Number
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. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — confirm Life Path and Expression before interpreting their sum. AFTER: None. INPUT CONTRACT: name — Full legal name as used at birth. Example: 'Arjun Mehta' date — Birth date in YYYY-MM-DD format. Example: '1985-11-12' DO NOT CONFUSE WITH: asterwise_get_numerology_profile — returns maturity_number as part of the full profile. asterwise_get_personal_cycles — temporal cycles that change annually, not a fixed number. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-maturity-number/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['name', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format.'}, 'name': {'type': 'string', 'description': "Person's full name as commonly written; letters are converted to numerology values."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_muhurta
Muhurta
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. WORKFLOW: BEFORE: asterwise_geocode — when you only have a place name. AFTER: asterwise_get_panchanga — full timings for a chosen window's day. INPUT 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). DO NOT CONFUSE WITH: asterwise_get_choghadiya — the sixteen slots of one day, not a ranked search. asterwise_get_panchanga — one day's limbs and timings. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-muhurta/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['request'], 'properties': {'request': {'type': 'object', 'required': ['activity', 'from_date', 'to_date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive.'}, 'top_n': {'type': 'integer', 'default': 5, 'maximum': 50, 'minimum': 1, 'description': 'Number of windows to return (1-50).'}, 'to_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End of the search, YYYY-MM-DD (inclusive), at most 366 days after from_date.'}, 'activity': {'enum': ['marriage', 'griha_pravesh', 'business', 'travel', 'naming_ceremony', 'vehicle_purchase', 'property_purchase', 'mundan', 'annaprashan', 'upanayana', 'vidyarambha'], 'type': 'string', 'description': 'Activity to find a muhurta for.'}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': 'Ayanamsa for nakshatra and lagna.'}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': 'IANA timezone of the location.'}, 'from_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start of the search, YYYY-MM-DD (inclusive).'}, 'participants': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'label': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Name shown in the output, e.g. 'Bride'."}, 'birth_lat': {'anyOf': [{'type': 'number', 'maximum': 90.0, 'minimum': -90.0}, {'type': 'null'}], 'default': None, 'description': 'Birth latitude.'}, 'birth_lon': {'anyOf': [{'type': 'number', 'maximum': 180.0, 'minimum': -180.0}, {'type': 'null'}], 'default': None, 'description': 'Birth longitude.'}, 'nakshatra': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Janma nakshatra name, e.g. 'Rohini'. Or give the birth fields instead."}, 'birth_date': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, {'type': 'null'}], 'default': None, 'description': 'Birth date YYYY-MM-DD.'}, 'birth_time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, 'description': 'Birth time HH:MM (24h).'}, 'moon_rashi': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Janma rashi (Moon sign), e.g. 'Vrishabha' or 'Taurus'. Optional with nakshatra."}, 'birth_timezone': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'IANA timezone of the birth place.'}}, 'description': 'A person whose Tarabala and Chandrabala must be favourable (e.g. bride or groom).', 'additionalProperties': False}, 'maxItems': 2}, {'type': 'null'}], 'default': None, 'description': 'Up to two people; adds Tarabala and Chandrabala (Naidhana or the 8th-house Moon rule a moment out).'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown'}, 'max_windows_per_day': {'type': 'integer', 'default': 1, 'maximum': 10, 'minimum': 1, 'description': 'At most this many windows per day, so results spread across dates.'}}, 'description': 'Muhurta search parameters.', 'additionalProperties': False}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_nakshatra_details
Nakshatra Details
Looks up static metadata for one of twenty-seven nakshatras by exact name and returns interpretive, professional, activity, and body-map reference data. WORKFLOW: BEFORE: None — this tool is standalone. AFTER: None. INPUT CONTRACT: nakshatra_name is forwarded raw — no local fuzzy matching or normalisation. DO NOT CONFUSE WITH: asterwise_get_natal_chart — computes birth nakshatra from time/place, not encyclopaedic copy. asterwise_get_dasha — uses Moon nakshatra for timing, not this lookup table. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-nakshatra-details/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['nakshatra_name'], 'properties': {'nakshatra_name': {'type': 'string', 'description': "Nakshatra name, e.g. 'Rohini' or 'Uttara Phalguni'."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_nakshatra_prediction
Nakshatra Prediction
Personal daily prediction from Tarabala and Chandrabala for the day at the birth place (sunrise to next sunrise). WORKFLOW: BEFORE: None — birth data computes everything needed. AFTER: asterwise_get_panchanga — the day's full panchanga; asterwise_get_muhurta — Tarabala-aware windows for an activity. INPUT 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. DO NOT CONFUSE WITH: asterwise_get_nakshatra_details — static nakshatra reference, not a personal prediction. asterwise_get_panchanga — daily panchanga (tithi, yoga, karana), not Tarabala. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-nakshatra-prediction/
Read only
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'target_date': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, {'type': 'null'}], 'default': None, 'description': 'Date in YYYY-MM-DD format. Defaults to today when omitted.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_name_correction
Name Correction
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. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — baseline numbers before renaming advice. AFTER: None. INPUT CONTRACT: name and date strings only; upstream validates. DO NOT CONFUSE WITH: asterwise_get_business_name_analysis — entity Expression scan, not personal spelling alternatives. asterwise_get_chaldean_numerology — Chaldean compounds, not harmony-scored spelling list. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-name-correction/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['name', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format.'}, 'name': {'type': 'string', 'description': "Person's full name as commonly written; letters are converted to numerology values."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_natal_chart
Natal Chart
Computes the full sidereal natal chart from BirthData and returns planet rows, houses, aspects, arudhas, upapada, bhava cusps, and avakhada metadata. WORKFLOW: BEFORE: None — this tool is standalone. AFTER: RECOMMENDED — asterwise_get_yogas — layer classical combinations after the base chart exists. INPUT 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. DO NOT CONFUSE WITH: asterwise_get_divisional_chart — sixteen vargas only, not the primary radix bundle returned here. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-natal-chart/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}, 'include_interpretation': {'type': 'boolean', 'default': False, 'description': 'Include a written interpretation alongside the chart data.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_number_meaning
Number Meaning
Returns dictionary-style numerology copy for a single integer, including interpretation, keywords, and stubbed extended fields. WORKFLOW: BEFORE: None — standalone. AFTER: None. INPUT CONTRACT: number must pass local guard: inclusive range one through thirty-three; values outside that band raise MCP INVALID_PARAMS before the HTTP call. DO NOT CONFUSE WITH: asterwise_get_numerology_profile — computes personal numbers from name and date, not a static dictionary row. asterwise_get_lucky_numbers — personalised lucky list, not reference meanings. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-number-meaning/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['number'], 'properties': {'number': {'type': 'integer', 'description': 'Number to interpret: 1-9, or a master number 11, 22 or 33.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_numerology_compatibility
Numerology Compatibility
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. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile per person — sanity-check Life Paths before comparing. AFTER: None. INPUT CONTRACT: Four strings (two names, two dates) are passed through without local guards. DO NOT CONFUSE WITH: asterwise_get_compatibility — sidereal koota scoring, not numerology integers. asterwise_get_numerology_profile — single-person profile, not dyad scoring. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-numerology-compatibility/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['person1_name', 'person1_date', 'person2_name', 'person2_date'], 'properties': {'person1_date': {'type': 'string', 'description': "First person's date of birth, YYYY-MM-DD."}, 'person1_name': {'type': 'string', 'description': "First person's full name."}, 'person2_date': {'type': 'string', 'description': "Second person's date of birth, YYYY-MM-DD."}, 'person2_name': {'type': 'string', 'description': "Second person's full name."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_numerology_profile
Numerology Profile
Builds a Pythagorean numerology profile from a legal name and birth date and returns core numbers, cycles, lucky digits, and summary copy. WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_personal_year — fills Personal Year when needed. INPUT CONTRACT: name and date strings are forwarded without extra local validation; malformed payloads fail upstream. DO NOT CONFUSE WITH: asterwise_get_chaldean_numerology — Chaldean letter values and compound structure, not Pythagorean cores. asterwise_get_lucky_numbers — lightweight lucky list without the full profile payload. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-numerology-profile/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['name', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format.'}, 'name': {'type': 'string', 'description': "Person's full name as commonly written; letters are converted to numerology values."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_panchanga
Panchanga
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). WORKFLOW: BEFORE: asterwise_geocode — when you only have a place name. AFTER: asterwise_get_muhurta — to find auspicious windows across a date range; asterwise_get_festival_calendar — for the festivals and vrats of the year. INPUT CONTRACT: location.date is YYYY-MM-DD; location.lat, location.lon and location.timezone (IANA) give the place. Dates 1800-2099. DO NOT CONFUSE WITH: asterwise_get_yogas — natal chart yogas, not the Panchanga Sun–Moon yoga. asterwise_get_panchanga_calendar — one row per day for a whole month. asterwise_get_tamil_panchanga — Tamil month and Rahu Kalam/Yamagandam/Kuligai only. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-panchanga/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['location'], 'properties': {'location': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date in YYYY-MM-DD format'}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': 'IANA timezone for the location.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown'}}, 'description': 'For tools that need location but not birth time.', 'additionalProperties': False}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_panchanga_calendar
Panchanga Calendar
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. WORKFLOW: BEFORE: asterwise_geocode — when you only have a place name. AFTER: asterwise_get_panchanga — full timings for one chosen day. INPUT 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). DO NOT CONFUSE WITH: asterwise_get_panchanga — one day with all timings. asterwise_get_festival_calendar — festivals and vrats rather than daily limbs. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-panchanga-calendar/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['calendar'], 'properties': {'calendar': {'type': 'object', 'required': ['year', 'month', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive.'}, 'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1900, 'description': 'Calendar year, 1900-2100.'}, 'month': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'Month number 1-12.'}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': 'Ayanamsa for nakshatra and yoga.'}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the location, e.g. 'America/New_York'. Default: Asia/Kolkata."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown'}}, 'description': 'Monthly Panchanga calendar parameters.', 'additionalProperties': False}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_papasamyam
Papasamyam
Measures malefic stress from Lagna, Moon, and Venus references for each partner, compares totals, and labels compatibility level against a threshold. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_compatibility — establish baseline match quality. AFTER: None. INPUT CONTRACT: Two BirthData objects per global contract. DO NOT CONFUSE WITH: asterwise_get_doshas — twelve natal dosha buckets for one chart, not pairwise malefic balance. asterwise_get_compatibility — Guna Milan totals and vetoes, not Papa Samyam scoring. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-papasamyam/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['person1', 'person2'], 'properties': {'person1': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'person2': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_personal_cycles
Personal Cycles
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. WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_numerology_profile — see personal cycles alongside core numbers. INPUT CONTRACT: date — Birth date in YYYY-MM-DD format. Example: '1985-11-12' year (optional int) — Target year. Defaults to current calendar year. Example: 2026 month (optional int 1–12) — Target month. Defaults to current month. Example: 5 day (optional int 1–31) — Target day. Personal Day is only returned when day is provided. Defaults to null (Personal Day omitted). Example: 1 DO NOT CONFUSE WITH: asterwise_get_personal_year — returns Personal Year only, no month or day breakdown. asterwise_get_numerology_profile — core name numbers; personal_year field is null there. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-personal-cycles/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['date'], 'properties': {'day': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Day of the month 1-31. Defaults to today when omitted.'}, 'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format.'}, 'year': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Four-digit calendar year, e.g. 2026. Defaults to the current year when omitted.'}, 'month': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Month number 1-12. Defaults to the current month when omitted.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_personality_number
Personality Number
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. WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_numerology_profile — see all five core numbers together. INPUT CONTRACT: name — Full legal name as used at birth. Example: 'Arjun Mehta', 'Sofia Rossi' Y is always a consonant — not treated as a vowel. DO NOT CONFUSE WITH: asterwise_get_expression_number — all letters (Expression = Soul Urge + Personality). asterwise_get_soul_urge_number — vowels only. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-personality-number/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "Person's full name as commonly written; letters are converted to numerology values."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_personal_year
Personal Year
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. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — see other core numbers first. AFTER: None. INPUT CONTRACT: Only name and date are submitted; the active calendar year is chosen upstream automatically. DO NOT CONFUSE WITH: asterwise_get_numerology_profile — personal_year field there is null; this endpoint supplies the annual theme. asterwise_get_varshaphal — Vedic solar return, not Pythagorean Personal Year. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-personal-year/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['name', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format.'}, 'name': {'type': 'string', 'description': "Person's full name as commonly written; letters are converted to numerology values."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_pitra_dosha
Pitra Dosha
Detects and analyses Pitru Dosha (Pitru Shapa — Ancestral Curse) using all five classical Pitru Dosha combinations. WORKFLOW: BEFORE: None — birth data computes everything needed. AFTER: asterwise_get_puja_suggestions — recommend remedial pujas for Sun/Mars. INPUT CONTRACT: birth — BirthData (date, time, lat, lon, timezone). DO 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. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-pitra-dosha/
Read only
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_planet_nature
Planet Nature
Returns classical graha (planet) properties for all nine planets or a single planet per classical Vedic tradition. WORKFLOW: BEFORE: None — standalone reference. AFTER: asterwise_get_puja_suggestions — propitiation for a specific graha. INPUT CONTRACT: planet (optional): One of Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu. Omit to get all nine planets. DO NOT CONFUSE WITH: asterwise_get_puja_suggestions — ritual propitiation per planet, not properties. asterwise_get_rudraksha — bead recommendations per planet, not natal properties. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-planet-nature/
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'planet': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Planet name in English, e.g. 'Jupiter', 'Saturn', 'Rahu'."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_porutham
Porutham
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. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart per native. AFTER: asterwise_get_thirumana_porutham — extended twelve-koota read if needed. INPUT CONTRACT: Two BirthData objects per global contract. DO NOT CONFUSE WITH: asterwise_get_thirumana_porutham — twelve poruthams including Nadi and Varna, not ten. asterwise_get_dashakoot — South Indian float scoring, not Tamil pass grid. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-porutham/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['person1', 'person2'], 'properties': {'person1': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'person2': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_prashna_chart
Prashna Chart
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. WORKFLOW: BEFORE: None — standalone for horary. AFTER: None. INPUT 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. DO NOT CONFUSE WITH: asterwise_get_natal_chart — requires birth data, not query-moment prashna. asterwise_get_kp_chart — natal KP from birth time, not horary keyword mapping. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-prashna-chart/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['prashna'], 'properties': {'prashna': {'type': 'object', 'required': ['question', 'date', 'time', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri'}, 'question': {'type': 'string', 'minLength': 1}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown'}}, 'description': 'Prashna (horary) query parameters.', 'additionalProperties': False}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_puja_suggestions
Puja Suggestions
Returns puja (ritual worship) recommendations for planetary propitiation per graha. WORKFLOW: BEFORE: asterwise_get_natal_chart — identify afflicted planets before recommending pujas. AFTER: asterwise_get_rudraksha — complementary bead-based remedy. INPUT CONTRACT: planet (optional): One of Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu. Omit to get all nine planets. DO NOT CONFUSE WITH: asterwise_get_remedies — personalised remedies from natal chart analysis. asterwise_get_rudraksha — bead recommendations, not puja rituals. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-puja-suggestions/
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'planet': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Planet name in English, e.g. 'Jupiter', 'Saturn', 'Rahu'."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_rahu_kaal
Rahu Kaal
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. WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_choghadiya — broader auspicious/inauspicious grid for the day. INPUT CONTRACT: LocationInput validates date pattern and coordinates locally. DO NOT CONFUSE WITH: asterwise_get_choghadiya — full day/night slot tables, not only the three kaal bands. asterwise_get_panchanga — Panchanga limbs, not kaal timers. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-rahu-kaal/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['location'], 'properties': {'location': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date in YYYY-MM-DD format'}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': 'IANA timezone for the location.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown'}}, 'description': 'For tools that need location but not birth time.', 'additionalProperties': False}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_remedies
Remedies
Derives classical remedial prescriptions from planetary weakness and dusthana lordship and returns mantra, lifestyle, charity, and dignity tables. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — chart context before choosing remedies. AFTER: asterwise_get_gemstone_recommendations — optional focused gem briefing. INPUT CONTRACT: BirthData follows the global contract. DO NOT CONFUSE WITH: asterwise_get_lal_kitab_remedies — household Lal Kitab totkas, not mantra/gem classical rows. asterwise_get_gemstone_recommendations — gemstone roles and contraindications only, not full lifestyle remedies. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-remedies/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_rudraksha
Rudraksha
Returns Rudraksha bead recommendations per planet. WORKFLOW: BEFORE: asterwise_get_natal_chart — identify planets needing support. AFTER: None. INPUT CONTRACT: planet (optional): One of Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu. Omit to get all nine planets. DO NOT CONFUSE WITH: asterwise_get_gemstone_recommendations — Ratna-style gemstones from natal chart. asterwise_get_puja_suggestions — ritual worship, not bead recommendations. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-rudraksha/
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'planet': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Planet name in English, e.g. 'Jupiter', 'Saturn', 'Rahu'."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_soul_urge_number
Soul Urge Number
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. WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_personality_number — complete the name number trinity. INPUT CONTRACT: name — Full legal name as used at birth. Example: 'Arjun Mehta', 'Sofia Rossi' Y is always treated as a consonant — not a vowel. DO NOT CONFUSE WITH: asterwise_get_expression_number — all letters, not vowels only. asterwise_get_personality_number — consonants only, not vowels. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-soul-urge-number/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "Person's full name as commonly written; letters are converted to numerology values."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_special_ascendants
Special Ascendants
Calls atmakaraka and ishta-devata endpoints sequentially and merges their payloads into top-level atmakaraka and ishta_devata objects for one BirthData. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — understand chart basics before devotional pointers. AFTER: None. INPUT 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. DO NOT CONFUSE WITH: asterwise_get_natal_chart — general chart; does not compute ishta devata workflow. asterwise_get_char_dasha — timing system using karakas, not deity discovery. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-special-ascendants/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_tamil_panchanga
Tamil Panchanga
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. WORKFLOW: BEFORE: asterwise_geocode — when you only have a place name. AFTER: asterwise_get_panchanga — the day's limbs and other timings. INPUT CONTRACT: date (YYYY-MM-DD), lat, lon, timezone (IANA, default Asia/Kolkata). DO NOT CONFUSE WITH: asterwise_get_rahu_kaal — the same three periods without the Tamil month or Nalla Neram. asterwise_get_panchanga — the full panchanga day. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tamil-panchanga/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date for the Tamil panchanga, YYYY-MM-DD.'}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': 'IANA timezone of the location.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_tarot_card
Tarot Card Lookup
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. WORKFLOW: BEFORE: None — standalone. AFTER: None. INPUT CONTRACT: card_id — Slug identifier for the card. Must be exact. 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' Minor Arcana pattern: '{rank}-of-{suit}' Examples: 'ace-of-wands', 'two-of-cups', 'ten-of-swords', 'page-of-pentacles', 'knight-of-wands', 'queen-of-cups', 'king-of-swords' DO NOT CONFUSE WITH: asterwise_get_tarot_cards — returns all 78 cards in one call. asterwise_draw_tarot_cards — random draw, not a specific card. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-card/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['card_id'], 'properties': {'card_id': {'type': 'string', 'description': "Tarot card identifier in kebab-case, e.g. 'the-fool' or 'ace-of-wands'."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_tarot_card_of_the_day
Tarot Card of the Day
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. WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_tarot_three_card_spread — for deeper daily reading context. INPUT CONTRACT: date (optional string YYYY-MM-DD) — Date to get the card for. Defaults to today. Example: '2026-05-01' allow_reversed (optional bool) — Default: false. When true: reversed state is also deterministic (seeded by date+'_rev'). When false: card is always upright regardless of date. DO NOT CONFUSE WITH: asterwise_draw_tarot_cards — random draw, different every call. asterwise_get_tarot_three_card_spread — positional reading with question context. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-card-of-the-day/
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Date in YYYY-MM-DD format. Defaults to today when omitted.'}, 'allow_reversed': {'type': 'boolean', 'default': False, 'description': 'Whether cards may be drawn reversed (upside down).'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_tarot_cards
Tarot Cards Catalogue
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. WORKFLOW: BEFORE: None — standalone catalogue endpoint. AFTER: asterwise_draw_tarot_cards or asterwise_get_tarot_three_card_spread — use card data from this endpoint to build enriched display layers. INPUT CONTRACT: response_format (optional): markdown (default) | json, as on every Asterwise tool. No other parameters. DO NOT CONFUSE WITH: asterwise_get_tarot_major_arcana — returns only the 22 Major Arcana subset. asterwise_get_tarot_suit — returns only the 14 cards of a single suit. asterwise_draw_tarot_cards — returns a random draw, not the catalogue. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-cards/
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_tarot_celtic_cross
Tarot Celtic Cross
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. WORKFLOW: BEFORE: None — standalone reading, or follow asterwise_get_tarot_three_card_spread when a more detailed examination of the same question is needed. AFTER: None. INPUT CONTRACT: allow_reversed (bool, default false) — Each card independently has 50% reversal chance. question (optional string, max 500 chars) — The question or situation being examined. Example: 'Should I accept the job offer in London?' DO NOT CONFUSE WITH: asterwise_get_tarot_three_card_spread — 3 positions only; use for simpler questions. asterwise_draw_tarot_cards — free draw with no positional meaning. asterwise_get_tarot_yes_no — binary answer, not positional analysis. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-celtic-cross/
Read only
Input schema
{'type': 'object', 'properties': {'question': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "The question being asked; it shapes the reading's interpretation."}, 'allow_reversed': {'type': 'boolean', 'default': False, 'description': 'Whether cards may be drawn reversed (upside down).'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_tarot_major_arcana
Tarot Major Arcana
Returns all 22 Major Arcana cards (The Fool through The World) as a structured array. Major Arcana represent universal archetypes and major life themes. WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_draw_tarot_cards — draw from this subset by filtering by arcana_type. INPUT CONTRACT: response_format (optional): markdown (default) | json. DO NOT CONFUSE WITH: asterwise_get_tarot_cards — full 78-card deck including Minor Arcana. asterwise_get_tarot_suit — 14 Minor Arcana cards by suit. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-major-arcana/
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_tarot_suit
Tarot Suit
Returns all 14 cards in a given Minor Arcana suit as a structured array. WORKFLOW: BEFORE: None — standalone. AFTER: None. INPUT CONTRACT: suit — One of exactly: 'wands', 'cups', 'swords', 'pentacles'. Case-insensitive. Any other value is rejected locally with MCP INVALID_PARAMS. DO NOT CONFUSE WITH: asterwise_get_tarot_major_arcana — 22 Major Arcana, not suit-based. asterwise_get_tarot_cards — full 78-card catalogue. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-suit/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['suit'], 'properties': {'suit': {'type': 'string', 'description': 'Minor arcana suit: wands, cups, swords or pentacles.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_tarot_three_card_spread
Tarot Three Card Spread
Past / Present / Future spread. Draws 3 unique cards using cryptographic randomness and assigns each to a named positional slot with an interpretive context. WORKFLOW: BEFORE: None — standalone reading. AFTER: asterwise_get_tarot_celtic_cross — for deeper 10-position analysis of same question. INPUT CONTRACT: allow_reversed (bool, default false) — Each card independently has 50% reversal chance. question (optional string, max 500 chars) — The question being asked. Setting a question is strongly recommended for coherent readings. Example: 'What should I focus on in my career this month?' The question is echoed in the response but does not affect card selection. DO NOT CONFUSE WITH: asterwise_draw_tarot_cards — free draw with no positional meaning. asterwise_get_tarot_celtic_cross — 10-card spread with comprehensive positional coverage. asterwise_get_tarot_yes_no — single-card binary answer, no positional structure. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-three-card-spread/
Read only
Input schema
{'type': 'object', 'properties': {'question': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "The question being asked; it shapes the reading's interpretation."}, 'allow_reversed': {'type': 'boolean', 'default': False, 'description': 'Whether cards may be drawn reversed (upside down).'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_tarot_yes_no
Tarot Yes No
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. WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_tarot_three_card_spread — for more context when the yes/no answer is 'maybe' or the situation needs elaboration. INPUT CONTRACT: allow_reversed (bool, default true) — Recommended to keep true for nuanced answers. Set false only if you want strictly yes/no with no maybe results from reversal. question (optional string, max 500 chars) — The yes/no question being asked. Example: 'Should I accept this job offer?' Example: 'Will the project launch on time?' DO NOT CONFUSE WITH: asterwise_get_tarot_three_card_spread — positional reading, not binary answer. asterwise_draw_tarot_cards — free draw without answer logic. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-yes-no/
Read only
Input schema
{'type': 'object', 'properties': {'question': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'The yes/no question being asked.'}, 'allow_reversed': {'type': 'boolean', 'default': True, 'description': 'Whether cards may be drawn reversed (upside down).'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_thirumana_porutham
Thirumana Porutham
Evaluates twelve Tamil Thirumana poruthams for two charts, tracks veto severity for Rajju, and returns an expanded breakdown map with tradition metadata. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_porutham — quick ten-koota pass before twelve-koota depth. AFTER: None. INPUT CONTRACT: Two BirthData objects per global contract. DO NOT CONFUSE WITH: asterwise_get_porutham — ten poruthams only, no Nadi/Varna keys. asterwise_get_compatibility — North Indian 36-point schema, not Tamil porutham map. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-thirumana-porutham/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['person1', 'person2'], 'properties': {'person1': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'person2': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_transits
Transits
Lists sign ingresses and retrograde/direct stations for all planets between two dates against the natal context and returns chronological astronomical events. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — clarifies the natal reference for the same birth data. AFTER: asterwise_get_gochar — optional current snapshot after scanning the range. INPUT 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. DO NOT CONFUSE WITH: asterwise_get_gochar — single-day transit snapshot with houses from Moon/Lagna, not ingress/station lists. asterwise_get_dasha_transits — dasha lord vs transit scoring for today only. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-transits/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth', 'from_date', 'to_date'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'to_date': {'type': 'string', 'description': 'End of the window to list ingress and station events, YYYY-MM-DD.'}, 'from_date': {'type': 'string', 'description': 'Start of the window to list ingress and station events, YYYY-MM-DD.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_varshaphal
Varshaphal
Computes the annual Tajika-style solar return for a four-digit civil year and returns Muntha, Pancha Adhikari metrics, Tajika aspects, and varshaphal positions. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — baseline radix before annual overlay. AFTER: None. INPUT CONTRACT: year is a plain int sent as target_year upstream; callers must supply the true Gregorian return year, not age. DO NOT CONFUSE WITH: asterwise_get_dasha — multi-decade Vimshottari, not one solar return. asterwise_get_transits — ingress/station timeline, not annual Tajika chart. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-varshaphal/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth', 'year'], 'properties': {'year': {'type': 'integer', 'description': 'Year of the solar return to compute, four digits, e.g. 2026.'}, 'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_varshaphal_harsha_bala
Varshaphal Harsha Bala
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). WORKFLOW: 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. AFTER: asterwise_get_varshaphal_saham — use Harsha Bala to assess whether each Saham lord can deliver its theme with ease or difficulty. INPUT CONTRACT: Same as asterwise_get_varshaphal — BirthData plus target_year. target_year (required int): The Gregorian civil year of the solar return. Not age. time (required): Solar return ascendant and house positions are time-sensitive. DO 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. asterwise_get_varshaphal_saham — derives sensitive zodiac points; this tool scores planet positional comfort. asterwise_get_chart_strength — Shadbala for the natal chart, not Tajika Harsha Bala for the solar return. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-varshaphal-harsha-bala/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth', 'year'], 'properties': {'year': {'type': 'integer', 'description': 'Four-digit calendar year, e.g. 2026.'}, 'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_varshaphal_saham
Varshaphal Saham
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. WORKFLOW: 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. AFTER: asterwise_get_varshaphal_harsha_bala — assess the Saham lord's positional happiness score to determine ease or difficulty of manifestation. INPUT CONTRACT: Same as asterwise_get_varshaphal — BirthData plus target_year. target_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. time (required): Solar return Ascendant is time-sensitive. Accurate birth time is required for reliable Saham interpretation. DO 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. asterwise_get_varshaphal_harsha_bala — scores planet positional happiness; this tool computes zodiac points, not planet positions. asterwise_get_gemstone_recommendations — birthchart gemstone recommendations, unrelated to Tajika Saham. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-varshaphal-saham/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth', 'year'], 'properties': {'year': {'type': 'integer', 'description': 'Four-digit calendar year, e.g. 2026.'}, 'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_aspects
Western Aspects
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. WORKFLOW: BEFORE: None — standalone; or use asterwise_get_western_natal to get positions first. AFTER: None. INPUT CONTRACT: positions — dict mapping planet/body name (string) to tropical longitude (float 0–360). Must contain at least 2 entries. Example: {'Sun': 229.6, 'Moon': 221.8, 'Mars': 189.6, 'Jupiter': 309.6} Names can be any string — the tool does not enforce planet names. DO NOT CONFUSE WITH: asterwise_get_western_natal — computes both positions and aspects from birth data. asterwise_get_western_synastry — inter-chart aspects between two people. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-aspects/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['positions'], 'properties': {'positions': {'type': 'object', 'description': 'Planet positions to compare: a mapping of planet name to ecliptic longitude in degrees (0-360).', 'additionalProperties': {'type': 'number'}}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_compatibility
Western Compatibility
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. WORKFLOW: BEFORE: asterwise_get_western_natal per person optional. AFTER: asterwise_get_western_synastry — drill into raw aspects if score needs detail. INPUT CONTRACT: person1, person2 — WesternBirthData each. DO NOT CONFUSE WITH: asterwise_get_western_synastry — raw aspects, no score. asterwise_get_western_zodiac_compatibility — sign-only, no birth data. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-compatibility/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['person1', 'person2'], 'properties': {'person1': {'type': 'object', 'required': ['date', 'time', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Birth latitude in decimal degrees. North positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Birth longitude in decimal degrees. East positive.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Birth date in YYYY-MM-DD format. Example: '1985-11-12'"}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': "Birth time in HH:MM format (24-hour). Example: '06:45'"}, 'timezone': {'type': 'string', 'default': 'UTC', 'description': "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Name of the person. Example: 'Arjun Mehta'"}, 'house_system': {'enum': ['placidus', 'koch', 'equal', 'whole_sign'], 'type': 'string', 'default': 'placidus', 'description': "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'"}}, 'description': 'Birth data for Western astrology tools (tropical zodiac).', 'additionalProperties': False}, 'person2': {'type': 'object', 'required': ['date', 'time', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Birth latitude in decimal degrees. North positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Birth longitude in decimal degrees. East positive.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Birth date in YYYY-MM-DD format. Example: '1985-11-12'"}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': "Birth time in HH:MM format (24-hour). Example: '06:45'"}, 'timezone': {'type': 'string', 'default': 'UTC', 'description': "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Name of the person. Example: 'Arjun Mehta'"}, 'house_system': {'enum': ['placidus', 'koch', 'equal', 'whole_sign'], 'type': 'string', 'default': 'placidus', 'description': "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'"}}, 'description': 'Birth data for Western astrology tools (tropical zodiac).', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_composite
Western Composite
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. WORKFLOW: BEFORE: asterwise_get_western_synastry — examine inter-chart aspects before composite. AFTER: None. INPUT CONTRACT: person1, person2 — WesternBirthData each. house_system ignored. DO NOT CONFUSE WITH: asterwise_get_western_synastry — two charts, inter-chart aspects vs composite (one midpoint chart). asterwise_get_western_compatibility — numeric score vs structural composite chart. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-composite/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['person1', 'person2'], 'properties': {'person1': {'type': 'object', 'required': ['date', 'time', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Birth latitude in decimal degrees. North positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Birth longitude in decimal degrees. East positive.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Birth date in YYYY-MM-DD format. Example: '1985-11-12'"}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': "Birth time in HH:MM format (24-hour). Example: '06:45'"}, 'timezone': {'type': 'string', 'default': 'UTC', 'description': "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Name of the person. Example: 'Arjun Mehta'"}, 'house_system': {'enum': ['placidus', 'koch', 'equal', 'whole_sign'], 'type': 'string', 'default': 'placidus', 'description': "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'"}}, 'description': 'Birth data for Western astrology tools (tropical zodiac).', 'additionalProperties': False}, 'person2': {'type': 'object', 'required': ['date', 'time', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Birth latitude in decimal degrees. North positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Birth longitude in decimal degrees. East positive.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Birth date in YYYY-MM-DD format. Example: '1985-11-12'"}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': "Birth time in HH:MM format (24-hour). Example: '06:45'"}, 'timezone': {'type': 'string', 'default': 'UTC', 'description': "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Name of the person. Example: 'Arjun Mehta'"}, 'house_system': {'enum': ['placidus', 'koch', 'equal', 'whole_sign'], 'type': 'string', 'default': 'placidus', 'description': "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'"}}, 'description': 'Birth data for Western astrology tools (tropical zodiac).', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_horoscope
Western Horoscope
Fetches an AI-synthesised Western sun-sign horoscope for a chosen horizon and returns structured guidance fields plus metadata about the model and period. WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_western_natal — if the user needs a personalised tropical chart beyond sign-general copy. INPUT 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. DO NOT CONFUSE WITH: asterwise_get_horoscope — Vedic Moon-sign horoscope using sidereal zodiac, not Western tropical sun-sign. asterwise_get_western_natal — full personalised tropical chart from birth data, not sign-general editorial copy. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-horoscope/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['sun_sign', 'period'], 'properties': {'period': {'enum': ['daily', 'weekly', 'monthly', 'yearly'], 'type': 'string', 'description': 'Horoscope period: daily, weekly, monthly or yearly.'}, 'sun_sign': {'type': 'string', 'description': "Western sun sign, e.g. 'Aries'."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_lunar_return
Western Lunar Return
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. WORKFLOW: BEFORE: asterwise_get_western_natal. AFTER: None. INPUT CONTRACT: birth — WesternBirthData. after_date (optional YYYY-MM-DD) — find next return after this date. Defaults to today. DO NOT CONFUSE WITH: asterwise_get_western_solar_return — annual Sun return vs lunar_return (monthly Moon return). Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-lunar-return/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'time', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Birth latitude in decimal degrees. North positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Birth longitude in decimal degrees. East positive.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Birth date in YYYY-MM-DD format. Example: '1985-11-12'"}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': "Birth time in HH:MM format (24-hour). Example: '06:45'"}, 'timezone': {'type': 'string', 'default': 'UTC', 'description': "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Name of the person. Example: 'Arjun Mehta'"}, 'house_system': {'enum': ['placidus', 'koch', 'equal', 'whole_sign'], 'type': 'string', 'default': 'placidus', 'description': "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'"}}, 'description': 'Birth data for Western astrology tools (tropical zodiac).', 'additionalProperties': False}, 'after_date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Find the first occurrence after this date, YYYY-MM-DD. Defaults to today when omitted.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_moon_calendar
Western Moon Calendar
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. WORKFLOW: BEFORE: None — standalone. AFTER: None. INPUT CONTRACT: year (optional int) — Target year. Defaults to current year. Example: 2026 month (optional int 1–12) — Target month. Defaults to current month. Example: 5 (May) Values outside 1–12 are rejected locally with MCP INVALID_PARAMS. DO NOT CONFUSE WITH: asterwise_get_western_moon_phase — single-day phase only. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-moon-calendar/
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'year': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Four-digit calendar year, e.g. 2026. Defaults to the current year when omitted.'}, 'month': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Month number 1-12. Defaults to the current month when omitted.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_moon_phase
Western Moon Phase
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. WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_western_moon_calendar — get the full month's phase data. INPUT CONTRACT: date (optional string YYYY-MM-DD) — Date to compute phase for. Defaults to today. Example: '2026-05-01' DO NOT CONFUSE WITH: asterwise_get_western_moon_calendar — full monthly day-by-day phase table. asterwise_get_panchanga — Vedic tithi system (lunar day based on 12° arc increments). Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-moon-phase/
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Date for the moon phase, YYYY-MM-DD. Defaults to today.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_natal
Western Natal Chart
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. WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_western_transits_daily — layer current transits over this natal chart. AFTER: asterwise_get_western_synastry — compare this chart against a partner's chart. AFTER: asterwise_get_western_solar_return — annual return chart for the current year. INPUT CONTRACT: birth.date — YYYY-MM-DD. Example: '1985-11-12' birth.time — HH:MM (24-hour local time). Example: '06:45' birth.lat — Decimal degrees, north positive. Example: 19.076 (Mumbai) birth.lon — Decimal degrees, east positive. Example: 72.8777 (Mumbai) birth.timezone — IANA timezone string. Example: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC. IMPORTANT: Timezone defaults to UTC — always supply the correct local timezone for accurate house cusps. An incorrect timezone shifts the Ascendant. birth.house_system — 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'. Placidus is standard for most Western traditions. Whole sign is traditional/Hellenistic. 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. ayanamsa — always tropical regardless of any value supplied; field is not present. DO 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). asterwise_get_western_aspects — takes raw longitudes as input; use when you already have positions and don't need full chart computation. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-natal/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'time', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Birth latitude in decimal degrees. North positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Birth longitude in decimal degrees. East positive.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Birth date in YYYY-MM-DD format. Example: '1985-11-12'"}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': "Birth time in HH:MM format (24-hour). Example: '06:45'"}, 'timezone': {'type': 'string', 'default': 'UTC', 'description': "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Name of the person. Example: 'Arjun Mehta'"}, 'house_system': {'enum': ['placidus', 'koch', 'equal', 'whole_sign'], 'type': 'string', 'default': 'placidus', 'description': "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'"}}, 'description': 'Birth data for Western astrology tools (tropical zodiac).', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_planetary_return
Western Planetary Return
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. WORKFLOW: BEFORE: asterwise_get_western_natal. AFTER: None. INPUT CONTRACT: birth — WesternBirthData. planet — one of Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto. after_date (optional YYYY-MM-DD) — defaults to today. DO NOT CONFUSE WITH: asterwise_get_western_solar_return — Sun-only shortcut. asterwise_get_western_lunar_return — Moon-only shortcut. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-planetary-return/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth', 'planet'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'time', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Birth latitude in decimal degrees. North positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Birth longitude in decimal degrees. East positive.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Birth date in YYYY-MM-DD format. Example: '1985-11-12'"}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': "Birth time in HH:MM format (24-hour). Example: '06:45'"}, 'timezone': {'type': 'string', 'default': 'UTC', 'description': "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Name of the person. Example: 'Arjun Mehta'"}, 'house_system': {'enum': ['placidus', 'koch', 'equal', 'whole_sign'], 'type': 'string', 'default': 'placidus', 'description': "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'"}}, 'description': 'Birth data for Western astrology tools (tropical zodiac).', 'additionalProperties': False}, 'planet': {'type': 'string', 'description': "Planet whose return to compute, e.g. 'Jupiter' or 'Saturn'."}, 'after_date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Find the first occurrence after this date, YYYY-MM-DD. Defaults to today when omitted.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_secondary_progressions
Western Secondary Progressions
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. WORKFLOW: BEFORE: asterwise_get_western_natal. AFTER: asterwise_get_western_solar_arc — compare uniform arc vs individual motion. INPUT CONTRACT: birth — WesternBirthData. target_date (optional YYYY-MM-DD) — the date to progress to. Defaults to today. DO NOT CONFUSE WITH: asterwise_get_western_solar_arc — all planets move by one uniform arc. asterwise_get_western_transits_daily — real-time sky, not symbolic progression. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-secondary-progressions/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'time', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Birth latitude in decimal degrees. North positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Birth longitude in decimal degrees. East positive.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Birth date in YYYY-MM-DD format. Example: '1985-11-12'"}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': "Birth time in HH:MM format (24-hour). Example: '06:45'"}, 'timezone': {'type': 'string', 'default': 'UTC', 'description': "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Name of the person. Example: 'Arjun Mehta'"}, 'house_system': {'enum': ['placidus', 'koch', 'equal', 'whole_sign'], 'type': 'string', 'default': 'placidus', 'description': "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'"}}, 'description': 'Birth data for Western astrology tools (tropical zodiac).', 'additionalProperties': False}, 'target_date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Date in YYYY-MM-DD format. Defaults to today when omitted.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_solar_arc
Western Solar Arc
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. WORKFLOW: BEFORE: asterwise_get_western_natal. AFTER: None. INPUT CONTRACT: birth — WesternBirthData. target_date (optional YYYY-MM-DD) — defaults to today. DO NOT CONFUSE WITH: asterwise_get_western_secondary_progressions — each planet moves at its own rate. asterwise_get_western_transits_daily — real-time transits, not arc directions. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-solar-arc/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'time', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Birth latitude in decimal degrees. North positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Birth longitude in decimal degrees. East positive.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Birth date in YYYY-MM-DD format. Example: '1985-11-12'"}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': "Birth time in HH:MM format (24-hour). Example: '06:45'"}, 'timezone': {'type': 'string', 'default': 'UTC', 'description': "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Name of the person. Example: 'Arjun Mehta'"}, 'house_system': {'enum': ['placidus', 'koch', 'equal', 'whole_sign'], 'type': 'string', 'default': 'placidus', 'description': "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'"}}, 'description': 'Birth data for Western astrology tools (tropical zodiac).', 'additionalProperties': False}, 'target_date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Date in YYYY-MM-DD format. Defaults to today when omitted.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_solar_return
Western Solar Return
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). WORKFLOW: BEFORE: asterwise_get_western_natal — understand natal chart before reading return. AFTER: None. INPUT CONTRACT: birth — WesternBirthData. house_system ignored (chart uses return computation defaults). year (int) — calendar year of the return (e.g. 2026), not age. DO NOT CONFUSE WITH: asterwise_get_western_lunar_return — Moon return, ~monthly. asterwise_get_varshaphal — Vedic Tajika solar return — different system. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-solar-return/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth', 'year'], 'properties': {'year': {'type': 'integer', 'description': 'Four-digit calendar year, e.g. 2026.'}, 'birth': {'type': 'object', 'required': ['date', 'time', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Birth latitude in decimal degrees. North positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Birth longitude in decimal degrees. East positive.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Birth date in YYYY-MM-DD format. Example: '1985-11-12'"}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': "Birth time in HH:MM format (24-hour). Example: '06:45'"}, 'timezone': {'type': 'string', 'default': 'UTC', 'description': "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Name of the person. Example: 'Arjun Mehta'"}, 'house_system': {'enum': ['placidus', 'koch', 'equal', 'whole_sign'], 'type': 'string', 'default': 'placidus', 'description': "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'"}}, 'description': 'Birth data for Western astrology tools (tropical zodiac).', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_synastry
Western Synastry
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. WORKFLOW: BEFORE: asterwise_get_western_natal per person — understand charts individually first. AFTER: asterwise_get_western_composite — midpoint chart for the relationship itself. INPUT CONTRACT: person1, person2 — each WesternBirthData (date, time, lat, lon, timezone). house_system ignored for synastry payload. DO NOT CONFUSE WITH: asterwise_get_western_composite — one merged midpoint chart vs synastry (two charts overlaid). asterwise_get_western_compatibility — numeric 0–100 score vs raw aspects. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-synastry/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['person1', 'person2'], 'properties': {'person1': {'type': 'object', 'required': ['date', 'time', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Birth latitude in decimal degrees. North positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Birth longitude in decimal degrees. East positive.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Birth date in YYYY-MM-DD format. Example: '1985-11-12'"}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': "Birth time in HH:MM format (24-hour). Example: '06:45'"}, 'timezone': {'type': 'string', 'default': 'UTC', 'description': "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Name of the person. Example: 'Arjun Mehta'"}, 'house_system': {'enum': ['placidus', 'koch', 'equal', 'whole_sign'], 'type': 'string', 'default': 'placidus', 'description': "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'"}}, 'description': 'Birth data for Western astrology tools (tropical zodiac).', 'additionalProperties': False}, 'person2': {'type': 'object', 'required': ['date', 'time', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Birth latitude in decimal degrees. North positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Birth longitude in decimal degrees. East positive.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Birth date in YYYY-MM-DD format. Example: '1985-11-12'"}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': "Birth time in HH:MM format (24-hour). Example: '06:45'"}, 'timezone': {'type': 'string', 'default': 'UTC', 'description': "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Name of the person. Example: 'Arjun Mehta'"}, 'house_system': {'enum': ['placidus', 'koch', 'equal', 'whole_sign'], 'type': 'string', 'default': 'placidus', 'description': "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'"}}, 'description': 'Birth data for Western astrology tools (tropical zodiac).', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_transits_daily
Western Daily Transits
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. WORKFLOW: BEFORE: asterwise_get_western_natal — establish natal chart first. AFTER: asterwise_get_western_transits_weekly — for week view. INPUT CONTRACT: birth — WesternBirthData (date, time, lat, lon, timezone). house_system ignored for this endpoint. start_date (optional YYYY-MM-DD) — defaults to today. DO NOT CONFUSE WITH: asterwise_get_western_transits_weekly — 7 days vs 1 day. asterwise_get_western_transits_monthly — 30-day window vs single day. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-transits-daily/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'time', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Birth latitude in decimal degrees. North positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Birth longitude in decimal degrees. East positive.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Birth date in YYYY-MM-DD format. Example: '1985-11-12'"}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': "Birth time in HH:MM format (24-hour). Example: '06:45'"}, 'timezone': {'type': 'string', 'default': 'UTC', 'description': "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Name of the person. Example: 'Arjun Mehta'"}, 'house_system': {'enum': ['placidus', 'koch', 'equal', 'whole_sign'], 'type': 'string', 'default': 'placidus', 'description': "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'"}}, 'description': 'Birth data for Western astrology tools (tropical zodiac).', 'additionalProperties': False}, 'start_date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Start of the window, YYYY-MM-DD. Defaults to today when omitted.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_transits_monthly
Western Monthly Transits
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. WORKFLOW: BEFORE: asterwise_get_western_natal. AFTER: None. INPUT CONTRACT: birth — WesternBirthData. house_system ignored. start_date (optional YYYY-MM-DD) — month start; defaults to today. DO NOT CONFUSE WITH: asterwise_get_western_transits_daily — 1 day. asterwise_get_western_transits_weekly — 7 days. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-transits-monthly/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'time', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Birth latitude in decimal degrees. North positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Birth longitude in decimal degrees. East positive.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Birth date in YYYY-MM-DD format. Example: '1985-11-12'"}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': "Birth time in HH:MM format (24-hour). Example: '06:45'"}, 'timezone': {'type': 'string', 'default': 'UTC', 'description': "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Name of the person. Example: 'Arjun Mehta'"}, 'house_system': {'enum': ['placidus', 'koch', 'equal', 'whole_sign'], 'type': 'string', 'default': 'placidus', 'description': "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'"}}, 'description': 'Birth data for Western astrology tools (tropical zodiac).', 'additionalProperties': False}, 'start_date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Start of the window, YYYY-MM-DD. Defaults to today when omitted.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_transits_weekly
Western Weekly Transits
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. WORKFLOW: BEFORE: asterwise_get_western_natal. AFTER: asterwise_get_western_transits_monthly — for full month. INPUT CONTRACT: birth — WesternBirthData. house_system ignored. start_date (optional YYYY-MM-DD) — week start; defaults to today. DO NOT CONFUSE WITH: asterwise_get_western_transits_daily — single day. asterwise_get_western_transits_monthly — 30 days vs 7. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-transits-weekly/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'time', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Birth latitude in decimal degrees. North positive.'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Birth longitude in decimal degrees. East positive.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Birth date in YYYY-MM-DD format. Example: '1985-11-12'"}, 'time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': "Birth time in HH:MM format (24-hour). Example: '06:45'"}, 'timezone': {'type': 'string', 'default': 'UTC', 'description': "IANA timezone. Examples: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Name of the person. Example: 'Arjun Mehta'"}, 'house_system': {'enum': ['placidus', 'koch', 'equal', 'whole_sign'], 'type': 'string', 'default': 'placidus', 'description': "House system for Western chart. 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'"}}, 'description': 'Birth data for Western astrology tools (tropical zodiac).', 'additionalProperties': False}, 'start_date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Start of the window, YYYY-MM-DD. Defaults to today when omitted.'}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_western_zodiac_compatibility
Western Zodiac Compatibility
Sign-to-sign compatibility without birth data. Based on element and modality affinity. Fast — no ephemeris calculation required. WORKFLOW: BEFORE: None — no birth data needed. AFTER: asterwise_get_western_compatibility — when full charts are available. INPUT CONTRACT: sign1, sign2 — English zodiac names (Aries … Pisces). DO NOT CONFUSE WITH: asterwise_get_western_compatibility — requires full birth data, more accurate. asterwise_get_western_synastry — aspect geometry between two full charts. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-zodiac-compatibility/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['sign1', 'sign2'], 'properties': {'sign1': {'type': 'string', 'description': "First zodiac sign, e.g. 'Aries'."}, 'sign2': {'type': 'string', 'description': "Second zodiac sign, e.g. 'Libra'."}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_yogas
Yogas
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. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — same birth tuple should be understood before interpreting yoga names. AFTER: asterwise_get_doshas — complementary affliction scan on the same chart. INPUT 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. DO NOT CONFUSE WITH: asterwise_get_natal_chart — supplies graha_drishti and base chart rows, not the yoga catalogue. asterwise_get_panchanga — Panchanga yoga (Sun+Moon sum) is unrelated to these natal yogas. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-yogas/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
asterwise_get_yogini_dasha
Yogini Dasha
Computes the eight-Yogini, 36-year Yogini Dasha cycle with two-level period trees and DD/MM/YYYY boundaries from birth data. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — establishes birth context for interpreting Yogini lords. AFTER: asterwise_get_dasha — optional Vimshottari comparison for the same native. INPUT 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. DO NOT CONFUSE WITH: asterwise_get_dasha — Vimshottari planet periods with data.periods[] and optional levels 1–5, not Yogini names. asterwise_get_ashtottari_dasha — 108-year system with data.periods.root[] but planet-based rows, not Yoginis. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-yogini-dasha/
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90.0, 'minimum': -90.0, 'description': 'Latitude in decimal degrees, north positive (Mumbai 19.076).'}, 'lon': {'type': 'number', 'maximum': 180.0, 'minimum': -180.0, 'description': 'Longitude in decimal degrees, east positive (Mumbai 72.8777).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Birth date YYYY-MM-DD.'}, 'time': {'anyOf': [{'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, {'type': 'null'}], 'default': None, '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."}, 'ayanamsa': {'enum': ['lahiri', 'kp', 'raman', 'tropical'], 'type': 'string', 'default': 'lahiri', 'description': "Ayanamsa system for sidereal calculations. 'lahiri' (default, recommended for Vedic), 'kp' (Krishnamurti Paddhati), 'raman', 'tropical' (Western)"}, 'timezone': {'type': 'string', 'default': 'Asia/Kolkata', 'description': "IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata"}, 'person_name': {'type': 'string', 'default': 'Chart', 'description': "Person's name, used in labels only."}}, 'description': 'Birth data for a single person.', 'additionalProperties': False}, 'response_format': {'enum': ['markdown', 'json'], 'type': 'string', 'default': 'markdown', 'description': "Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Changed
asterwise_get_gochar
Sept. 29, 2026, 3:01 a.m.
Changed
asterwise_get_yogas
Sept. 29, 2026, 3:01 a.m.
Changed
asterwise_get_nakshatra_prediction
Sept. 29, 2026, 3:01 a.m.
Added
asterwise_geocode
Sept. 29, 2026, 3:01 a.m.
Changed
asterwise_get_festival_calendar
Sept. 29, 2026, 3:01 a.m.
Changed
asterwise_get_tamil_panchanga
Sept. 29, 2026, 3:01 a.m.
Changed
asterwise_get_panchanga_calendar
Sept. 29, 2026, 3:01 a.m.
Changed
asterwise_get_muhurta
Sept. 29, 2026, 3:01 a.m.
Changed
asterwise_get_panchanga
Sept. 29, 2026, 3:01 a.m.
Changed
asterwise_get_dasha_transits
Sept. 29, 2026, 3:01 a.m.
Changed
asterwise_get_dasha
Sept. 29, 2026, 3:01 a.m.
Changed
asterwise_get_kp_chart
Sept. 29, 2026, 3:01 a.m.
Changed
asterwise_get_divisional_chart
Sept. 29, 2026, 3:01 a.m.
Changed
asterwise_get_natal_chart
Sept. 29, 2026, 3:01 a.m.
Added
asterwise_get_tarot_yes_no
Sept. 17, 2026, 12:33 p.m.
Added
asterwise_get_tarot_celtic_cross
Sept. 17, 2026, 12:33 p.m.
Added
asterwise_get_tarot_three_card_spread
Sept. 17, 2026, 12:33 p.m.
Added
asterwise_draw_tarot_cards
Sept. 17, 2026, 12:33 p.m.
Added
asterwise_get_tarot_card_of_the_day
Sept. 17, 2026, 12:33 p.m.
Added
asterwise_get_tarot_suit
Sept. 17, 2026, 12:33 p.m.
Added
asterwise_get_tarot_major_arcana
Sept. 17, 2026, 12:33 p.m.
Added
asterwise_get_tarot_card
Sept. 17, 2026, 12:33 p.m.
Added
asterwise_get_tarot_cards
Sept. 17, 2026, 12:33 p.m.
Added
asterwise_get_western_solar_arc
Sept. 17, 2026, 12:33 p.m.
Added
asterwise_get_western_secondary_progressions
Sept. 17, 2026, 12:33 p.m.
Added
asterwise_get_western_planetary_return
Sept. 17, 2026, 12:33 p.m.
Added
asterwise_get_western_lunar_return
Sept. 17, 2026, 12:33 p.m.
Added
asterwise_get_western_solar_return
Sept. 17, 2026, 12:33 p.m.
Added
asterwise_get_western_zodiac_compatibility
Sept. 17, 2026, 12:33 p.m.
Added
asterwise_get_western_compatibility
Sept. 17, 2026, 12:33 p.m.