github
← Blog

Release · Jyotish · MCP

Vedākṣha v2.1.0 — Combustion, Ishta/Kashta, Ashtakavarga, Karakas

Four new Vedic primitives. Four new MCP tools. The MCP surface is now 11 tools wide, up from 7 at v2.0.0. Every primitive is sourced to a specific BPHS chapter and verse.

April 28, 2026·8 min read·ArthIQ Labs

Vedākṣha v2.0.0 shipped a full ephemeris and the core Jyotish layer — nakshatras, dashas, vargas, yogas, Shadbala, Drishti. v2.1.0 closes the gap on four primitives that any serious agent or product needs: combustion detection, Ishta/Kashta Phala, Ashtakavarga, and Jaimini Chara Karakas.

All four are sourced to specific verses of the Brihat Parashara Hora Shastra. Implementation cites chapter and verse directly so the lineage of every formula is traceable.

1 · Combustion orbs (BPHS Ch.7 vv.28-29)

A planet too close to the Sun is said to be combust — its significations are scorched. The classical orbs are not symmetric and are not the same for direct and retrograde motion. Vedākṣha now ships the per-planet table directly from BPHS Ch.7:

Planet     Direct     Retrograde
Moon       12°        —
Mars       17°        8°
Mercury    14°        12°
Jupiter    11°        11°
Venus      10°        8°
Saturn     16°        16°

The API returns one of three states — None, Combust, or DeeplyCombust — together with the exact angular separation from the Sun. Deep combustion is defined as separation under orb / 3, which is a modern convention rather than a BPHS-literal rule and is labeled as such in the source.

Sun, Rahu, and Ketu always return None. The MCP tool is compute_combustion; the WASM binding has the same name.

2 · Ishta and Kashta Phala (BPHS Ch.28 vv.5-6)

Shadbala measures planetary strength on the 0-60 virupa scale. Ishta-Phala (good effects) and Kashta-Phala (ill effects) sit on top of Shadbala and answer a different question: not how strong a planet is, but how favorably or unfavorably that strength manifests.

BPHS Ch.28 v.5 gives the literal formula in the Rasmi (ray) scale of 0-7:

ishta_phala  = 5 × (uchcha_rasmi + cheshta_rasmi − 2)
kashta_phala = 60 − ishta_phala

Rasmis are computed as a linear transform of the existing virupa values — v × 7 / 60 — so no new astronomical computation is introduced. Both phalas land on the 0-60 virupa scale to match the rest of the Shadbala output. The Ishta value is clamped to [0, 60] against floating-point edge drift, with the complement identity kashta = 60 − ishta preserved by construction.

Because Ishta and Kashta are pure functions of two existing Shadbala components — Uccha-Bala and Cheshta-Bala — they are now stored fields on every Shadbala result rather than gated behind a separate call. The new compute_shadbala MCP tool surfaces the entire structure including the new uccha_bala, ishta_phala, and kashta_phala fields.

3 · Ashtakavarga (BPHS Ch.66 vv.13-68)

Ashtakavarga is a transit-strength scoring system. For each of the seven planets, eight contributors — the seven planets plus the Lagna — vote on which signs they consider favorable. The contributor casts a bindu (point) when the target falls in one of its favorable houses-from-self. Per-planet totals are fixed by the rules and serve as a correctness gate:

Sun:     48 bindus
Moon:    49 bindus
Mars:    39 bindus
Mercury: 54 bindus
Jupiter: 56 bindus
Venus:   52 bindus
Saturn:  39 bindus
─────────────────
Sarva:  337 bindus  (sum of the 7 planet tables; Lagna is a contributor, not a target)

These canonical totals are invariant under any permutation of the input positions, which makes them the natural correctness gate. The full BPHS bindu matrices are encoded as bitmasks; flipping a single bit in the wrong direction is detected immediately because the planet total no longer matches its canonical value. Unit tests assert each total on every build.

v2.1.0 ships Bhinna Ashtakavarga (raw per-planet tables) and Sarvashtakavarga (the per-sign sum across the seven planet tables). The downstream rectifications described in BPHS Ch.67-69 operate on top of the raw tables you get today.

The MCP tool is compute_ashtakavarga. Input is eight sign indices (the seven planets and the Lagna). Output is the seven per-planet tables plus the 12-element Sarvashtakavarga vector.

4 · Jaimini Chara Karakas

The Chara Karaka system from the Jaimini school assigns role significators — Atmakaraka (soul), Amatyakaraka (minister), and the rest — by ranking planets by degrees-within-sign. Highest degree wins Atmakaraka; lowest wins Darakaraka.

Two schemes are supported. The 7-karaka scheme uses Sun through Saturn. The 8-karaka scheme adds Rahu (using 30° − degree-within-sign because Rahu moves backwards) and inserts Pitrikaraka into the role list. Vedākṣha exposes both via the same compute_karakas tool, switched by a scheme parameter.

The implementation is a strict ranking on degrees within the planet's current sign — no longitudinal magic, no implicit sidereal conversions inside the function. The longitudes you pass in are used as-is, which means any ayanamsha you have already applied at the chart level is the ayanamsha used here.

What changed across the surface area

Everything below is additive. v2.1.0 is a minor release; existing v2.0.0 callers do not need to change a line.

MCP tool count: 7 → 11. Four new tools: compute_karakas, compute_combustion, compute_shadbala, compute_ashtakavarga.
WASM bindings: four new exports matching the new MCP tools, with the same JSON-in / JSON-out contract.
Rust crate vedaksha-vedic: new modules combustion::* and ashtakavarga::* alongside the existing shadbala::*. The Shadbala struct gained uccha_bala, ishta_phala, and kashta_phala fields.

Calling the new tools

A minimal MCP request for a Sarvashtakavarga reading on a sample chart looks like this:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "compute_ashtakavarga",
    "arguments": {
      "sun": 3, "moon": 7, "mars": 1,
      "mercury": 10, "jupiter": 5,
      "venus": 8, "saturn": 11,
      "lagna": 0
    }
  }
}

The response carries seven AshtakavargaTable objects and a 12-element sarvashtakavarga vector indexed by zodiac sign. An agent can read the vector directly to identify the strongest signs for transits.

Upgrade: cargo update -p vedaksha · Tool catalog: /docs/mcp · Vedic features: docs.rs/vedaksha-vedic