Astro Skill README

The full upstream README, mirrored for reference. Install config, tool schemas, adoption signals and our own overview live on the Astro Skill listing page.

🌌 Astro Skill

High-precision, deterministic Vedic astrology engine, portable agent skill, and stdio MCP server.
Swiss Ephemeris SWIEPH precision β€’ 100% Offline & Zero API Keys β€’ In-process ReportLab PDF β€’ 11 MCP Tools

CI PyPI version Python versions Glama Score M8ven Verified License

North Indian Lagna Kundali Chart
Vimshottari Dasha Timeline


🎯 Overview

Astro Skill is a production-grade, deterministic Vedic astrology engine that converts birth details and celestial coordinates into structured mathematical charts, timelines, and factual reports.

  • πŸ”¬ Zero Hallucinations: 100% calculation-backed using bundled Swiss Ephemeris data (.se1 SWIEPH via pyswisseph) and Lahiri (Chitrapaksha) ayanamsa.
  • πŸ”Œ 3 Plug-and-Play Surfaces:
    1. Stdio MCP Server (astro-mcp): 11 stable tools for Claude Desktop, Cursor, Codex, OpenClaw, and any Model Context Protocol client.
    2. Python Library & CLI: Import directly in Python or run standalone CLI calculator scripts with --json outputs.
    3. Agent Skill: Portable SKILL.md ready to equip autonomous coding agents and orchestrators.
  • πŸ“„ In-Process PDF Generator: Generates bilingual (Hindi & English) Kundali and Panchang charts via ReportLab with bundled Noto Sans Devanagari font β€” zero headless browser or Chrome dependencies.
  • πŸ”’ 100% Offline & Private: Zero external API keys, zero rate-limits, and zero network calls required for astrological calculations.

πŸ›οΈ Architecture & Layering

Code
                     [ Client / Agent Request ]
                                 β”‚
                 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                 β–Ό               β–Ό               β–Ό
          Stdio MCP Server   Python CLI     Agent Skill
          (11 Tools/JSON)   (Scripts/Lib)   (SKILL.md)
                 β”‚               β”‚               β”‚
                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                 β”‚
                                 β–Ό
                     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                     β”‚   Astro Core Engine   β”‚
                     β”‚  (Swiss Ephemeris     β”‚
                     β”‚   + Lahiri Ayanamsa)  β”‚
                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                 β”‚
                 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                 β–Ό                               β–Ό
       [ Structured JSON ]            [ In-Process ReportLab PDF ]
       - 12 Bhavas, Grahas, Yogas     - Lagna & Navamsa (D1/D9)
       - Vimshottari Timeline         - Devanagari Hindi/English
       - Gochar & Guna Milan          - Dasha Strips & Panchang

✨ Core Capabilities

CategoryFeatures & Astrological Foundations
Kundali (D1 & D9)Lagna, Rashi, Nakshatra + Pada, 9 Grahas with true retrograde flags, whole-sign houses, and high-precision Navamsa (D9) divisional chart.
Planetary StrengthsClassical dignity, Digbala, Vargottama, Combustion (Asta), Graha Yuddha, and Lagna-specific functional benefic / malefic classifications.
Classical YogasGajakesari, Budhaditya, Pancha Mahapurusha, Raja Yogas, Neechabhanga, Vipreet (Harsha/Sarala/Vimala), Kaal Sarp (full/partial), Parivartana (Maha/Khala/Dainya) β€” with classical cancellation checks.
12-House Bhava AnalysisHouse lords with placement & strength, occupants, Parashari planetary aspects (Drishti), and Bhava Karakas.
Vimshottari DashaMahadasha, Antardasha, and Pratyantardasha timelines with true astronomical birth-balance handling.
Daily PanchangSunrise-anchored Tithi, Vara, Nakshatra, Yoga, Karana, Sunrise/Sunset, auspicious Muhurtas, and Anandadi/Amrit yogas.
Gochar (Transits)Real-time planetary transits mapped against natal Moon and Lagna, with retrograde indicators and Saturn Sade Sati tracking.
Guna Milan (Matchmaking)Complete 36-point Ashtakoot compatibility scoring with Nadi, Bhakoot, Gana, and Mangalik Dosha analysis.
Classical RemediesPrioritized mantras, gemstones, fasting days, daan (charity), and rituals in bilingual Hindi/English.

πŸš€ Quick Start

1. Install from PyPI

Terminal
pip install astro-skill

Requires Python 3.11+.

2. Run the Stdio MCP Server

bash
astro-mcp
# or: python -m services.astro_mcp

3. CLI Command Examples

