Skip to main content
Glama
163,884 tools. Last updated 2026-05-30 20:56

"lucid chart" matching MCP tools:

  • PREFERRED chart-creation path. Send a structured Builder spec (chart_type + x_col + y_col[s] + optional group_by, palette, axis overrides, annotations) and Autario builds the chart with the same templates the Builder UI uses. Brand attribution (publisher source + autario.com) is applied automatically and cannot be overridden. Insight must cite numbers verifiable against the data | hallucinated numbers return 422 with the available anchor list. For advanced use cases the Builder cannot express, fall back to publish_chart with a freeform plotly_spec. Call chart_instructions() first if unsure of the spec shape.
    Connector
  • 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. SECTION: WHAT THIS TOOL COVERS Tropical natal chart: Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto. Each planet returns tropical longitude, sign, house (1–12), retrograde flag, dignity label (domicile/exaltation/detriment/fall/peregrine), dignity score (domicile +5, exaltation +4, triplicity +3, term +2, face +1, detriment -5, fall -4), is_exaltation_degree (within 1° of exact exaltation), dignity_disputed (true for outer planets where exaltation/fall is disputed among modern astrologers). Aspect orbs: conjunction/opposition 5°, square/trine 5°, sextile 3°, minor aspects 1.5°. Not Vedic sidereal (asterwise_get_natal_chart). SECTION: 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. SECTION: 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. SECTION: OUTPUT CONTRACT data.zodiac (string — 'tropical') data.house_system (string — the system used) data.ascendant — { longitude (float), sign (string), sign_index (int 0–11), degree_in_sign (float) } data.mc — same shape as ascendant data.planets[] — 10 objects (Sun through Pluto): name (string), longitude (float), sign (string), sign_index (int 0–11) degree_in_sign (float), house (int 1–12) is_retrograde (bool), dignity (string), dignity_score (int) is_exaltation_degree (bool), dignity_disputed (bool) data.houses[] — 12 objects: house (int 1–12), cusp_longitude (float), sign (string) sign_index (int 0–11), degree_in_sign (float) data.aspects[] — each: planet_a (string), planet_b (string), type (string) exact_angle (float), orb (float), is_applying (bool) data.elements — { fire (int), earth (int), air (int), water (int), dominant (string) } data.modalities — { cardinal (int), fixed (int), mutable (int), dominant (string) } data.hemisphere — { eastern (int), western (int), northern (int), southern (int) } data.ayanamsa_value (float — 0.0 for tropical) data.ayanamsa_used (string — 'tropical') data.birth_time_provided (bool) 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 natal report. Both modes return identical underlying data. SECTION: COMPUTE CLASS MEDIUM_COMPUTE (~300ms) SECTION: ERROR CONTRACT INVALID_PARAMS (local — caught before upstream call): — WesternBirthData Pydantic violations (date pattern, time pattern, lat/lon bounds) → MCP INVALID_PARAMS INVALID_PARAMS (upstream): — None expected for valid coordinates and dates post-1800. INTERNAL_ERROR: — Any upstream API failure or timeout → MCP INTERNAL_ERROR Edge cases: — Polar latitudes (above ~65°N or below ~65°S) may cause Placidus house calculation failure; use whole_sign or equal house system for polar births. — time='00:00' accepted; lagna-sensitive results are unreliable for unknown birth times. SECTION: 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.
    Connector
  • Wait for a `one_shot` deploy to finish and return its final result. `one_shot` returns a job_token immediately and the LIVE CARD already streams progress and renders the interactive backtest chart itself. Call this ONCE with the token to get the final numbers as TEXT so you can summarize them — it does NOT render another card (no need for get_model_chart). It BLOCKS until the deploy finishes (or ~2.5 min); on timeout it returns ok:false + pending:true — call it again with the same token. IMPORTANT: if `source == "community"`, the deploy used a PRE-EXISTING strategy by `@author` — tell the user that, share the `live_url` as the Live dashboard link, and ask whether they'd like to GENERATE A CUSTOM strategy instead. Use the `note` field as your guide. Args: job_token: the token returned by `one_shot`. Returns: dict with: ok, stem, model, live_url, symbol, timeframe, channels (list), stats:{ret, wr, pf, n, mdd} (out-of-sample test-split metrics — SHOW THESE), source ("community" | "generated"), author (community username if any), author_url + strategy_url (render @author and "pre-existing strategy" as those Markdown links), community_id, suggest_custom (bool), and note (a ready instruction — follow it). On failure: {ok:false, error} (or {pending:true}).
    Connector
  • 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. SECTION: WHAT THIS TOOL COVERS Filters the crystal database by vedic_planet field. Only returns crystals where vedic_correspondence is 'navaratna' or 'uparatna' — none_classical crystals are not returned here because they have no actual Vedic planetary assignment. Useful for Jyotish practitioners recommending remedial gems. Navaratna gems appear first. Valid planets: Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu. SECTION: WORKFLOW BEFORE: RECOMMENDED — asterwise_get_natal_chart — identify the planet needing remediation. AFTER: asterwise_get_gemstone_recommendations — for chart-specific gem safety assessment. SECTION: INPUT CONTRACT planet: One of Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu. SECTION: OUTPUT CONTRACT data.total (int) data.crystals[] — same shape as asterwise_get_crystals, sorted Navaratna first. SECTION: RESPONSE FORMAT response_format=json — filtered crystal array. response_format=markdown — formatted list. Both return identical data. SECTION: COMPUTE CLASS FAST_LOOKUP SECTION: ERROR CONTRACT INVALID_PARAMS (upstream): Unknown planet → 404. INTERNAL_ERROR: Any upstream API failure → MCP INTERNAL_ERROR SECTION: 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.
    Connector
  • Fetches an AI-synthesised Western sun-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 western horoscope service for a tropical sun sign and a period of daily, weekly, monthly, or yearly. Uses the tropical zodiac (not sidereal). Content is grounded in current sky aspects, slow planet positions, and the solar season — not Vedic transit rules. It does not compute a personal natal chart, divisional charts, or dasha — only sign-level tropical transit-flavoured copy tied to the requested horizon. No remedy field — Western tradition has no planetary remedy system. SECTION: WORKFLOW BEFORE: None — this tool is standalone. AFTER: asterwise_get_western_natal — if the user needs a personalised tropical chart beyond sign-general copy. SECTION: 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. SECTION: OUTPUT CONTRACT data.content: headline (string) narrative (string) love (string) career (string) money (string) body (string) power_window (string) caution_window (string) closing_message (string) phases[] (monthly only — array of phase objects with phase_number, start_date, end_date, title, narrative) year_theme (string — yearly only) chapters[] (yearly only — array of chapter objects with chapter_number, start_date, end_date, title, narrative) auspicious_months[] (yearly only — string array of month names) landmark_dates[] (yearly only — array of {date, event} objects) data.model_used (string — AI model version label) data.generated_at (string — ISO UTC) data.period_key (string — YYYY-MM-DD for daily; YYYY-W## for weekly; YYYY-MM for monthly; YYYY for yearly) data.horizon (string — 'daily', 'weekly', 'monthly', or 'yearly') data.sun_sign (string — lowercase English, e.g. 'aries') data.zodiac_type (string — 'western') 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 sun_sign → MCP INTERNAL_ERROR at the tool layer (upstream rejection). INTERNAL_ERROR: — Any upstream API failure or timeout → MCP INTERNAL_ERROR — Horoscope not yet generated for the current period → MCP INTERNAL_ERROR with status not_generated Edge cases: — Sun-sign content only; not a substitute for birth-chart analysis. — If a period's horoscope has not yet been generated by the cron, returns 404 upstream (surfaces as INTERNAL_ERROR). — No remedy field in western horoscopes by design. SECTION: 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.
    Connector
  • 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

Matching MCP Servers

Matching MCP Connectors

  • Lucid’s connector creates diagrams, searches, shares, and retrieves docs to summarize.

  • Search, order, and manage eSIM data packages for 190+ countries.

  • 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. SECTION: WHAT THIS TOOL COVERS Returns one crystal entry from the 50-crystal database. Accepts URL-safe slugs (e.g. 'blue-sapphire', 'rose-quartz') or display names (e.g. 'Blue Sapphire', 'Rose Quartz'). The caution field carries critical safety information — Blue Sapphire and Hessonite Garnet carry CRITICAL cautions about Jyotish use without qualified practitioner assessment. Malachite has a CRITICAL toxicity caution. Always surface the caution field to end users. SECTION: WORKFLOW BEFORE: None — standalone or after asterwise_get_gemstone_recommendations. AFTER: None. SECTION: INPUT CONTRACT name: Crystal slug or display name. Examples: 'amethyst', 'blue-sapphire', 'Cat's Eye Chrysoberyl' SECTION: OUTPUT CONTRACT Same shape as each crystal in asterwise_get_crystals — full single crystal object. SECTION: RESPONSE FORMAT response_format=json — single crystal object. response_format=markdown — formatted detail card. Both return identical data. SECTION: COMPUTE CLASS FAST_LOOKUP SECTION: ERROR CONTRACT INVALID_PARAMS (upstream): Unknown crystal name → 404, surfaces as MCP INTERNAL_ERROR. INTERNAL_ERROR: Any upstream API failure → MCP INTERNAL_ERROR SECTION: 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.
    Connector
  • Computes the full sidereal natal chart from BirthData and returns planet rows, houses, aspects, arudhas, upapada, bhava cusps, and avakhada metadata. SECTION: WHAT THIS TOOL COVERS Vedic natal endpoint: nine grahas with signs, degrees, nakshatras, combustion, retrograde, Bhava Chalit and rashi houses, twelve house cusps, graha and rashi drishti, arudha padas A1–A12, upapada lagna block, bhava madhya/sandhi arrays, ayanamsa metadata, and avakhada attributes. When include_interpretation=true, ascendant_sign_interpretation, moon_sign_interpretation, moon_nakshatra_interpretation, and interpretation are populated from interpretation JSON; otherwise they are null. It does not return PDFs, yogas list (asterwise_get_yogas), or dasha trees (asterwise_get_dasha). SECTION: WORKFLOW BEFORE: None — this tool is standalone. AFTER: RECOMMENDED — asterwise_get_yogas — layer classical combinations after the base chart exists. SECTION: INPUT CONTRACT BirthData enforces date YYYY-MM-DD, time HH:MM, lat -90..90, lon -180..180, ayanamsa enum locally (Pydantic). Unknown birth time may be entered as time='00:00' without error; lagna-sensitive results are then unreliable and callers must handle that — the API does not flag it. SECTION: OUTPUT CONTRACT data.planets[] — nine objects: planet (string) sign (string) sign_num (int — 0–11) degree (float) nakshatra (string) nakshatra_pada (int — 1–4) is_retrograde (bool) is_combust (bool) is_deep_combust (bool) house (int — Bhava Chalit) rasi_house (int) bhava_chalit_house (int) data.houses[] — twelve objects: house (int) sign (string) sign_num (int) degree (float) data.ascendant (float) data.ascendant_sign (string — Sanskrit name) data.moon_sign (string) data.moon_nakshatra (string) data.ayanamsa_value (float) data.ayanamsa_used (string) data.avakahada: nakshatra, nakshatra_lord, charan (int), rashi, rashi_lord, varna, vashya, yoni, gana, nadi, paya, ascendant, ascendant_lord, sun_sign, sun_sign_lord (strings/ints per upstream) data.graha_drishti — object keyed by planet name; each value object keyed by house strings '1'–'12' with aspect strength int (25, 50, 75, or 100) data.rashi_drishti[] — active sign-to-sign aspect pairs: { from_sign (string), from_sign_num (int 0-11), to_sign (string), to_sign_num (int 0-11) } data.arudha_padas — keys A1–A12 each { sign_index (int), sign_name (string) } data.upapada_lagna: sign_index (int) sign_name (string) upapada_lord (string) second_from_upapada_sign_index (int) second_from_upapada_sign_name (string) planets_in_second_from_upapada[] (string array of planet names) has_benefic_in_second_from_upapada (bool) has_malefic_in_second_from_upapada (bool) data.bhava_madhya[] — twelve objects: { house (int 1-12), sign (string), sign_num (int 0-11), degree (float) } data.bhava_sandhi[] — twelve objects: { house (int 1-12), sign (string), sign_num (int 0-11), degree (float) } data.birth_time_provided (bool — always false; no detection) data.fallback_method (null) ascendant_sign_interpretation (dict or null — sign interpretation from signs/ascendant.json when include_interpretation=true) moon_sign_interpretation (dict or null — Moon sign interpretation from signs/moon_sign.json when include_interpretation=true) moon_nakshatra_interpretation (dict or null — nakshatra interpretation from nakshatras/ files when include_interpretation=true) interpretation (list or null — planet-in-house interpretation list when include_interpretation=true) 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 MEDIUM_COMPUTE SECTION: ERROR CONTRACT INVALID_PARAMS (local — caught before upstream call): — BirthData Pydantic violations (date/time/lat/lon/ayanamsa) → MCP INVALID_PARAMS INVALID_PARAMS (upstream): — None — calendar years outside supported upstream window surface as MCP INTERNAL_ERROR at the tool layer. INTERNAL_ERROR: — Any upstream API failure or timeout → MCP INTERNAL_ERROR Edge cases: — time='00:00' accepted; lagna may be wrong if true birth time unknown — not auto-detected. — Interpretation fields are null unless include_interpretation=true on the request. SECTION: DO NOT CONFUSE WITH asterwise_get_divisional_chart — sixteen vargas only, not the primary radix bundle returned here.
    Connector
  • Looks up static metadata for one of twenty-seven nakshatras by exact name and returns interpretive, professional, activity, and body-map reference data. SECTION: WHAT THIS TOOL COVERS Vedanga/classical reference only — no chart computation. Covers deity, ruler, symbol, gana, nature, classical vs modern prose, profession vectors, life themes, keywords, strengths/challenges, favourable vs unfavourable activities, and body_map. Names are case-sensitive exact matches (Ashwini … Revati list). It does not compute birth nakshatra from BirthData (use asterwise_get_natal_chart). SECTION: WORKFLOW BEFORE: None — this tool is standalone. AFTER: None. SECTION: INPUT CONTRACT nakshatra_name is forwarded raw — no local fuzzy matching or normalisation. SECTION: OUTPUT CONTRACT data.name (string) data.index (int — 0–26) data.interpretation: source (string) nakshatra_number (int) name (string) sanskrit (string) span (string) symbol (string) deity (string) ruling_planet (string) sign (string) sign_lord (string) gana (string) nature (string) body_part (string) classical_qualities[] (string array) appearance — { classical (string), modern (string) } nature_description — { classical (string), modern (string) } profession — { primary[] (string array), secondary[] (string array), note (string), modern (string) } life_themes — { core, karmic_path, challenge, gift, modern (strings) } keywords[] (string array) strengths[] (string array) challenges[] (string array) data.activities: favorable_activities[] (string array) unfavorable_activities[] (string array) data.body_map: parts[] (string array) sensitivity (string) 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): None — name passes straight through. INVALID_PARAMS (upstream): — None — unknown names surface as MCP INTERNAL_ERROR at the tool layer. INTERNAL_ERROR: — Any upstream API failure or timeout → MCP INTERNAL_ERROR Edge cases: — Exact spelling required — no fuzzy recovery. SECTION: 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.
    Connector
  • Recommends crystals based on zodiac sign, chakra, or intention keyword. At least one filter is required. Returns crystals that match the most criteria first. SECTION: WHAT THIS TOOL COVERS Scoring: zodiac match scores 3, chakra match scores 2, keyword match scores 1. Crystals matching multiple filters rank highest. Returns up to limit results (default 5, max 20). Valid chakras: Root, Sacral, Solar Plexus, Heart, Throat, Third Eye, Crown. Valid zodiac signs: English Western zodiac names (Aries, Taurus, etc.). Intention keyword is matched against each crystal's keywords[] list (partial match). Not a Jyotish prescription — does not account for natal chart or planetary periods. For chart-based gem prescription use asterwise_get_gemstone_recommendations. SECTION: WORKFLOW BEFORE: None — standalone for consumer apps. AFTER: asterwise_get_crystal — get full detail on any recommended crystal. SECTION: 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. SECTION: OUTPUT CONTRACT data.total (int — number returned) data.filters_applied{} — the filters used data.crystals[] — matched crystals sorted by score descending SECTION: RESPONSE FORMAT response_format=json — recommendation object. response_format=markdown — formatted recommendations. Both return identical data. SECTION: COMPUTE CLASS FAST_LOOKUP SECTION: ERROR CONTRACT INVALID_PARAMS (upstream): No filters provided → 422. Invalid chakra name → 422. INTERNAL_ERROR: Any upstream API failure → MCP INTERNAL_ERROR SECTION: 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.
    Connector
  • 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). SECTION: WHAT THIS TOOL COVERS Harsha Bala is entirely distinct from Pancha Vargeeya Bala. Pancha Vargeeya Bala measures mathematical strength (sign dignity, exaltation arc, divisional chart fractions). Harsha Bala measures whether a planet is positionally comfortable — does it occupy the right house, sign, hemisphere, and return type for its nature? A planet with high Pancha Vargeeya Bala (60/80) but zero Harsha Bala has the capacity to deliver results, but does so through stress, delay, and frustration. A Year Lord (Varsha Pati) with 0 Harsha Bala signals a difficult year even when it wins the Pancha Adhikari election. 4 Components (5 points each, maximum 20): 1. STHANA — Happy house placement in the Varsha chart (measured from Varsha Ascendant, not natal Ascendant): Sun=9th, Moon=3rd, Mars=6th, Mercury=1st, Jupiter=11th, Venus=5th, Saturn=12th. 2. SWAKSHETRA/UCCHA — Planet in its own sign (Swakshetra) or sign of exaltation (Uccha). 3. PUM-STRI (Gender/Hemisphere) — Male planets (Sun, Mars, Jupiter) prefer houses 7–12 (visible hemisphere). Female planets (Moon, Venus, Saturn) prefer houses 1–6 (invisible hemisphere). Mercury earns this component unconditionally. 4. DINA-RATRI (Day/Night) — Male planets (Sun, Mars, Jupiter) prefer a daytime solar return. Female planets (Moon, Venus, Saturn) prefer a nighttime return. Mercury earns this component unconditionally. SECTION: 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. SECTION: 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. SECTION: OUTPUT CONTRACT data.target_year (int) data.ayanamsa (string) data.solar_return_utc (string — ISO UTC of solar return moment) data.is_day_return (bool — true if solar return falls between sunrise and sunset; directly determines Dina-Ratri component results for all planets) data.varshaphal_ascendant_longitude (float — Varsha Ascendant in degrees; all house placements are measured from this) data.planets[] — 7 objects (Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn in that order): planet (string — planet name) harsha_bala (int — total score 0–20) max_harsha_bala (int — always 20) varsha_house (int — planet's house in the Varsha chart, 1–12, from Varsha Ascendant) rashi_index (int — 0–11, 0=Mesha) rashi (string — Sanskrit sign name) components{} — four keys: sthana{}: earned (bool), points (int — 0 or 5), happy_house (int), actual_house (int), description (string) swakshetra_uccha{}: earned (bool), points (int — 0 or 5), in_own_sign (bool), in_exaltation (bool), current_rashi_index (int) pum_stri{}: earned (bool), points (int — 0 or 5), gender (string — 'male'|'female'|'neutral'), happy_hemisphere (string), actual_house (int) dina_ratri{}: earned (bool), points (int — 0 or 5), happy_period (string), actual_period (string — 'day' or 'night') interpretation (string — qualitative label: 'Excellent', 'Strong', 'Moderate', 'Weak', or 'Very weak') (string — methodology and interpretation guidance) 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 SLOW_COMPUTE — internally runs the full solar return computation before deriving Harsha Bala. SECTION: ERROR CONTRACT INVALID_PARAMS (local — caught before upstream call): None — BirthData Pydantic only. INVALID_PARAMS (upstream): None — upstream rejection surfaces as MCP INTERNAL_ERROR. INTERNAL_ERROR: Any upstream API failure or timeout → MCP INTERNAL_ERROR Edge cases: — Rahu and Ketu are excluded — Harsha Bala is defined only for the 7 classical grahas. — Polar latitudes where sunrise/sunset cannot be computed affect is_day_return → MCP INTERNAL_ERROR. — target_year is a Gregorian year, not age. SECTION: 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.
    Connector
  • 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. SECTION: WHAT THIS TOOL COVERS Saham formula: (A - B + Ascendant) % 360, with a conditional +30° correction applied when the Ascendant does not fall in the forward zodiacal arc from B to A. This conditional is the defining classical Tajika Saham rule — without it, results are wrong. Day and night formulas differ: the Minuend and Subtrahend swap based on whether the solar return falls during daytime or nighttime at the birth location. Punya Saham (Fortune) is always computed first because Yashas (Fame) and Mahatmya (Status) use it as an operand. The Saham lord (planet ruling the sign where the Saham falls) is the Sahamesha — its strength, house placement, and Tajika aspects to the Varsha Ascendant determine whether the theme manifests positively or is obstructed. 10 Sahams returned: punya — Fortune and Luck (Moon-Sun day / Sun-Moon night) vidya — Education and Learning (Sun-Jupiter day) yashas — Fame and Reputation (Jupiter-Punya day) — uses Punya as operand mitra — Friends and Allies (Jupiter-Venus day) mahatmya — Greatness and Status (Punya-Mars day) — uses Punya as operand asha — Desires and Fulfillment (Saturn-Venus day) karmakarya — Action and Profession (Mars-Mercury day) vyapara — Business and Trade (Mars-Saturn day) vivaha — Marriage and Relationships (Venus-Saturn day) santapa — Sorrow and Stress (Saturn-Moon day) SECTION: 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. SECTION: 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. SECTION: OUTPUT CONTRACT data.target_year (int — calendar year of the solar return) data.ayanamsa (string — ayanamsa system used, e.g. 'lahiri') data.solar_return_utc (string — ISO UTC timestamp of solar return moment) data.is_day_return (bool — true if solar return occurs between sunrise and sunset; determines which Saham formula variant is used) data.varshaphal_ascendant_longitude (float — Varsha Ascendant in degrees; all 10 Saham longitudes are computed relative to this) data.total (int — always 10) data.sahams[] — 10 objects in order [punya, vidya, yashas, mitra, mahatmya, asha, karmakarya, vyapara, vivaha, santapa]: slug (string — lowercase key, e.g. 'punya') name (string — full display name, e.g. 'Punya Saham') theme (string — life area, e.g. 'Fortune and Luck') longitude (float — Saham longitude in degrees 0–360) rashi_index (int — 0–11, 0=Mesha) rashi (string — Sanskrit sign name, e.g. 'Mesha') degree_in_sign (float — degrees within the sign) saham_lord (string — classical lord of the sign where Saham falls) formula_used (string — describes whether day or night formula was applied and which planets were operands, e.g. 'day: Moon - Sun + Asc') (string — methodology note) 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 SLOW_COMPUTE — internally runs the full solar return computation (binary-search Sun longitude + house computation) before deriving Sahams. SECTION: ERROR CONTRACT INVALID_PARAMS (local — caught before upstream call): None — BirthData Pydantic only. INVALID_PARAMS (upstream): None — upstream rejection surfaces as MCP INTERNAL_ERROR. INTERNAL_ERROR: Any upstream API failure or timeout → MCP INTERNAL_ERROR Edge cases: — Day/night determination uses sunrise/sunset at the birth coordinates for the solar return date. Polar latitudes where sunrise cannot be computed → MCP INTERNAL_ERROR. — target_year is a Gregorian year, not age — always verify the caller passes the civil year. SECTION: 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.
    Connector
  • Computes Vimshottari Dasha from birth data and returns hierarchical period trees plus current Maha/Antar interpretation blocks. SECTION: WHAT THIS TOOL COVERS Computes the classical classical Vimshottari timeline from the Moon's birth nakshatra: Mahadasha and nested sub-periods up to the depth set by levels, with Julian and calendar boundaries and optional modern summaries. It returns data.periods[] and data.interpretation for the active periods. It does not compute Char Dasha, Yogini Dasha, Ashtottari, or transit correlations; use the dedicated tools for those systems. SECTION: 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. SECTION: INPUT CONTRACT levels (int, default 3, 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 global contract (date YYYY-MM-DD, time HH:MM; time='00:00' is accepted without flag — lagna-sensitive timing may be wrong if birth time is unknown). SECTION: OUTPUT CONTRACT data.periods[] — array of Mahadasha objects: planet (string) start_jd (float) end_jd (float) start_date (string — DD/MM/YYYY, not ISO) end_date (string — DD/MM/YYYY) modern_summary (string or null) sub[] — array of Antardasha objects with the same shape; sub=null at deepest level data.interpretation.current_mahadasha: planet (string) start_date (string) end_date (string) duration_years (float) modern_summary (string or null) favorable_conditions[] (string array) favorable_results[] (string array) unfavorable_conditions[] (string array) unfavorable_results[] (string array) timing_note (string) data.interpretation.current_antardasha — same fields as current_mahadasha plus mahadasha_planet (string) data.birth_time_provided (bool) 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 MEDIUM_COMPUTE (~100ms at levels=1, ~1500ms at levels=5) SECTION: ERROR CONTRACT INVALID_PARAMS (local — caught before upstream call): — levels < 1 or levels > 5 → MCP INVALID_PARAMS INVALID_PARAMS (upstream): — None — BirthData validation is upstream beyond Pydantic field constraints. INTERNAL_ERROR: — Any upstream API failure or timeout → MCP INTERNAL_ERROR Edge cases: — Period start_date/end_date strings are DD/MM/YYYY; do not parse as ISO. SECTION: 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.
    Connector
  • 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. SECTION: WHAT THIS TOOL COVERS Dual-tradition crystal database distinguishing classical Vedic assignments from modern Western metaphysical ones. vedic_correspondence field is always one of: 'navaratna' (primary classical gem — one of the nine planetary gems), 'uparatna' (classical substitute gem), or 'none_classical' (no Vedic text assigns this stone — Western tradition only). The nine Navaratna: Ruby (Sun), Pearl (Moon), Red Coral (Mars), Emerald (Mercury), Yellow Sapphire (Jupiter), Diamond / White Sapphire (Venus), Blue Sapphire (Saturn), Hessonite Garnet (Rahu), Cat's Eye Chrysoberyl (Ketu). Crystals like Labradorite and Amazonite are marked none_classical — they were unknown in ancient India. Does not compute natal chart recommendations (asterwise_get_crystal_recommendations). SECTION: WORKFLOW BEFORE: None — standalone catalogue. AFTER: asterwise_get_crystal_by_planet — filter by Vedic planet for remedial use. SECTION: INPUT CONTRACT No required parameters. SECTION: OUTPUT CONTRACT data.total (int — 50) data.crystals[] — 50 objects each: slug, name, colors[], hardness_mohs (float) chakras[] (string array) element (string) zodiac_signs[] (string array) vedic_planet (string or null) vedic_correspondence (string — 'navaratna'|'uparatna'|'none_classical') western_planet (string or null) keywords[] (string array) healing_physical, healing_emotional, healing_spiritual (strings) description (string) origins[] (string array) affirmation (string) caution (string or null) SECTION: RESPONSE FORMAT response_format=json — full 50-crystal array. response_format=markdown — formatted catalogue. Both return identical data. SECTION: COMPUTE CLASS FAST_LOOKUP — static database, no ephemeris. SECTION: ERROR CONTRACT INTERNAL_ERROR: Any upstream API failure → MCP INTERNAL_ERROR SECTION: 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.
    Connector
  • Returns a personalised daily prediction using Tarabala and Chandrabala. SECTION: WHAT THIS TOOL COVERS Computes the individual's daily auspiciousness score by: 1. TARABALA: Counts from birth nakshatra to today's transit Moon nakshatra (inclusive). The remainder mod 9 gives the Tara (1=Janma, 2=Sampat/Wealth, 3=Vipat/Danger, 4=Kshema/Prosperity, 5=Pratyak/Obstacle, 6=Sadhana/Achievement, 7=Naidhana/Destruction, 8=Mitra/Friend, 9=Ati-Mitra/Great Friend). 2. CHANDRABALA: Transit Moon's house from natal Moon (favorable in houses 1,3,6,7,10,11). 3. TRANSIT NAKSHATRA QUALITY: The type of today's Moon nakshatra (Dhruva/Chara/Ugra/Tikshna/Kshipra/Mridu/Mishra) with auspicious and inauspicious activities. Combined daily score out of 4 with label (Excellent/Good/Moderate/Challenging). SECTION: WORKFLOW BEFORE: None — birth data computes everything needed. AFTER: asterwise_get_panchanga — for full daily panchanga context. SECTION: INPUT CONTRACT birth — BirthData (date, time, lat, lon, timezone). target_date (optional): YYYY-MM-DD. Defaults to today. SECTION: OUTPUT CONTRACT data.target_date (string) data.birth_nakshatra{}: name (string), index (int 0-26) data.natal_moon_sign_index (int 0-11) data.transit_moon{}: nakshatra (string), nakshatra_index (int), rashi_index (int) data.tarabala{}: tara_number (int 1-9), count_from_birth (int), name (string), meaning (string), is_favorable (bool), interpretation (string) data.chandrabala{}: moon_house_from_natal (int 1-12), is_favorable (bool), favorable_houses[] (int array) data.daily_score{}: score (int 0-4), max_score (4), label (string) data.transit_nakshatra_quality{}: nakshatra (string), quality_type (string), english (string), auspicious_for[] (string array), inauspicious_for[] (string array) data.nakshatra_activities{}: favorable[] (string array), unfavorable[] (string array) SECTION: COMPUTE CLASS MEDIUM_COMPUTE — natal chart + ephemeris Moon position. SECTION: ERROR CONTRACT INVALID_PARAMS (local): BirthData Pydantic violations → MCP INVALID_PARAMS INTERNAL_ERROR: Any upstream API failure → MCP INTERNAL_ERROR SECTION: DO NOT CONFUSE WITH asterwise_get_nakshatra_details — static nakshatra reference, not personalised prediction. asterwise_get_panchanga — daily panchanga (tithi, yoga, karana), not Tarabala scoring. asterwise_get_biorhythm — Western biorhythm cycles, not classical Vedic prediction.
    Connector
  • Fetch a historical time series of daily snapshots for one crypto ticker. Call this when the user asks about a ticker's recent trend, wants to chart or plot α-sentiment / α-index / α-pulse over time, asks "how has X changed over the last N days", or needs a window of data to compute averages, momentum, or volatility. Required: `ticker` — MUST be suffixed with "-USD" (e.g. "BTC-USD", "ETH-USD", "SOL-USD"). Bare symbols like "BTC" will not match. Optional: `days` (1-1000, default 30; tier may cap lower). Tier caps on `days`: free=7, alpha=365, pro=730, enterprise=1000. The `date` parameter (end-date anchor) is only honored for enterprise tier — for all other tiers it is silently ignored and the window always ends at the most recent available snapshot. This is by design to prevent back-testing on arbitrary historical periods on lower tiers. Returns: array of daily snapshots (oldest first), each with snapshot_date plus all standard AssetSnapshot fields. Response also reports tier_cap, effective_days, start_date, end_date and date_param_honored.
    Connector
  • Computes the annual Tajika-style solar return for a four-digit civil year and returns Muntha, Pancha Adhikari metrics, Tajika aspects, and varshaphal positions. SECTION: WHAT THIS TOOL COVERS Varshaphal engine: solar return instant, year lord, muntha block, varsha pati election, five pancha adhikaris with bala components, tajika aspect arrays, and pairwise Tajika geometry including ithsala/musaripha flags. year must mean calendar year (e.g. 2026), not biological age — not enforced locally; wrong integers chart the wrong annual return. Not lifetime Vimshottari (asterwise_get_dasha) nor generic transit ingress lists (asterwise_get_transits). SECTION: WORKFLOW BEFORE: RECOMMENDED — asterwise_get_natal_chart — baseline radix before annual overlay. AFTER: None. SECTION: INPUT CONTRACT year is a plain int sent as target_year upstream; callers must supply the true Gregorian return year, not age. SECTION: OUTPUT CONTRACT data.target_year (int) data.ayanamsa (string) data.solar_return_utc (string — ISO) data.solar_return_jd (float) data.natal_sun_longitude (float) data.natal_lagna (string) data.natal_lagna_index (int) data.year_lord (string — planet name) data.muntha: rashi_index (int) rashi (string) age_years (float) muntha_lord (string) data.planets{} — keys Sun..Ketu: longitude (float) rashi_index (int) rashi (string) degree (float) is_retrograde (bool) speed (float) data.varshaphal_ascendant_longitude (float) data.varshaphal_ascendant_sign (string — Sanskrit sign name derived from the ascendant longitude) data.varshaphal_ascendant_sign_index (int — sign index 0-11, where 0=Mesha and 11=Meena) data.varsha_pati: planet (string) role (string) pancha_vargeeya_bala (float) kshetra_bala (float) uchcha_bala (float) election_used_strongest_without_aspect (bool) data.pancha_adhikaris[] — five objects: role (string) planet (string) pancha_vargeeya_bala, kshetra_bala, uchcha_bala, hadda_bala, dreshkana_bala, navamsa_bala (floats) pending_components_note (string) aspects_ascendant (bool) tajika_aspect_angles_matched[] (array) separation_from_asc_deg (float) data.pancha_vargeeya_bala{} — keyed by role (float values) data.tajika_aspects[] — per Pancha Adhikari (structure per upstream) data.tajika_planet_pairs[] — each: planet_a, planet_b (strings) house_a, house_b (int) diff_ab, diff_ba (float) aspect_ab, aspect_ba (strings or floats per upstream) is_ithsala (bool) is_musaripha (bool) faster_planet (string) orb_degrees (float) 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 MEDIUM_COMPUTE SECTION: ERROR CONTRACT INVALID_PARAMS (local — caught before upstream call): None — year not range-checked here. INVALID_PARAMS (upstream): — None — upstream rejection surfaces as MCP INTERNAL_ERROR at the tool layer. INTERNAL_ERROR: — Any upstream API failure or timeout → MCP INTERNAL_ERROR Edge cases: — Feeding age instead of civil year silently mis-orients the return — caller responsibility. SECTION: DO NOT CONFUSE WITH asterwise_get_dasha — multi-decade Vimshottari, not one solar return. asterwise_get_transits — ingress/station timeline, not annual Tajika chart.
    Connector
  • Use when you need the full natal chart for interpretation, comparison, or downstream transit/progression work. Returns planets, houses, aspects, patterns, dignities, and Big Three. `detail="compact"` drops the per-aspect details (keeps `aspects.summary` counts) and per-pattern planet lists — saves ~15k tokens on a typical chart, useful when you only need placements + angles. Next step: if you need aspect-by-aspect narrative material, call with `detail="full"`; for transits to this chart, call `current_transits` or `transit_search` with the same birth data.
    Connector
  • Calls atmakaraka and ishta-devata endpoints sequentially and merges their payloads into top-level atmakaraka and ishta_devata objects for one BirthData. SECTION: WHAT THIS TOOL COVERS Returns the karaka layer: eight-karaka mapping, soul significator graha, navamsa-based ishta devata inference, twelfth-house occupants, and D9 positions map. It is not general prediction, medical timing, or matchmaking scoring. Two planets tied by degree use classical highest-longitude resolution without raising an error. SECTION: WORKFLOW BEFORE: RECOMMENDED — asterwise_get_natal_chart — understand chart basics before devotional pointers. AFTER: None. SECTION: 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. SECTION: OUTPUT CONTRACT Top-level merge: atmakaraka — upstream POST /v1/astro/atmakaraka body; use atmakaraka.data: karaka_to_planet{} (eight karakas to planet names) planet_to_karaka{} atmakaraka (string) atmakaraka_sign (string) atmakaraka_nakshatra (string) details{} — per karaka: planet, rashi, nakshatra, longitude ishta_devata — upstream POST /v1/astro/ishta-devta body; use ishta_devata.data: atmakaraka (string) karakamsha_lagna (string) karakamsha_lagna_index (int) jivanmuktamsa_planet (string) navamsa_lagna (string) navamsa_lagna_index (int) twelfth_house_sign (string) twelfth_house_index (int) planets_in_12th[] (string array) ishta_devta_planet (string) deity (string) description (string) method (string) d9_positions{} — per planet: { sign (string), sign_num (int) } 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 MEDIUM_COMPUTE SECTION: ERROR CONTRACT INVALID_PARAMS (local — caught before upstream call): None — BirthData validated via Pydantic only. INVALID_PARAMS (upstream): — None — upstream rejection surfaces as MCP INTERNAL_ERROR at the tool layer. INTERNAL_ERROR: — Any upstream API failure or timeout on either sequential call → MCP INTERNAL_ERROR Edge cases: — Identical-degree planets: classical tie-break applies; no error. SECTION: 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.
    Connector
  • Errors deduplicated by server-computed fingerprint, with counts and first/last-seen timestamps. The triage view: which bugs are firing most often, affecting the most users, or showing up newly in the period. Each group is one fingerprint (a bug). `count` is total occurrences in the period; `users_affected` is unique anonymous_ids that hit it; `first_seen` and `last_seen` show the time window the bug appeared in. `sample_message` and `sample_type` are pulled from one occurrence in the group — useful for the agent to surface a readable label. Examples: - "what's broken right now" → period="today", sort_by="count" - "regressions that started this week" → period="7d", sort_by="first_seen" - "bugs hitting the most users" → sort_by="users_affected" - "what just stopped firing" → check last_seen against expected freshness Limitations: only fingerprintable errors are grouped; events with neither message nor stack get a null fingerprint and are excluded from this view (they still show up in errors.list). Default sort is by count; pass sort_by to change. Default limit 50, max 200. Pairs with: `errors.list` (drill into a fingerprint to see individual occurrences with full context); `errors.timeline` (chart the rate of one fingerprint to spot regressions or post-deploy regressions); `traffic.compare` (correlate a count spike with a deploy or campaign).
    Connector