Fetches an AI-synthesised Moon-sign horoscope for a chosen horizon and returns structured guidance fields plus metadata about the model and period.
SECTION: WHAT THIS TOOL COVERS
Calls the upstream horoscope service for a lunar sign (English or Sanskrit input accepted; response normalises moon_sign to lowercase English) and a period of daily, weekly, monthly, or yearly. It returns narrative and checklist-style content for life areas, remedy, and timing flavour text. It does not compute a personal natal chart, divisional charts, or dasha — only sign-level transit-flavoured copy tied to the requested horizon.
SECTION: WORKFLOW
BEFORE: None — this tool is standalone.
AFTER: asterwise_get_natal_chart — if the user needs a personalised chart beyond sign-general copy.
SECTION: 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.
SECTION: OUTPUT CONTRACT
data.content:
do[] (string array)
body (string)
love (string)
avoid[] (string array)
money (string)
career (string)
remedy (string)
headline (string)
narrative (string)
open_loop (string)
data.model_used (string — AI model version label)
data.generated_at (string — ISO UTC)
data.period_key (string — YYYY-MM-DD for daily; identifier for other horizons)
data.horizon (string — 'daily', 'weekly', 'monthly', or 'yearly')
data.moon_sign (string — lowercase English, e.g. 'libra')
SECTION: RESPONSE FORMAT
response_format=json serialises the complete response as indented JSON — use this for programmatic parsing, typed clients, and downstream tool chaining. response_format=markdown renders the same data as a human-readable report. Both modes return identical underlying data — no fields are added, removed, or filtered by either mode.
SECTION: COMPUTE CLASS
FAST_LOOKUP
SECTION: ERROR CONTRACT
INVALID_PARAMS (local — caught before upstream call):
— Invalid period enum or other Pydantic field violations on the tool schema → MCP INVALID_PARAMS
INVALID_PARAMS (upstream):
— Unknown or unsupported moon_sign → MCP INTERNAL_ERROR at the tool layer (upstream rejection).
INTERNAL_ERROR:
— Any upstream API failure or timeout → MCP INTERNAL_ERROR
Edge cases:
— Sign-level content only; not a substitute for birth-chart analysis.
SECTION: 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.
Connector