Vedākṣha
An astronomical engine and Vedic computation library, built clean-room in Rust for the agentic AI era.
BSL 1.1 → Apache 2.0 in 5 years·arthiqlabs/vedaksha
Live ephemeris · computed in your browser
Repository · live from github.com/arthiqlabs/vedaksha
Six architecture decisions, six receipts.
Choosing an ephemeris backend isn't faith-based. Each section names a question a developer or product manager actually asks before adopting a library, and answers it with code that runs.
Will it work for AI agents?
tools/list call. Schema is generated from Rust definitions; no parallel hand-edited catalog can drift.The canonical introspection mirror at https://vedaksha.net/api/mcp answers initialize, ping, tools/list, get_version, and tools/call over JSON-RPC 2.0. Tool schemas mirror the live tool_definitions() in the Rust source; a drift-guard test (snapshot_matches_current_tool_definitions) fails CI if the published tools/mcp-tools.json snapshot diverges. To run these tools, self-host the library or build from source — the introspection mirror is read-only by design.
# Discover the canonical 12-tool catalog
curl https://vedaksha.net/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'For a fast no-install evaluation, a small technology showcase with 4 agent-friendly demo tools is hosted at mcp.vedaksha.net/mcp (free tier, anon, IP-rate-limited) — separate surface, not the full library.
Will Vedic features work correctly?
// vedaksha-mcp · compute_dasha
// Sources: BPHS Ch.46–47, Jaimini Sutras
pub enum DashaSystem {
Vimshottari, // 120-yr · 9 lords · moon
Ashtottari, // 108-yr · 8 lords · moon
Yogini, // 36-yr · 8 yoginis · moon
Chara, // Jaimini · lagna-based
Narayana, // Jaimini · lagna-based
}Can I do non-trivial chart queries?
// vedaksha-emit · CypherEmitter
// 10 node types · 13 edge types
MERGE (c:Chart {id:"chart_2024_03_20"})
MERGE (sun:Planet {name:"Sun"})
MERGE (sun)-[:Occupies]->(:Sign {name:"Pisces"})
MERGE (sun)-[:PlacedIn]->(:House {number:4})
MERGE (sun)-[:InNakshatra]->(:Nakshatra {name:"U.Bhadrapada"})
// then traverse like any graph
MATCH (m:Planet {name:'Mars'})
-[:Aspects]->(s:Planet {name:'Saturn'})
RETURN m, sDeterministic IDs mean re-emitting the same chart is idempotent. Multi-chart queries (matchmaking, transit synastry, RAG over a chart corpus) become graph patterns instead of bespoke loops.
Will it run where I deploy?
cargo add vedakshaLinux · macOS · Windows · BSDpip install vedakshavia PyO3, type stubsnpm i vedaksha-wasmzero data files · browser & edgedocker run -p 3100:3100 ghcr.io/arthiqlabs/vedaksha-mcpMCP server on port 3100vedaksha-mcpClaude Desktop · Cursor · VS Codegit clone https://github.com/arthiqlabs/vedakshabuild & test from a fresh checkoutRun cargo test --release from a fresh clone — 870 unit tests plus 8,700 oracle rows against JPL Horizons run in under a minute.
Will I get sued for handling birth data?
// MCP input schema for compute_natal_chart —
// the entire surface area an agent or client sees.
{
"required": ["julian_day", "latitude", "longitude"],
"properties": {
"julian_day": { "type": "number" },
"latitude": { "type": "number" },
"longitude": { "type": "number" },
"house_system": { "type": "string" },
"ayanamsha": { "type": "string" }
}
}
// fields not in the schema, by construction:
// name, email, birth_date, address, phone,
// user_id, ip_address, device_id
// every output graph is tagged at construction:
ChartGraph {
…,
classification: DataClassification::Anonymous,
}
// upgrade to Pseudonymized / Identified is an
// explicit caller decision, never the default.Names of people never enter the engine. Every output graph carries a DataClassification tag so downstream systems can enforce retention and access policy. GDPR and HIPAA-adjacent compliance is a property of your data layer, not the math layer.
Is the math right?
Sources cited inline in the source tree: Meeus (Astronomical Algorithms), Bretagnon & Francou (VSOP87A), Chapront (ELP/MPP02), Santhanam (BPHS), JPL DE440 / DE441.
The proof, the numbers, and the terms.
Where the engine runs in production, what we measured to back every claim above, and the license you actually buy.
Reference deployment
KundaliMCP runs on Vedākṣha core.
The same library described above is the compute layer for KundaliMCP — a fully-packaged managed MCP serving the full Vedic computation suite, including narrative generation, multi-school, multilingual. Built and operated by the same team at ArthIQ Labs. Engine, then product.
16 MCP tools — qualified yogas, all 5 dasha systems, vargas, transits, muhurta, narrative generation. 5 Jyotish schools, 7 languages. Operator-blind tenant cache; zero PII storage.
kundalimcp.com →·launch post →·Same team · two layers · engine then product
Repo hygiene
How the engine is built.
Tests, signing, scanning, drift-guards. The engineering controls we run on every commit so accuracy claims and tool catalogs don't silently rot.
Source · .github/workflows ↗·tests/oracle_jpl ↗
Provenance
Primary sources.
Every algorithm and every Vedic rule traces back to a citable primary source. Modern astronomy from peer-reviewed papers and IAU standards; classical Jyotish from public-domain Sanskrit treatises in their canonical translations.
Inline citations live in the source — every module that implements a cited algorithm carries a doc-comment // Source: line. Example: compute_dasha.rs ↗.
License
BSL today. Apache in five years.
$500 one-time per organization for commercial use; free for non-commercial. No subscription. No per-seat. No data retention.
Secure checkout via Stripe.·BSL 1.1 → Apache 2.0 conversion: see /legal/bsl