Astrology Forecast MCP Server by RoxyAPI
What this MCP does
Generates astrology forecasts, transit timelines, significant dates, and solar return charts for a birth subject.
Tools
Input schema
{'type': 'object', 'examples': [{'birthData': {'date': '1990-07-15', 'time': '13:30:00', 'timezone': 'America/New_York'}}], 'required': ['birthData'], 'properties': {'top': {'type': 'integer', 'example': 3, 'maximum': 20, 'minimum': 0, 'description': 'Number of highest-significance events to surface per window. Defaults to 3, capped at 20.'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'domains': {'type': 'array', 'items': {'enum': ['western', 'vedic', 'biorhythm'], 'type': 'string', 'example': 'western', 'description': 'Forecast domain. western covers transit aspects, sign ingresses, retrograde stations, eclipses, and new and full moons. vedic covers Vimshottari mahadasha, antardasha, and pratyantardasha boundaries. biorhythm covers critical days.'}, 'example': ['western', 'vedic', 'biorhythm'], 'description': 'Which forecast domains to include before rolling up the windows. Defaults to all three.'}, 'birthData': {'type': 'object', 'required': ['date', 'time', 'timezone'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-15', 'description': 'Birth date in YYYY-MM-DD format. Anchors the natal chart and the Vimshottari dasha sequence.'}, 'time': {'type': 'string', 'format': 'time', 'example': '13:30:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Precision matters for the natal positions the transit aspects are measured against.'}, 'latitude': {'type': 'number', 'default': 0, 'example': 0, 'maximum': 90, 'minimum': -90, 'description': 'Birth latitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'example': 'America/New_York', 'description': 'IANA name (e.g. "America/New_York", "Europe/London", "UTC"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. "-05:00", "+01:00"). Prefer the IANA name: it is resolved to the offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.'}, 'longitude': {'type': 'number', 'default': 0, 'example': 0, 'maximum': 180, 'minimum': -180, 'description': 'Birth longitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0.'}}, 'description': 'The single birth subject this digest is built for. One object only, never an array.'}, 'startDate': {'type': 'string', 'format': 'date', 'example': '2026-06-01', 'description': 'Start anchor for every window in YYYY-MM-DD format. The next 24h, 7d, 30d, and 90d windows are measured forward from this date at 00:00:00 UTC. Defaults to today in UTC.'}, 'domainWeights': {'type': 'object', 'example': {'vedic': 1.5, 'biorhythm': 0.5}, 'properties': {'vedic': {'type': 'number', 'example': 1.5, 'maximum': 100, 'minimum': 0, 'description': 'Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it.'}, 'western': {'type': 'number', 'example': 1.5, 'maximum': 100, 'minimum': 0, 'description': 'Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it.'}, 'biorhythm': {'type': 'number', 'example': 1.5, 'maximum': 100, 'minimum': 0, 'description': 'Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it.'}}, 'description': 'Per-domain significance multipliers applied before the significance floor and event cap. Bias which domains survive filtering and the cap. Omitted domains default to a weight of 1. Valid keys are western, vedic, and biorhythm.'}, 'minSignificance': {'type': 'number', 'example': 0, 'maximum': 100, 'minimum': 0, 'description': 'Drop events scoring below this significance threshold from 0 to 100 before the rollup. Defaults to 0.'}}}
Output schema
{'type': 'object', 'required': ['birthData', 'startDate', 'endDate', 'windows'], 'properties': {'endDate': {'type': 'string'}, 'windows': {'type': 'array', 'items': {'type': 'object', 'required': ['days', 'from', 'to', 'count', 'byDomain', 'byType', 'top'], 'properties': {'to': {'type': 'string'}, 'top': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'datetime', 'domain', 'type', 'body', 'description', 'significance'], 'properties': {'orb': {'type': 'number'}, 'body': {'type': 'string'}, 'date': {'type': 'string'}, 'kind': {'enum': ['penumbral', 'partial', 'annular', 'total'], 'type': 'string'}, 'type': {'enum': ['transit-aspect', 'sign-ingress', 'retrograde-station', 'eclipse', 'lunar-phase', 'dasha-change', 'critical-day'], 'type': 'string'}, 'phase': {'enum': ['new-moon', 'full-moon'], 'type': 'string'}, 'aspect': {'type': 'string'}, 'domain': {'enum': ['western', 'vedic', 'biorhythm'], 'type': 'string'}, 'target': {'type': 'string'}, 'station': {'enum': ['retrograde', 'direct'], 'type': 'string'}, 'datetime': {'type': 'string'}, 'description': {'type': 'string'}, 'obscuration': {'type': 'number'}, 'significance': {'type': 'number'}}}}, 'days': {'type': 'number'}, 'from': {'type': 'string'}, 'count': {'type': 'number'}, 'byType': {'type': 'object', 'properties': {'eclipse': {'type': 'number'}, 'lunar-phase': {'type': 'number'}, 'critical-day': {'type': 'number'}, 'dasha-change': {'type': 'number'}, 'sign-ingress': {'type': 'number'}, 'transit-aspect': {'type': 'number'}, 'retrograde-station': {'type': 'number'}}}, 'byDomain': {'type': 'object', 'properties': {'vedic': {'type': 'number'}, 'western': {'type': 'number'}, 'biorhythm': {'type': 'number'}}}}}}, 'birthData': {'type': 'object', 'required': ['date', 'time', 'timezone'], 'properties': {'date': {'type': 'string', 'format': 'date'}, 'time': {'type': 'string', 'format': 'time'}, 'latitude': {'type': 'number', 'default': 0, 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'number'}, 'longitude': {'type': 'number', 'default': 0, 'maximum': 180, 'minimum': -180}}}, 'startDate': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{'birthData': {'date': '1990-07-15', 'time': '13:30:00', 'timezone': 'America/New_York'}}], 'required': ['birthData'], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'domains': {'type': 'array', 'items': {'enum': ['western', 'vedic', 'biorhythm'], 'type': 'string', 'example': 'western', 'description': 'Forecast domain. western covers transit aspects, sign ingresses, retrograde stations, eclipses, and new and full moons. vedic covers Vimshottari mahadasha, antardasha, and pratyantardasha boundaries. biorhythm covers critical days.'}, 'example': ['western', 'vedic', 'biorhythm'], 'description': 'Which forecast domains to consider before filtering by significance. Defaults to all three.'}, 'endDate': {'type': 'string', 'format': 'date', 'example': '2026-08-30', 'description': 'Last day of the window in YYYY-MM-DD format. Defaults to startDate plus 30 days. Clamped to a maximum of 90 days from startDate.'}, 'birthData': {'type': 'object', 'required': ['date', 'time', 'timezone'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-15', 'description': 'Birth date in YYYY-MM-DD format. Anchors the natal chart and the Vimshottari dasha sequence.'}, 'time': {'type': 'string', 'format': 'time', 'example': '13:30:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Precision matters for the natal positions the transit aspects are measured against.'}, 'latitude': {'type': 'number', 'default': 0, 'example': 0, 'maximum': 90, 'minimum': -90, 'description': 'Birth latitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'example': 'America/New_York', 'description': 'IANA name (e.g. "America/New_York", "Europe/London", "UTC"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. "-05:00", "+01:00"). Prefer the IANA name: it is resolved to the offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.'}, 'longitude': {'type': 'number', 'default': 0, 'example': 0, 'maximum': 180, 'minimum': -180, 'description': 'Birth longitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0.'}}, 'description': 'The single birth subject this forecast is built for. One object only, never an array.'}, 'startDate': {'type': 'string', 'format': 'date', 'example': '2026-06-01', 'description': 'First day of the window in YYYY-MM-DD format. Defaults to today in UTC.'}, 'domainWeights': {'type': 'object', 'example': {'vedic': 1.5, 'biorhythm': 0.5}, 'properties': {'vedic': {'type': 'number', 'example': 1.5, 'maximum': 100, 'minimum': 0, 'description': 'Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it.'}, 'western': {'type': 'number', 'example': 1.5, 'maximum': 100, 'minimum': 0, 'description': 'Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it.'}, 'biorhythm': {'type': 'number', 'example': 1.5, 'maximum': 100, 'minimum': 0, 'description': 'Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it.'}}, 'description': 'Per-domain significance multipliers applied before the significance floor and event cap. Bias which domains survive filtering and the cap. Omitted domains default to a weight of 1. Valid keys are western, vedic, and biorhythm.'}, 'minSignificance': {'type': 'number', 'example': 70, 'maximum': 100, 'minimum': 0, 'description': 'Significance floor from 0 to 100 for what counts as a significant date. Defaults to 70.'}}}
Output schema
{'type': 'object', 'required': ['birthData', 'startDate', 'endDate', 'count', 'events'], 'properties': {'count': {'type': 'number'}, 'events': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'datetime', 'domain', 'type', 'body', 'description', 'significance'], 'properties': {'orb': {'type': 'number'}, 'body': {'type': 'string'}, 'date': {'type': 'string'}, 'kind': {'enum': ['penumbral', 'partial', 'annular', 'total'], 'type': 'string'}, 'type': {'enum': ['transit-aspect', 'sign-ingress', 'retrograde-station', 'eclipse', 'lunar-phase', 'dasha-change', 'critical-day'], 'type': 'string'}, 'phase': {'enum': ['new-moon', 'full-moon'], 'type': 'string'}, 'aspect': {'type': 'string'}, 'domain': {'enum': ['western', 'vedic', 'biorhythm'], 'type': 'string'}, 'target': {'type': 'string'}, 'station': {'enum': ['retrograde', 'direct'], 'type': 'string'}, 'datetime': {'type': 'string'}, 'description': {'type': 'string'}, 'obscuration': {'type': 'number'}, 'significance': {'type': 'number'}}}}, 'endDate': {'type': 'string'}, 'birthData': {'type': 'object', 'required': ['date', 'time', 'timezone'], 'properties': {'date': {'type': 'string', 'format': 'date'}, 'time': {'type': 'string', 'format': 'time'}, 'latitude': {'type': 'number', 'default': 0, 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'number'}, 'longitude': {'type': 'number', 'default': 0, 'maximum': 180, 'minimum': -180}}}, 'startDate': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{'date': '1990-07-15', 'time': '14:30:00', 'year': 2026, 'latitude': 40.7128, 'timezone': 'America/New_York', 'longitude': -74.006}], 'required': ['date', 'time', 'year', 'latitude', 'longitude', 'timezone'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-15', 'description': 'Birth date in YYYY-MM-DD format. Anchors the natal Sun longitude the transiting Sun returns to each year.'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '14:30:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Pins the exact natal Sun position that defines the solar return moment.'}, 'year': {'type': 'integer', 'example': 2026, 'maximum': 2649, 'minimum': 1551, 'description': 'Year to cast the solar return for. The chart is erected for the moment in this year when the transiting Sun returns to the natal Sun longitude, on or within a day of the birthday.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'latitude': {'type': 'number', 'example': 40.7128, 'maximum': 90, 'minimum': -90, 'description': 'Latitude of the solar return location in decimal degrees. The solar return is location-sensitive: use the birthplace to anchor the chart to natal geography, or the current city for a relocated solar return.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'example': 'America/New_York', 'description': 'IANA name (e.g. "America/New_York", "Europe/London", "UTC"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. "-05:00", "+01:00"). Prefer the IANA name: it is resolved to the offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.'}, 'longitude': {'type': 'number', 'example': -74.006, 'maximum': 180, 'minimum': -180, 'description': 'Longitude of the solar return location in decimal degrees. Sets the local sidereal time, so it drives the Ascendant, Midheaven, and house cusps of the return chart.'}, 'houseSystem': {'enum': ['placidus', 'whole-sign', 'equal', 'koch'], 'type': 'string', 'default': 'placidus', 'example': 'placidus', 'description': 'House system for the return chart. placidus is the Western default. whole-sign, equal, and koch are also supported.'}}}
Output schema
{'type': 'object', 'required': ['birthDate', 'solarReturnDate', 'solarReturnYear', 'location', 'natalSunPosition', 'chart'], 'properties': {'chart': {'type': 'object', 'required': ['birthDetails', 'planets', 'houses', 'houseSystem', 'aspects', 'partOfFortune', 'vertex'], 'properties': {'houses': {'type': 'array', 'items': {'type': 'object', 'required': ['number', 'longitude', 'sign', 'degree'], 'properties': {'sign': {'type': 'string'}, 'degree': {'type': 'number', 'maximum': 30, 'minimum': 0}, 'number': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'longitude': {'type': 'number', 'maximum': 360, 'minimum': 0}}}}, 'vertex': {'type': 'object', 'required': ['sign', 'degree', 'longitude', 'house'], 'properties': {'sign': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'degree': {'type': 'number', 'maximum': 30, 'minimum': 0}, 'longitude': {'type': 'number', 'maximum': 360, 'minimum': 0}}}, 'aspects': {'type': 'array', 'items': {'type': 'object', 'required': ['planet1', 'planet2', 'type', 'angle', 'orb', 'isApplying', 'strength', 'interpretation'], 'properties': {'orb': {'type': 'number'}, 'type': {'enum': ['CONJUNCTION', 'OPPOSITION', 'TRINE', 'SQUARE', 'SEXTILE', 'SEMI_SEXTILE', 'QUINCUNX', 'SEMI_SQUARE', 'SESQUIQUADRATE'], 'type': 'string'}, 'angle': {'type': 'number'}, 'planet1': {'enum': ['Sun', 'Moon', 'Mercury', 'Venus', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune', 'Pluto', 'North Node', 'South Node', 'Chiron', 'Black Moon Lilith'], 'type': 'string'}, 'planet2': {'enum': ['Sun', 'Moon', 'Mercury', 'Venus', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune', 'Pluto', 'North Node', 'South Node', 'Chiron', 'Black Moon Lilith'], 'type': 'string'}, 'strength': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'isApplying': {'type': 'boolean'}, 'interpretation': {'enum': ['harmonious', 'challenging', 'neutral'], 'type': 'string'}}}}, 'planets': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'longitude', 'latitude', 'sign', 'degree', 'house', 'speed', 'isRetrograde'], 'properties': {'name': {'enum': ['Sun', 'Moon', 'Mercury', 'Venus', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune', 'Pluto', 'North Node', 'South Node', 'Chiron', 'Black Moon Lilith'], 'type': 'string'}, 'sign': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'speed': {'type': 'number'}, 'degree': {'type': 'number', 'maximum': 30, 'minimum': 0}, 'latitude': {'type': 'number'}, 'longitude': {'type': 'number', 'maximum': 360, 'minimum': 0}, 'isRetrograde': {'type': 'boolean'}}}}, 'houseSystem': {'enum': ['placidus', 'whole-sign', 'equal', 'koch'], 'type': 'string'}, 'birthDetails': {'type': 'object', 'required': ['date', 'time', 'latitude', 'longitude', 'timezone'], 'properties': {'date': {'type': 'string', 'format': 'date'}, 'time': {'type': 'string', 'format': 'time'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'number', 'maximum': 14, 'minimum': -12}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}}}, 'partOfFortune': {'type': 'object', 'required': ['sign', 'degree', 'longitude', 'house', 'sect'], 'properties': {'sect': {'enum': ['day', 'night'], 'type': 'string'}, 'sign': {'type': 'string'}, 'house': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'degree': {'type': 'number', 'maximum': 30, 'minimum': 0}, 'longitude': {'type': 'number', 'maximum': 360, 'minimum': 0}}}}}, 'location': {'type': 'object', 'required': ['latitude', 'longitude', 'timezone'], 'properties': {'latitude': {'type': 'number'}, 'timezone': {'type': 'number'}, 'longitude': {'type': 'number'}}}, 'birthDate': {'type': 'string'}, 'solarReturnDate': {'type': 'string'}, 'solarReturnYear': {'type': 'number'}, 'natalSunPosition': {'type': 'object', 'required': ['longitude', 'sign', 'degree'], 'properties': {'sign': {'type': 'string'}, 'degree': {'type': 'number'}, 'longitude': {'type': 'number'}}}}}
Input schema
{'type': 'object', 'examples': [{'birthData': {'date': '1990-07-15', 'time': '13:30:00', 'timezone': 'America/New_York'}}], 'required': ['birthData'], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'domains': {'type': 'array', 'items': {'enum': ['western', 'vedic', 'biorhythm'], 'type': 'string', 'example': 'western', 'description': 'Forecast domain. western covers transit aspects, sign ingresses, retrograde stations, eclipses, and new and full moons. vedic covers Vimshottari mahadasha, antardasha, and pratyantardasha boundaries. biorhythm covers critical days.'}, 'example': ['western', 'vedic', 'biorhythm'], 'description': 'Which forecast domains to include. Defaults to all three. Pass a subset to scope the timeline to one or two engines.'}, 'endDate': {'type': 'string', 'format': 'date', 'example': '2026-08-30', 'description': 'Last day of the forecast window in YYYY-MM-DD format. Defaults to startDate plus 30 days. The window is clamped to a maximum of 90 days from startDate.'}, 'birthData': {'type': 'object', 'required': ['date', 'time', 'timezone'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-15', 'description': 'Birth date in YYYY-MM-DD format. Anchors the natal chart and the Vimshottari dasha sequence.'}, 'time': {'type': 'string', 'format': 'time', 'example': '13:30:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Precision matters for the natal positions the transit aspects are measured against.'}, 'latitude': {'type': 'number', 'default': 0, 'example': 0, 'maximum': 90, 'minimum': -90, 'description': 'Birth latitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'example': 'America/New_York', 'description': 'IANA name (e.g. "America/New_York", "Europe/London", "UTC"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. "-05:00", "+01:00"). Prefer the IANA name: it is resolved to the offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.'}, 'longitude': {'type': 'number', 'default': 0, 'example': 0, 'maximum': 180, 'minimum': -180, 'description': 'Birth longitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0.'}}, 'description': 'The single birth subject this forecast is built for. One object only, never an array.'}, 'startDate': {'type': 'string', 'format': 'date', 'example': '2026-06-01', 'description': 'First day of the forecast window in YYYY-MM-DD format. Defaults to today in UTC.'}, 'domainWeights': {'type': 'object', 'example': {'vedic': 1.5, 'biorhythm': 0.5}, 'properties': {'vedic': {'type': 'number', 'example': 1.5, 'maximum': 100, 'minimum': 0, 'description': 'Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it.'}, 'western': {'type': 'number', 'example': 1.5, 'maximum': 100, 'minimum': 0, 'description': 'Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it.'}, 'biorhythm': {'type': 'number', 'example': 1.5, 'maximum': 100, 'minimum': 0, 'description': 'Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it.'}}, 'description': 'Per-domain significance multipliers applied before the significance floor and event cap. Bias which domains survive filtering and the cap. Omitted domains default to a weight of 1. Valid keys are western, vedic, and biorhythm.'}, 'minSignificance': {'type': 'number', 'example': 0, 'maximum': 100, 'minimum': 0, 'description': 'Drop events scoring below this significance threshold from 0 to 100. Defaults to 0, keeping all events.'}}}
Output schema
{'type': 'object', 'required': ['birthData', 'startDate', 'endDate', 'count', 'events'], 'properties': {'count': {'type': 'number'}, 'events': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'datetime', 'domain', 'type', 'body', 'description', 'significance'], 'properties': {'orb': {'type': 'number'}, 'body': {'type': 'string'}, 'date': {'type': 'string'}, 'kind': {'enum': ['penumbral', 'partial', 'annular', 'total'], 'type': 'string'}, 'type': {'enum': ['transit-aspect', 'sign-ingress', 'retrograde-station', 'eclipse', 'lunar-phase', 'dasha-change', 'critical-day'], 'type': 'string'}, 'phase': {'enum': ['new-moon', 'full-moon'], 'type': 'string'}, 'aspect': {'type': 'string'}, 'domain': {'enum': ['western', 'vedic', 'biorhythm'], 'type': 'string'}, 'target': {'type': 'string'}, 'station': {'enum': ['retrograde', 'direct'], 'type': 'string'}, 'datetime': {'type': 'string'}, 'description': {'type': 'string'}, 'obscuration': {'type': 'number'}, 'significance': {'type': 'number'}}}}, 'endDate': {'type': 'string'}, 'birthData': {'type': 'object', 'required': ['date', 'time', 'timezone'], 'properties': {'date': {'type': 'string', 'format': 'date'}, 'time': {'type': 'string', 'format': 'time'}, 'latitude': {'type': 'number', 'default': 0, 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'number'}, 'longitude': {'type': 'number', 'default': 0, 'maximum': 180, 'minimum': -180}}}, 'startDate': {'type': 'string'}}}
Input schema
{'type': 'object', 'examples': [{'birthData': {'date': '1990-07-15', 'time': '13:30:00', 'timezone': 'America/New_York'}}], 'required': ['birthData'], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'endDate': {'type': 'string', 'format': 'date', 'example': '2026-08-30', 'description': 'Last day of the transit window in YYYY-MM-DD format. Defaults to startDate plus 30 days. Clamped to a maximum of 90 days from startDate.'}, 'birthData': {'type': 'object', 'required': ['date', 'time', 'timezone'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-15', 'description': 'Birth date in YYYY-MM-DD format. Anchors the natal chart and the Vimshottari dasha sequence.'}, 'time': {'type': 'string', 'format': 'time', 'example': '13:30:00', 'description': 'Birth time in 24-hour HH:MM:SS format. Precision matters for the natal positions the transit aspects are measured against.'}, 'latitude': {'type': 'number', 'default': 0, 'example': 0, 'maximum': 90, 'minimum': -90, 'description': 'Birth latitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'example': 'America/New_York', 'description': 'IANA name (e.g. "America/New_York", "Europe/London", "UTC"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. "-05:00", "+01:00"). Prefer the IANA name: it is resolved to the offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.'}, 'longitude': {'type': 'number', 'default': 0, 'example': 0, 'maximum': 180, 'minimum': -180, 'description': 'Birth longitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0.'}}, 'description': 'The single birth subject this transit forecast is built for. One object only, never an array.'}, 'startDate': {'type': 'string', 'format': 'date', 'example': '2026-06-01', 'description': 'First day of the transit window in YYYY-MM-DD format. Defaults to today in UTC.'}, 'minSignificance': {'type': 'number', 'example': 0, 'maximum': 100, 'minimum': 0, 'description': 'Drop transit events scoring below this significance threshold from 0 to 100. Defaults to 0.'}}}
Output schema
{'type': 'object', 'required': ['birthData', 'startDate', 'endDate', 'count', 'events'], 'properties': {'count': {'type': 'number'}, 'events': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'datetime', 'domain', 'type', 'body', 'description', 'significance'], 'properties': {'orb': {'type': 'number'}, 'body': {'type': 'string'}, 'date': {'type': 'string'}, 'kind': {'enum': ['penumbral', 'partial', 'annular', 'total'], 'type': 'string'}, 'type': {'enum': ['transit-aspect', 'sign-ingress', 'retrograde-station', 'eclipse', 'lunar-phase', 'dasha-change', 'critical-day'], 'type': 'string'}, 'phase': {'enum': ['new-moon', 'full-moon'], 'type': 'string'}, 'aspect': {'type': 'string'}, 'domain': {'enum': ['western', 'vedic', 'biorhythm'], 'type': 'string'}, 'target': {'type': 'string'}, 'station': {'enum': ['retrograde', 'direct'], 'type': 'string'}, 'datetime': {'type': 'string'}, 'description': {'type': 'string'}, 'obscuration': {'type': 'number'}, 'significance': {'type': 'number'}}}}, 'endDate': {'type': 'string'}, 'birthData': {'type': 'object', 'required': ['date', 'time', 'timezone'], 'properties': {'date': {'type': 'string', 'format': 'date'}, 'time': {'type': 'string', 'format': 'time'}, 'latitude': {'type': 'number', 'default': 0, 'maximum': 90, 'minimum': -90}, 'timezone': {'type': 'number'}, 'longitude': {'type': 'number', 'default': 0, 'maximum': 180, 'minimum': -180}}}, 'startDate': {'type': 'string'}}}
Recent tool changes
Similar MCP servers
Asterwise
Provides Vedic and Western astrology, numerology, tarot, dream-symbol, crystal, compatibility, and related esoteric calculations …
Vedic Astrology and Kundli MCP Server by RoxyAPI
Calculates and explains Vedic astrology charts, planetary positions, dashas, nakshatras, yogas, doshas, aspects, compatibility, a…
Sahadeva
Calculates and analyzes Vedic astrology charts, compatibility, dashas, transits, yogas, remedies, and evidence or readiness check…
tollbooth-sample
Provides current, forecast, and historical weather data alongside Lightning-based usage credits, pricing, coupons, balances, and …
Thesportsdb
Provides sports catalog and match data, including teams, players, leagues, schedules, standings, lineups, timelines, scores, and …
Rescuegroups
Searches adoptable animals, breeds, rescues, shelters, and organization details from RescueGroups.org.
Recipes
Provides meal and recipe discovery by ingredient, random selection, and detailed cooking instructions.
F1
Provides Formula 1 schedules, race results, driver profiles, and current championship standings.