MCP Server

NatalChart.AI Astrology

ai.natalchart/astrology
Other Public & reachable MCP 2026-07-28

What this MCP does

Calculates astrology data including natal charts, planetary positions, transits, synastry, solar returns, astrocartography, and date or city scores.

best_cities
Best cities for a chart
The catalogue of major cities ranked for one chart, overall or by chosen life spheres, worldwide or in one region. (API Pro)
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'examples': ['1991-09-06'], 'description': 'Birth date, YYYY-MM-DD, 1800 to 2399.'}, 'time': {'type': ['string', 'null'], 'examples': ['18:30'], 'description': 'Local birth time, HH:mm, 24-hour. null when unknown: the chart is computed for noon and everything that depends on the time is withheld.'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'examples': [50.4501]}, 'timezone': {'type': 'string', 'examples': ['Europe/Kyiv'], 'description': 'IANA time zone. Leave it out to resolve it from the coordinates; historical daylight-saving rules are applied to the date.'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'examples': [30.5234]}}}, 'focus': {'type': 'array', 'items': {'enum': ['identity', 'love', 'body', 'money', 'home', 'mind'], 'type': 'string'}}, 'limit': {'type': 'integer', 'maximum': 12, 'minimum': 3}, 'region': {'enum': ['Europe', 'North America', 'Latin America', 'Middle East & Africa', 'Asia', 'Oceania'], 'type': 'string'}}}
best_days
Best days for an activity
Every day of a window of up to 62 days scored for one activity (general, business, romance, health, creative, travel, home, clarity): helping and hindering transits, Moon phase and sign, void of course. The five best days first. (API Pro)
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'to': {'type': 'string', 'format': 'date', 'description': 'At most 62 days after from; 30 days by default.'}, 'from': {'type': 'string', 'format': 'date'}, 'birth': {'type': 'object', 'required': ['date', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'examples': ['1991-09-06'], 'description': 'Birth date, YYYY-MM-DD, 1800 to 2399.'}, 'time': {'type': ['string', 'null'], 'examples': ['18:30'], 'description': 'Local birth time, HH:mm, 24-hour. null when unknown: the chart is computed for noon and everything that depends on the time is withheld.'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'examples': [50.4501]}, 'timezone': {'type': 'string', 'examples': ['Europe/Kyiv'], 'description': 'IANA time zone. Leave it out to resolve it from the coordinates; historical daylight-saving rules are applied to the date.'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'examples': [30.5234]}}}, 'activity': {'enum': ['general', 'business', 'romance', 'health', 'creative', 'travel', 'home', 'clarity'], 'type': 'string'}, 'timezone': {'type': 'string', 'description': 'IANA zone that sets where each day begins. UTC by default.'}}}
daily_transits
Daily sky and transits
The calculated day: the sky at noon UTC, the Moon's phase, the sky events of the coming week and, with birth data, every transit to the natal chart with its orb. No generated text.
Read only Idempotent
Input schema
{'type': 'object', 'required': [], 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'The day to compute, today (UTC) by default.'}, 'birth': {'type': 'object', 'required': ['date', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'examples': ['1991-09-06'], 'description': 'Birth date, YYYY-MM-DD, 1800 to 2399.'}, 'time': {'type': ['string', 'null'], 'examples': ['18:30'], 'description': 'Local birth time, HH:mm, 24-hour. null when unknown: the chart is computed for noon and everything that depends on the time is withheld.'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'examples': [50.4501]}, 'timezone': {'type': 'string', 'examples': ['Europe/Kyiv'], 'description': 'IANA time zone. Leave it out to resolve it from the coordinates; historical daylight-saving rules are applied to the date.'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'examples': [30.5234]}}}}}
location_score
Astrocartography for one place
One place against one chart: the relocated angles, the planets on them with orbs, and a score for each life sphere. (API Pro)
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth', 'location'], 'properties': {'birth': {'type': 'object', 'required': ['date', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'examples': ['1991-09-06'], 'description': 'Birth date, YYYY-MM-DD, 1800 to 2399.'}, 'time': {'type': ['string', 'null'], 'examples': ['18:30'], 'description': 'Local birth time, HH:mm, 24-hour. null when unknown: the chart is computed for noon and everything that depends on the time is withheld.'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'examples': [50.4501]}, 'timezone': {'type': 'string', 'examples': ['Europe/Kyiv'], 'description': 'IANA time zone. Leave it out to resolve it from the coordinates; historical daylight-saving rules are applied to the date.'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'examples': [30.5234]}}}, 'location': {'type': 'object', 'required': ['latitude', 'longitude'], 'properties': {'name': {'type': 'string'}, 'latitude': {'type': 'number'}, 'longitude': {'type': 'number'}}}}}
natal_chart
Natal chart
A natal chart from birth data. "part" picks what to return: full (everything: bodies with sign, degree, speed, retrograde flag and house; the angles; twelve Placidus cusps; aspects with orbs; element and quality balance; fixed-star contacts), short (Sun, Moon and Ascendant, each body's sign, retrograde bodies, dominant element and quality), or one part: planets, angles, houses, aspects, elements, fixed-stars. Full by default.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'part': {'enum': ['short', 'full', 'planets', 'angles', 'houses', 'aspects', 'elements', 'fixed-stars'], 'type': 'string', 'default': 'full'}, 'birth': {'type': 'object', 'required': ['date', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'examples': ['1991-09-06'], 'description': 'Birth date, YYYY-MM-DD, 1800 to 2399.'}, 'time': {'type': ['string', 'null'], 'examples': ['18:30'], 'description': 'Local birth time, HH:mm, 24-hour. null when unknown: the chart is computed for noon and everything that depends on the time is withheld.'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'examples': [50.4501]}, 'timezone': {'type': 'string', 'examples': ['Europe/Kyiv'], 'description': 'IANA time zone. Leave it out to resolve it from the coordinates; historical daylight-saving rules are applied to the date.'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'examples': [30.5234]}}}}}
sky
Sky for a date
Planetary positions, Moon phase and the coming week's sky events for a date (?date=YYYY-MM-DD, today by default).
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'YYYY-MM-DD, today (UTC) by default.'}}}
solar_return
Solar return
The solar return chart for a year, cast for the birth place or another location. (API Pro)
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth', 'year'], 'properties': {'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1900}, 'birth': {'type': 'object', 'required': ['date', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'examples': ['1991-09-06'], 'description': 'Birth date, YYYY-MM-DD, 1800 to 2399.'}, 'time': {'type': ['string', 'null'], 'examples': ['18:30'], 'description': 'Local birth time, HH:mm, 24-hour. null when unknown: the chart is computed for noon and everything that depends on the time is withheld.'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'examples': [50.4501]}, 'timezone': {'type': 'string', 'examples': ['Europe/Kyiv'], 'description': 'IANA time zone. Leave it out to resolve it from the coordinates; historical daylight-saving rules are applied to the date.'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'examples': [30.5234]}}}, 'location': {'type': 'object', 'properties': {'latitude': {'type': 'number'}, 'longitude': {'type': 'number'}}}}}
synastry
Synastry (two charts)
Two charts compared: inter-chart aspects with orbs, house overlays both ways and a score per life sphere. (API Pro)
Read only Idempotent
Input schema
{'type': 'object', 'required': ['personA', 'personB'], 'properties': {'personA': {'type': 'object', 'required': ['date', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'examples': ['1991-09-06'], 'description': 'Birth date, YYYY-MM-DD, 1800 to 2399.'}, 'time': {'type': ['string', 'null'], 'examples': ['18:30'], 'description': 'Local birth time, HH:mm, 24-hour. null when unknown: the chart is computed for noon and everything that depends on the time is withheld.'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'examples': [50.4501]}, 'timezone': {'type': 'string', 'examples': ['Europe/Kyiv'], 'description': 'IANA time zone. Leave it out to resolve it from the coordinates; historical daylight-saving rules are applied to the date.'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'examples': [30.5234]}}}, 'personB': {'type': 'object', 'required': ['date', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'examples': ['1991-09-06'], 'description': 'Birth date, YYYY-MM-DD, 1800 to 2399.'}, 'time': {'type': ['string', 'null'], 'examples': ['18:30'], 'description': 'Local birth time, HH:mm, 24-hour. null when unknown: the chart is computed for noon and everything that depends on the time is withheld.'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'examples': [50.4501]}, 'timezone': {'type': 'string', 'examples': ['Europe/Kyiv'], 'description': 'IANA time zone. Leave it out to resolve it from the coordinates; historical daylight-saving rules are applied to the date.'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'examples': [30.5234]}}}}}
transits
Transits for a period
Every transit event in a window of up to 92 days: exact transit-to-natal aspects by date, sign ingresses and stations. (API Pro)
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth'], 'properties': {'to': {'type': 'string', 'format': 'date', 'description': 'At most 92 days after from; 30 days by default.'}, 'from': {'type': 'string', 'format': 'date'}, 'birth': {'type': 'object', 'required': ['date', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'examples': ['1991-09-06'], 'description': 'Birth date, YYYY-MM-DD, 1800 to 2399.'}, 'time': {'type': ['string', 'null'], 'examples': ['18:30'], 'description': 'Local birth time, HH:mm, 24-hour. null when unknown: the chart is computed for noon and everything that depends on the time is withheld.'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'examples': [50.4501]}, 'timezone': {'type': 'string', 'examples': ['Europe/Kyiv'], 'description': 'IANA time zone. Leave it out to resolve it from the coordinates; historical daylight-saving rules are applied to the date.'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'examples': [30.5234]}}}}}
usage
Requests left today
Your plan, today's count and when the pool refills. Costs nothing.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {}}
Added
best_cities
Oct. 4, 2026, 2:40 a.m.
Added
location_score
Oct. 4, 2026, 2:40 a.m.
Added
best_days
Oct. 4, 2026, 2:40 a.m.
Added
solar_return
Oct. 4, 2026, 2:40 a.m.
Added
synastry
Oct. 4, 2026, 2:40 a.m.
Added
transits
Oct. 4, 2026, 2:40 a.m.
Added
usage
Oct. 4, 2026, 2:40 a.m.
Added
sky
Oct. 4, 2026, 2:40 a.m.
Added
daily_transits
Oct. 4, 2026, 2:40 a.m.
Added
natal_chart
Oct. 4, 2026, 2:40 a.m.