Skip to main content

🌌 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 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

                     [ 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

Category Features & 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 Strengths Classical dignity, Digbala, Vargottama, Combustion (Asta), Graha Yuddha, and Lagna-specific functional benefic / malefic classifications.
Classical Yogas Gajakesari, 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 Analysis House lords with placement & strength, occupants, Parashari planetary aspects (Drishti), and Bhava Karakas.
Vimshottari Dasha Mahadasha, Antardasha, and Pratyantardasha timelines with true astronomical birth-balance handling.
Daily Panchang Sunrise-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 Remedies Prioritized mantras, gemstones, fasting days, daan (charity), and rituals in bilingual Hindi/English.

🚀 Quick Start

1. Install from PyPI

pip install astro-skill

Requires Python 3.11+.

2. Run the Stdio MCP Server

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

3. CLI Command Examples

# 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

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 Name Description
parse_birth_details Parse conversational birth-detail strings into structured ISO date/time and coordinates.
save_client_profile Upsert client profile and birth parameters into local SQLite database.
find_client_profile Search client by client_id or name substring.
list_client_reports Retrieve previously generated reports for a client.
calculate_kundali Compute complete Lahiri/whole-sign Kundali, Navamsa (D9), yogas, and bhava data.
calculate_dasha Compute Vimshottari Mahadasha + Antardasha timeline with exact birth balance.
calculate_gochar Compute transit chart and Sade Sati status for any target date.
calculate_compatibility 36-point Ashtakoot Guna Milan compatibility score between two charts.
calculate_panchang Daily sunrise-anchored Panchang (Tithi, Vara, Nakshatra, Yoga, Karana).
generate_report_json Compile an all-in-one structured astrology draft JSON.
generate_pdf_report Render a clean, printable PDF report using in-process ReportLab.

⚙️ Client Configurations

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "astro": {
      "command": "astro-mcp"
    }
  }
}

Cursor (settings.json / MCP Config)

{
  "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

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

Metadata

Release files for astro-skill 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for astro-skill 2.0.1
File Size Uploaded Provenance
astro_skill-2.0.1.tar.gz 2.4 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for astro-skill 2.0.1
File Interpreter ABI Platform
astro_skill-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 4.9 MB

Release files / astro_skill-2.0.1.tar.gz

Download URL astro_skill-2.0.1.tar.gz
Size 2.4 MB
Tags Source
SHA-256 checksum
How to use checksums
e613e5ac6b8247603f7b794ea125ac4daf4783bad99948b12d348f52c4df28cd
BLAKE2b-256 checksum
How to use checksums
86332b94b8d893b559885d02427d8c96c8ac6f16a4630a03b291fc3d358592bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.

Transparency log

Release files / astro_skill-2.0.1-py3-none-any.whl

Download URL astro_skill-2.0.1-py3-none-any.whl
Size 2.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
d75f1b55856e1aef64d7ec7aec0c790faf6ba1039933877204b15b4adeb4fcb7
BLAKE2b-256 checksum
How to use checksums
3700a34ce9a37bc3c81aba9a70a18613d5d8cab398cf3d30acec7b8bbe64d9cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.

Transparency log

Security for astro-skill 2.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for astro_skill-2.0.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page