Vedaksha
This server provides a comprehensive Vedic and Western astrology computation engine via MCP, exposing 17 tools for chart calculation, dasha systems, transits, muhurta election, and graph-based querying.
Natal charts: Compute detailed birth charts (
compute_natal_chart) with planetary positions, houses, aspects, nakshatras, and dignities.Dasha systems: Calculate five Vedic dasha sequences (
compute_dasha) — Vimshottari, Ashtottari, Yogini, Chara, Narayana.Vargas: Generate divisional charts (
compute_vargas) for any combination (D1–D60).Transits & Gochara: Compute transiting positions (
compute_transit), search exact transit aspects (search_transits), and get BPHS-based gochara verdicts (compute_gochara).Panchanga & Muhurta: Compute the five limbs of the almanac (
compute_panchanga) and search auspicious time windows (search_muhurta).Jyotish analysis: Compute Jaimini karakas (
compute_karakas), planetary combustion (compute_combustion), six-fold shadbala (compute_shadbala), ashtakavarga (compute_ashtakavarga), graha drishti (compute_drishti), and whole-sign bhavas (compute_bhavas).Synastry & Composite: Analyze inter-chart aspects (
compute_synastry) and midpoint composite charts (compute_composite).Property graph: Convert any computed chart into a queryable graph (
emit_graph) with Cypher, SurrealQL, JSON-LD, JSON, or RAG embedding output.
Supports deployment to Cloudflare Workers edge computing platform using the AnalyticalProvider ephemeris for zero-data environments.
Provides Docker container deployment for the MCP server with HTTP transport on port 3100.
Supports macOS arm64 platform with pre-built Python wheels available via PyPI installation.
Provides Python package distribution through PyPI for Python bindings installation and usage.
Provides Python bindings via PyO3 for chart computation and Vedic astrology functionality.
Provides native Rust crates for astronomical ephemeris computation and Vedic astrology platform functionality.
Provides WebAssembly bindings for browser-based chart computation with 972KB binary and zero data files.
Vedaksha — Vision from Vedas
Clean-room Rust ephemeris and Vedic astrology engine, built for the agentic-AI era. Sub-arcsecond planetary precision, every algorithm traced to a primary source, any chart queryable as a property graph.
Website · Docs · Playground · API reference · Blog
clean-room · 0.103″ vs JPL Horizons · 1,069 tests + 24,350 oracle rows · MCP-native · BUSL-1.1 → Apache 2.0
Install · Quick start · Accuracy · What's inside · MCP + property graph · Provenance · License
Install
Platform | Install | Notes |
Rust |
| full pipeline |
Python |
| engine via WebAssembly, |
WASM |
| browser & edge, no data files |
MCP |
| stdio + HTTP (bearer auth) |
Docker |
| multi-arch (amd64 + arm64) |
Compute janam kundali (natal charts), panchanga, dashas, nakshatras, vargas, shadbala, ashtakavarga, muhurta and transits/gochara from a sub-arcsecond ephemeris (VSOP87A, ELP/MPP02, JPL DE440s/DE441).
flowchart LR
K["JPL DE440s / DE441<br/>SPK kernel, ~31 MB"] --> E
V["VSOP87A + ELP/MPP02<br/>compiled to constants,<br/>no data files"] --> E
E["Ephemeris core<br/>precession · nutation<br/>light-time · ΔT"] --> W["Western<br/>houses · aspects<br/>dignities"]
E --> J["Jyotish<br/>nakshatras · dashas · vargas<br/>panchanga · shadbala · muhurta"]
W --> C["ComputedChart"]
J --> C
C --> G["Property graph<br/>Cypher · SurrealQL<br/>JSON-LD · RAG text"]
C --> M["MCP server<br/>17 tools · stdio + HTTP"]
C --> S["Rust · Python · WASM"]Related MCP server: Precision astronomical ephemeris and planetary positions via the Swiss Ephemeris.
Quick start
from vedaksha import Vedaksha
vk = Vedaksha()
chart = vk.natal_chart(julian_day=2451545.0, latitude=28.6139, longitude=77.2090)cargo install vedaksha-mcp && vedaksha-mcp # stdio: Claude Desktop, Cursor, VS CodeThe Rust path is a compiled doctest in crates/vedaksha/src/lib.rs.
Every Julian Day on the public surfaces is UT1, not TT and not TDB. The engine converts to TT internally for the dynamical terms and uses UT1 for Earth rotation, which fixes the ascendant, MC and all twelve cusps. Passing a TDB Julian Day adds ΔT worth of rotation instead of removing it — 0.289° (17.3′) at today's ΔT ≈ 69 s, on every cusp. The one exception is the raw SPK query (state_vector), which indexes the kernel directly and takes TDB.
Accuracy
Every figure is printed by a named test. Reproduce the ephemeris tables with bash scripts/download_de440s.sh, then cargo test -p vedaksha-ephem-core --release -- --include-ignored --nocapture; the ayanamsha figures come from cargo test -p vedaksha-astro sidereal, and the cross-check against an independent Python derivation of the same primaries from cargo test -p vedaksha-astro --test ayanamsha_fixture.
SpkReader vs JPL Horizons (DE441) — oracle_comparison.rs, 24,350 committed rows (10 bodies × 2,435 dates, 1900–2100). Horizons serves DE441, so this measures our DE440s pipeline against an independent kernel.
Era | Comparisons | Mean | Max |
1900–2025 (ΔT measured) | 15,350 | 0.103″ | 1.187″ (Uranus) |
1900–2100 (all) | 24,350 | 0.878″ | 44.912″ (Moon, 2099) |
15,349 of 15,350 comparisons before 2026 are sub-arcsecond. Past 2025 the residual is ΔT prediction, not ephemeris error: our Espenak–Meeus extrapolation and Horizons' ΔT diverge by ~68 s at 2099, and the error scales with a body's angular rate — the Moon (0.64″/s) picks up ~45″, Pluto essentially none. At 2099-02-06, five bodies spanning 0.03–0.64″/s all imply the same 66–71 s offset, which is the signature of a clock difference, not a position error.
AnalyticalProvider vs JPL Horizons — analytical_oracle.rs, 1900–2025: overall mean 0.239″, worst case 1.896″ (Neptune), Moon 0.169″ mean via ELP/MPP02. Densely sampled at 2,435 dates per body.
Until 2026-08-20 those figures were 2.06″ mean and 24.22″ worst, and this README attributed the gap to VSOP87A being a truncated theory. That was wrong, and the wording protected a defect of ours: the analytical provider answered EarthMoonBarycenter with VSOP87A's Earth-centre series, so the observer sat 4,671 km off, and earth_state divided a barycentre-relative Moon by 1 + EMRAT instead of EMRAT for a further 56.8 km. Both are fixed. The second one moved the SPK path too, 0.106″ → 0.103″.
ELP/MPP02 Moon — lunar_horizons.rs: 0.015″ at J2000, 0.020–0.053″ across 1500–2500 CE.
What is not measured
House cusps are not validated against any external reference.
No ayanamsha is validated against another implementation, and that is deliberate. All eleven are derived forward from a primary — a chapter, a committee, a proposer's own paper, or a star catalogue — and each reproduces its own anchor to 1e-9° and, where its primary documents one, its own zero year. What is not claimed is agreement with anyone else's numbers: comparing against them would be the reverse-engineering this re-derivation exists to undo. See
docs/audit/2026-08-17-ayanamsha-cleanroom/.Dasha and nakshatra tests are invariant tests, not external comparisons: they verify that BPHS constants sum to 120 years and that boundaries tile the circle.
What's inside
Two ephemeris providers. SpkReader reads JPL DE440s (~31 MB) for sub-arcsecond work. AnalyticalProvider compiles VSOP87A + ELP/MPP02 to constants and needs no data files — for WASM, edge and Cloudflare Workers.
Jyotish, from primary sources. 27 nakshatras with padas and lords · 5 dasha systems (Vimshottari, Yogini, Ashtottari, and Jaimini's Chara & Narayana) · all 16 vargas (D-1 → D-60) · six-component shadbala with Ishta/Kashta phala · 11 ayanamshas, each traceable to a chapter, a star or a committee · panchanga's five limbs, with vara reckoned from local sunrise and Rahu/Gulika Kalam as real time windows · graded drishti per BPHS Ch. 26 · mean, true and osculating nodes, all referred to the ecliptic of date, with the J2000 variant tracking DE441's OM to 0.6″ (KP sub-lord ready).
Western: calculation, not interpretation. 10 house systems, major aspects with applying/separating motion, essential dignities, synastry and composite. ChartConfig defaults to tropical. There is no Western interpretive layer and no parity with the Jyotish surface.
Crates, published to crates.io in lockstep: vedaksha (umbrella, 7 locales) · -math · -ephem-core · -astro · -vedic · -graph · -mcp.
MCP + property graph
17 tools, discoverable with a single tools/list. The catalog is generated from the Rust definitions and locked by a snapshot test, so it cannot silently drift from the code.
compute_natal_chart · compute_dasha · compute_vargas · compute_karakas · compute_combustion · compute_shadbala · compute_ashtakavarga · compute_transit · compute_gochara · search_transits · search_muhurta · compute_panchanga · compute_drishti · compute_bhavas · compute_synastry · compute_composite · emit_graph
Any chart converts to a property graph via emit_graph or vedaksha_graph::chart_to_graph, emitting Cypher, SurrealQL, JSON-LD, JSON or RAG embedding text. An agent can then ask "which planets aspect the 7th-house lord?" as a graph query instead of re-implementing chart logic. Computations themselves return typed structs; the graph is a projection you ask for.
What a chart actually yields: 4 of the ontology's 9 node types (Chart, Planet, Sign, House) and 7 of its 12 edge types. Nakshatra, Pada, Pattern, DashaPeriod and FixedStar are defined in vedaksha_graph::ontology but are not built from a ComputedChart, which does not carry the data they need. Compute those through their own APIs.
VEDAKSHA_MCP_TOKEN=… vedaksha-mcp --http --port 3100HTTP mode requires Authorization: Bearer <token> on every POST and refuses to start without VEDAKSHA_MCP_TOKEN, unless you pass --insecure-no-auth for a trusted network. /health and the informational GET stay open.
Clean-room provenance
Every implemented algorithm carries a // Source: doc-comment naming its primary paper or treatise — VSOP87A, ELP/MPP02, IAU standards, BPHS, Jaimini. Two subsystems have been re-derived from primary sources behind a documented firewall, and each ships its own audit directory: the lunar theory (2026-05-09) and the sidereal surface (2026-08-17). Each records the primaries, the process, what was searched and rejected, and a generator that re-derives the values so the claim can be re-run rather than taken on trust. See also DATA_PROVENANCE.md. This is the evidence a BUSL-1.1 licensee can audit.
In production
Product | What it is |
Agentic-AI Jyotish MCP with the full computation suite. Builds directly on the | |
Consumer endpoint — chat-based readings and self-serve PDF reports. |
License
Business Source License 1.1 — SPDX BUSL-1.1, which is what crates.io, PyPI and npm display. (BSL-1.0 is the unrelated Boost licence, hence the BUSL prefix.)
Non-commercial — free (personal, research, education, internal tools).
Commercial — $500, charged once per organization. Unlimited products and seats, perpetual, and it covers the version you license and every version released after it — not charged again per release. Purchase →
Converts to Apache 2.0 four years after each version's release. That future licence text is kept at
CHANGE-LICENSE.txt— it is the Change License in BUSL terms, not a licence you may choose today.
See LICENSE, SECURITY.md, CONTRIBUTING.md and MAINTENANCE.md.
Copyright © 2026 ArthIQ Labs LLC · Licensed under the Business Source License 1.1 (BUSL-1.1).
Maintenance
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceWorld's first Vedic Astrology MCP Server — connect Claude, ChatGPT, Cursor, or any AI to real Vedic astrology. Provides horoscope predictions, compatibility matching, numerology, planetary positions, yogas and house analysis via MCP.6
- AlicenseNot gradedqualityCmaintenanceA self-contained MCP server that gives AI agents the ability to calculate high-precision astronomical data. It provides tropical zodiac coordinates, planetary speeds, retrograde detection, and house cusps using the trusted Swiss Ephemeris engine. 100%4AGPL 3.0
- AlicenseAqualityAmaintenanceAstrology MCP server that computes natal charts, transits, synastry, progressions, returns, eclipses, retrogrades, and moon phases from a real ephemeris, enabling AI agents to provide accurate astrological calculations without hallucination.12741MIT
- FlicenseNot gradedqualityCmaintenanceA Vedic astrology MCP server that computes birth charts, dashas, transits, and yogas locally using Swiss Ephemeris, enabling an LLM to interpret horoscopes and provide personalized advice.
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server exposing the Backtest360 engine API as tools for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/arthiqlabs/vedaksha'
If you have feedback or need assistance with the MCP directory API, please join our Discord server