Vedic Astrology MCP Server powered by VedAstro.org. Provides horoscope predictions, compatibility/match reports, numerology predictions, raw planet/house data, general astro data, and ashtakvarga charts. All calculations use the Raman Ayanamsa system.
Server has 5 well-defined tools with clear action verbs and complete input schemas. All tools have comprehensive descriptions (200-500 chars) and documented parameters. Strengths: consistent naming (verb_noun), detailed parameter descriptions with format examples, clear Ayanamsa system documentation. Weaknesses: output schemas are not explicitly documented (responses are JSON.stringify'd payloads with no structure hints), no error handling guidance or recovery paths, no pagination guidance for potentially large result sets, security consideration for API key injection is acceptable but not ideal (x-api-key in headers is better than params, but no mention of rate limiting or response sanitization).
Get raw Vedic astrology data for all 9 planets and 12 houses. Returns detailed planet data (sign placement, constellation, house occupied, houses owned, lord of sign/constellation, degrees, retrograde status, etc.) and house data (sign, constellation, planets in house, lord, aspecting planets, etc.). Use this for detailed chart analysis when you need the underlying astronomical data. Uses the Raman Ayanamsa system.
Get general Vedic astrology data for a birth chart including: Ascendant/Lagna, Moon Sign, Moon Constellation/Nakshatra, Sunrise/Sunset times, Nithya Yoga, Karana, Tithi (Lunar Day), Day/Night birth, Varna, Hora, Weekday & Lord, Ayanamsa degree, Kuja Dosa Score, Maraka Planets, Kartari Yoga planets/houses, Pancha Pakshi Birth Bird, and more. Returns raw values for 24 astrological properties. Uses the Raman Ayanamsa system.
Get Vedic astrology horoscope predictions for a person based on their birth time and location. Returns life predictions about personality, career, relationships, health, wealth, marriage, children, longevity, and more based on planetary positions, yogas, and house placements. Uses the Raman Ayanamsa system.
Get a Vedic astrology compatibility/match report between two people. Returns Kuta score percentage and detailed predictions for all 16 Kuta factors (Dina, Gana, Mahendra, Stree Deergha, etc.). Each factor is rated as Good or Bad with detailed explanation. Uses the Raman Ayanamsa system.
Output schemas not documented. Tools return JSON.stringify'd payloads with no structure hints. LLMs cannot predict what fields exist in responses (e.g., does horoscope predictions return personality, career, health as separate fields or nested objects?). This forces LLMs to call tools blindly and parse results post-hoc, increasing errors and wasting tokens.
No error handling guidance. Tools throw generic VedAstro API errors (e.g., 'VedAstro API error: 400') with no recovery path. An LLM receiving 'Status !== Pass' gets no hint whether the birth date was invalid, coordinates were out of bounds, API quota was exceeded, or the service was down. Should return actionable errors like 'Invalid birth date format; must be DD/MM/YYYY (e.g., 25/10/1992)' or 'API rate limit exceeded; retry in 60 seconds'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Get a numerology prediction based on a name using the Chaldean system. Returns the name number, ruling planet, detailed prediction, and life aspect scores (Finance, Romance, Education, Health, Family, Growth, Career, Reputation, Spirituality, Luck). Works for person names, business names, project names, house numbers, or car numbers.
No pagination or result size limits documented. Tools like get_astrology_raw_data claim to return 'detailed planet data for all 9 planets and 12 houses', potentially 1000+ fields. No guidance on result size, whether paginated, or if LLM should cap requests. At worst, massive responses exhaust context window.
Parameter format constraints lack regex/length patterns. Descriptions say 'HH:MM 24-hour format' and 'DD/MM/YYYY format', but no formal constraint (minLength, maxLength, pattern regex) in schema. If LLM passes '25/10/92' (2-digit year) instead of '25/10/1992', the API will reject it silently. Should add pattern: '^\d{2}/\d{2}/\d{4}$' to birth_date, '^\d{2}:\d{2}$' to birth_time, and '^[+-]\d{2}:\d{2}$' to timezone.
Latitude/longitude parameters accept strings instead of numbers. Schema declares 'latitude': z.string(), but lat/lon are numeric. Passing '19.0760' vs 19.0760 is equivalent in JSON, but string typing invites LLM mistakes (e.g., 'nineteen degrees' passed literally). Should use z.number() with min/max constraints (-90 to 90 for lat, -180 to 180 for lon).
API key injection via optional parameter is acceptable but undocumented. Server accepts optional apiKey in createServer(apiKey?) and injects it as x-api-key header. Fine from security perspective (not exposed as tool param), but no documentation of where the apiKey comes from (env var? config file?) or how to configure it. A deployer has no clear path to enable premium API key.