bash
# Calculate Birth Kundali (JSON output)
python -m astro.scripts.kundali_calculator --dob 26/12/2019 --tob 09:15 \
  --place Delhi --lat 28.6139 --lon 77.2090 --timezone Asia/Kolkata --json

# Calculate Vimshottari Dasha Timeline
python -m astro.scripts.dasha_calculator --kundali-json chart.json --json

# Daily Panchang
python -m astro.scripts.panchang_calculator --date 2026-05-21 \
  --place Delhi --lat 28.6139 --lon 77.209 --timezone Asia/Kolkata --json

# Ashtakoot Guna Milan (Compatibility)
python -m astro.scripts.guna_milan --kundali-a-json person_a.json --kundali-b-json person_b.json --json

# Generate Factual Bilingual PDF Report
python -m astro.scripts.pdf_report --kundali-json chart.json --dasha-json dasha.json \
  --panchang-json panchang.json --output report.pdf --language hi

4. Python Library Usage

server.ts
from astro.scripts.kundali_calculator import calculate_kundali

kundali = calculate_kundali(
    dob="15/08/1990",
    tob="14:30",
    place="Mumbai",
    lat=19.0760,
    lon=72.8777,
    tz_str="Asia/Kolkata"
)

print(f"Lagna: {kundali['lagna']['sign_name']}, Nakshatra: {kundali['nakshatra']['name']}")

πŸ€– MCP Server Setup

The built-in MCP server exposes 11 tools over stdio. It includes SQLite client profile management and report generation out of the box.

πŸ“‹ Available MCP Tools (11)

Tool NameDescription
parse_birth_detailsParse conversational birth-detail strings into structured ISO date/time and coordinates.
save_client_profileUpsert client profile and birth parameters into local SQLite database.
find_client_profileSearch client by client_id or name substring.
list_client_reportsRetrieve previously generated reports for a client.
calculate_kundaliCompute complete Lahiri/whole-sign Kundali, Navamsa (D9), yogas, and bhava data.
calculate_dashaCompute Vimshottari Mahadasha + Antardasha timeline with exact birth balance.
calculate_gocharCompute transit chart and Sade Sati status for any target date.
calculate_compatibility36-point Ashtakoot Guna Milan compatibility score between two charts.
calculate_panchangDaily sunrise-anchored Panchang (Tithi, Vara, Nakshatra, Yoga, Karana).
generate_report_jsonCompile an all-in-one structured astrology draft JSON.
generate_pdf_reportRender a clean, printable PDF report using in-process ReportLab.

βš™οΈ Client Configurations

Claude Desktop (claude_desktop_config.json)

config.json
{
  "mcpServers": {
    "astro": {
      "command": "astro-mcp"
    }
  }
}

Cursor (settings.json / MCP Config)

config.json
{
  "mcpServers": {
    "astro": {
      "command": "python",
      "args": ["-m", "services.astro_mcp"],
      "cwd": "C:/path/to/astro-skill"
    }
  }
}

πŸ‘‘ Pro Report Tier

This repository contains the open-core deterministic engine β€” mathematical calculations, structured JSON schemas, and factual ReportLab PDFs.

For astrologers, consultancies, and consumer apps seeking client-ready, beautifully designed Janma Patrikas, a Pro Report Tier is available:

  • πŸ“– Pandit-Grade LLM Synthesis: Deep house-by-house, dasha-by-dasha, and transit narrative analysis in Hindi, English, or Hinglish.
  • 🎨 Premium Print-Ready Layout: Multi-page styled Janma Patrika with rich cover pages, divisional charts, and branded styling.
  • ⚑ Prioritized Actionable Remedies: Context-aware Gemstone, Mantra, Yantra, and Daan suggestions tailored to running dasha periods.

πŸ“© Interested in licensing the Pro Tier or API? Contact: adityaryawork@gmail.com


πŸ› οΈ Development & Testing

bash
git clone https://github.com/adityarya24/astro-skill.git
cd astro-skill
python -m venv .venv
source .venv/bin/activate  # Windows: .\.venv\Scripts\Activate.ps1
pip install -e ".[dev]"

# Run full test suite (154 tests)
pytest -q

# Linter & format check
ruff check astro services scripts

πŸ›‘οΈ Safety Boundaries

  1. Calculation-Backed Drafts: Reports are mathematical baselines intended for review by an astrologer or operator before sharing.
  2. Missing Birth Details: Never guess or synthesize birth times or locations; prompt the user if inputs are missing.
  3. Ethical Guardrails: Strictly prohibits generating fatalistic claims, death timing, medical diagnoses, or unavoidable harm predictions.

πŸ“œ License

MIT License Β© 2026 Aditya Arya