a4f8620a71
## 新增模块 (16个) ### P0 精度修复 - ashtakavarga: calc_prastara_av() + calc_sodhita_av() - kakshya.py: Kakshya评分系统 (8区间×3.75°) - shadbala.py: Sputa Drishti + Yuddha Bala ### P1 核心升级 - bhava_bala.py: 宫位三元力量 (jyotishganit MIT) - pancha_mahapurusha.py: PMC完整检测含4层失效条件 - sade_sati.py: Sade Sati+Kantaka Shani - sudarshana_chakra.py: 三参考点盘+收敛分析 - tajika.py: Sahams 7→36 + Tajika Yogas 10种 - birth_time_rectifier.py: 生时矫正 ### P2 覆盖扩展 - kp_system.py: KP Sublord+ABCD Significator (diliprk/VedicAstro MIT) - synastry.py: 16因子合盘36分制 (dashaflow MIT) - muhurtha_election.py: 6活动选举 (dashaflow MIT) - career_analysis.py: 结构化事业引擎 - relationship_analysis.py: 结构化感情引擎 - conditional_dashas.py: Dwisaptati+Shattrimsa+Dwadashottari - divisional_charts_extended: D81/D108/D144 - remedies.py: 5类补救系统 ## 修改文件 jaimini/dasha_calculator/shadbala/SKILL.md/COVERAGE_AUDIT等12个 ## 开源复用: 4个MIT项目
256 lines
10 KiB
Markdown
256 lines
10 KiB
Markdown
# RishiAI MCP Server
|
||
|
||
[](https://pypi.org/project/rishi-ai-mcp/)
|
||
[](https://github.com/adarshj322/rishi-ai-mcp/actions/workflows/ci.yml)
|
||
[](https://pypi.org/project/rishi-ai-mcp/)
|
||
[](https://opensource.org/licenses/MIT)
|
||
|
||
A [Model Context Protocol](https://modelcontextprotocol.io/) server that exposes **Vedic astrology tools** powered by the [DashaFlow](https://github.com/adarshj322/dashaflow) calculation engine.
|
||
|
||
Works with **any MCP-compatible client** — VS Code Copilot, Cursor, Claude Desktop, Claude Code, Gemini CLI, Codex, Antigravity, OpenCode, OpenClaw, Pi agent, or any custom app that speaks MCP.
|
||
|
||
https://github.com/user-attachments/assets/9c183b94-bb54-4af6-867c-fa3daeef2d03
|
||
|
||
## Install
|
||
|
||
```bash
|
||
pip install rishi-ai-mcp
|
||
```
|
||
|
||
## Quick Start
|
||
|
||
```bash
|
||
rishi-ai-mcp # console entry point (after pip install)
|
||
python rishi_ai_mcp.py # or run directly from source
|
||
```
|
||
|
||
Communicates over **stdio**. Any MCP client that can spawn a subprocess and speak MCP can use it — no IDE required.
|
||
|
||
---
|
||
|
||
## Setup
|
||
|
||
Clone this repo into your workspace to get the MCP config + RishiAI agent rules for your IDE:
|
||
|
||
```bash
|
||
git clone https://github.com/adarshj322/rishi-ai-mcp.git
|
||
```
|
||
|
||
The repo includes ready-to-use configs for three IDEs:
|
||
|
||
### VS Code / GitHub Copilot
|
||
|
||
- `.vscode/mcp.json` — auto-configures the MCP server
|
||
- `.github/copilot-instructions.md` — RishiAI persona (always-on)
|
||
- `.agents/skills/*/SKILL.md` — 14 workflow skills (auto-triggered by topic, or invoke via `/skill-name`)
|
||
|
||
VS Code Copilot reads `.github/copilot-instructions.md` for always-on instructions and `.agents/skills/` for skills. Just open the cloned folder and the tools + persona + skills are active.
|
||
|
||
### Cursor
|
||
|
||
- `.cursor/mcp.json` — auto-configures the MCP server
|
||
- `.cursor/rules/rishi-ai.mdc` — RishiAI persona (always-on core rule)
|
||
- `.agents/skills/*/SKILL.md` — 14 workflow skills (shared, Cursor reads `.agents/skills/` natively)
|
||
|
||
Open the cloned folder in Cursor and the tools + persona + skills are active.
|
||
|
||
### Antigravity
|
||
|
||
- `.agents/rules/rishi-ai.md` — RishiAI persona (always-on)
|
||
- `.agents/skills/*/SKILL.md` — 14 workflow skills
|
||
- `.agents/workflows/*.md` — 14 slash-command workflows
|
||
|
||
Antigravity reads `.agents/` natively. Configure the MCP server in your Antigravity settings:
|
||
|
||
```
|
||
command: uvx
|
||
args: rishi-ai-mcp
|
||
```
|
||
|
||
### Other MCP Clients (Claude Desktop, Claude Code, Gemini CLI, etc.)
|
||
|
||
Any MCP-compatible client can connect using the same server. Add to your client's MCP config:
|
||
|
||
```json
|
||
{
|
||
"mcpServers": {
|
||
"vedic-astrology": {
|
||
"command": "uvx",
|
||
"args": ["rishi-ai-mcp"]
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
For the RishiAI persona, use `system_prompt.md` as a reference and adapt it to your client's instruction format.
|
||
|
||
### Standalone / Custom Client
|
||
|
||
```python
|
||
from mcp import ClientSession, StdioServerParameters
|
||
from mcp.client.stdio import stdio_client
|
||
|
||
params = StdioServerParameters(command="uvx", args=["rishi-ai-mcp"])
|
||
|
||
async with stdio_client(params) as (read, write):
|
||
async with ClientSession(read, write) as session:
|
||
await session.initialize()
|
||
result = await session.call_tool("cast_vedic_chart", {
|
||
"dob": "1990-04-15", "time": "14:30",
|
||
"lat": 28.6139, "lon": 77.2090, "timezone": "Asia/Kolkata"
|
||
})
|
||
print(result)
|
||
```
|
||
|
||
---
|
||
|
||
## MCP Tools
|
||
|
||
### `cast_vedic_chart`
|
||
|
||
Generates a complete Vedic natal chart.
|
||
|
||
| Parameter | Type | Description |
|
||
|-----------|------|-------------|
|
||
| `dob` | string | Date of birth — `"YYYY-MM-DD"` |
|
||
| `time` | string | Time of birth — `"HH:MM"` (24-hour) |
|
||
| `lat` | float | Birth latitude (e.g. `28.6139` for Delhi) |
|
||
| `lon` | float | Birth longitude (e.g. `77.2090` for Delhi) |
|
||
| `timezone` | string | IANA timezone (e.g. `"Asia/Kolkata"`) |
|
||
| `query_date` | string | Optional — date for Dasha lookup, defaults to today |
|
||
|
||
**Returns:** JSON with `metadata`, `panchang`, `lagna` (with D2–D60 signs), `planets` (with dignity, combustion, Shadbala, all 14 Varga signs, aspects), `dashas` (5 levels: Maha/Antar/Pratyantar/Sukshma/Prana + timeline), `yogas` (24 types), `ashtakavarga` (SAV + BAV + Prashtara), `jaimini_karakas`, `shadbala` (with Ishta/Kashta Phala), `bhava_chalit`, `avasthas`, `kaal_sarpa`, `graha_yuddha`, `gandanta`, `arudha_padas` (A1–A12), `upapada`, `karakamsha`.
|
||
|
||
### `cast_transit_chart`
|
||
|
||
Calculates planetary transits overlaid on a natal chart.
|
||
|
||
| Parameter | Type | Description |
|
||
|-----------|------|-------------|
|
||
| `transit_date` | string | Date to compute transits — `"YYYY-MM-DD"` |
|
||
| `dob` | string | Date of birth — `"YYYY-MM-DD"` |
|
||
| `time` | string | Time of birth — `"HH:MM"` (24-hour) |
|
||
| `lat` | float | Birth latitude |
|
||
| `lon` | float | Birth longitude |
|
||
| `timezone` | string | Optional — defaults to `"Asia/Kolkata"` |
|
||
|
||
**Returns:** JSON with transit `planets` (sign, degree, nakshatra, `sav_points`, house from Lagna/Moon), `sade_sati` status and phase, and `rahu_ketu_axis`.
|
||
|
||
### `calculate_compatibility_tool`
|
||
|
||
Calculates 16-factor compatibility + Kuja Dosha. Person 1 = Male, Person 2 = Female.
|
||
|
||
| Parameter | Type | Description |
|
||
|-----------|------|-------------|
|
||
| `dob1`, `time1`, `lat1`, `lon1`, `tz1` | various | Birth details for Person 1 (Male) |
|
||
| `dob2`, `time2`, `lat2`, `lon2`, `tz2` | various | Birth details for Person 2 (Female) |
|
||
|
||
**Returns:** 8 Ashtakoot kutas (36 pts), additional kutas (Mahendra, Stree Deergha, Vedha, Rajju, BadConstellations, LagnaHouse7, SexEnergy), exception logic, and Kuja Dosha analysis.
|
||
|
||
### `check_muhurtha_tool`
|
||
|
||
Evaluates whether a date/time is auspicious for a specific activity (electional astrology).
|
||
|
||
| Parameter | Type | Description |
|
||
|-----------|------|-------------|
|
||
| `activity` | string | One of: `marriage`, `travel`, `business`, `education`, `house_entry`, `medical` |
|
||
| `date` | string | Date to evaluate — `"YYYY-MM-DD"` |
|
||
| `time` | string | Time to evaluate — `"HH:MM"` (24-hour) |
|
||
| `lat` | float | Location latitude |
|
||
| `lon` | float | Location longitude |
|
||
| `timezone` | string | IANA timezone string |
|
||
|
||
**Returns:** JSON with `verdict`, `score`, `positive_factors`, `negative_factors`, `panchang_suddhi`, and `marriage_doshas` (for marriage activity).
|
||
|
||
### `analyze_career_chart`
|
||
|
||
Analyzes career potential using the 10th house, D10 Dashamsha, and planetary significations.
|
||
|
||
| Parameter | Type | Description |
|
||
|-----------|------|-------------|
|
||
| `dob` | string | Date of birth — `"YYYY-MM-DD"` |
|
||
| `time` | string | Time of birth — `"HH:MM"` (24-hour) |
|
||
| `lat` | float | Birth latitude |
|
||
| `lon` | float | Birth longitude |
|
||
| `timezone` | string | IANA timezone string |
|
||
|
||
**Returns:** JSON with `tenth_house` info, `d10_indicators`, `career_themes`, and `strength_factors`.
|
||
|
||
---
|
||
|
||
## RishiAI Agent Persona
|
||
|
||
The repo includes the **RishiAI** persona — a Vedic astrologer AI that interprets chart data using BPHS methodology.
|
||
|
||
| IDE | Always-on Rule | Skills |
|
||
|-----|---------------|--------|
|
||
| **VS Code Copilot** | `.github/copilot-instructions.md` | `.agents/skills/*/SKILL.md` (12 skills) |
|
||
| **Cursor** | `.cursor/rules/rishi-ai.mdc` | `.agents/skills/*/SKILL.md` (12 skills) |
|
||
| **Antigravity** | `.agents/rules/rishi-ai.md` | `.agents/skills/*/SKILL.md` + `.agents/workflows/*.md` |
|
||
| **Other clients** | Adapt from `system_prompt.md` | Adapt workflow steps from `.agents/workflows/` |
|
||
|
||
All IDEs share skills from `.agents/skills/` using the [Agent Skills](https://agentskills.io/) open standard.
|
||
|
||
### Workflows
|
||
|
||
| Command | Description |
|
||
|---------|-------------|
|
||
| `/full-reading` | Complete natal chart reading |
|
||
| `/career-analysis` | Career and professional guidance |
|
||
| `/marriage-analysis` | Marriage timing and compatibility |
|
||
| `/relationship-analysis` | Relationship dynamics |
|
||
| `/children-analysis` | Children and progeny |
|
||
| `/finance-analysis` | Wealth and financial prospects |
|
||
| `/health-analysis` | Health tendencies and remedies |
|
||
| `/education-analysis` | Education and learning |
|
||
| `/spiritual-analysis` | Spiritual path and practices |
|
||
| `/muhurtha-analysis` | Electional astrology timing |
|
||
| `/physicalIntimacy-analysis` | Physical compatibility |
|
||
| `/geopolitics-analysis` | Mundane astrology |
|
||
| `/past-life-analysis` | Past life karma and karmic debts |
|
||
| `/spouse-profiling` | Detailed spouse blueprint — looks, personality, archetype |
|
||
|
||
---
|
||
|
||
## Architecture
|
||
|
||
```
|
||
rishi_ai_mcp.py MCP entry point — 5 tools, pip-installable
|
||
└── dashaflow (pip) Calculation engine
|
||
├── vedic_calculator Swiss Ephemeris core
|
||
├── constants Zodiac, nakshatras, dignities
|
||
├── nakshatra Nakshatra lookup
|
||
├── panchang Tithi, Vara, Yoga, Karana
|
||
├── yoga 24 yoga types + Kaal Sarpa, Graha Yuddha, Gandanta
|
||
├── dasha Vimshottari 5-level
|
||
├── dignity Dignity, combustion, digbala
|
||
├── ashtakavarga SAV, BAV, Prashtara
|
||
├── jaimini Karakas, Arudha Padas, Upapada, Karakamsha
|
||
├── shadbala Six-fold strength + Ishta/Kashta
|
||
├── matchmaking 16-factor compatibility + Kuja Dosha
|
||
├── muhurtha Electional astrology
|
||
└── career D10 career analysis
|
||
|
||
.vscode/mcp.json VS Code Copilot MCP config
|
||
.github/
|
||
└── copilot-instructions.md Always-on rule (VS Code Copilot)
|
||
.cursor/
|
||
├── mcp.json Cursor MCP config
|
||
└── rules/rishi-ai.mdc Always-on core rule (Cursor)
|
||
.agents/ Shared across all IDEs
|
||
├── rules/rishi-ai.md Always-on agent rule (Antigravity)
|
||
├── skills/ 14 workflow skills (SKILL.md per folder)
|
||
└── workflows/ 14 slash-command workflows (Antigravity)
|
||
system_prompt.md Universal reference prompt (for other clients)
|
||
```
|
||
|
||
## Prerequisites
|
||
|
||
- **Python 3.10+**
|
||
- **dashaflow** — installed automatically as dependency
|
||
- **mcp** — installed automatically as dependency
|
||
|
||
## License
|
||
|
||
MIT
|