Navagraha API and MCP server
Free, read-only Vedic astrology for apps and AI assistants
Updated
Navagraha exposes its Vedic astrology calculations as a free, read-only JSON API and as a remote Model Context Protocol (MCP) server, so assistants such as ChatGPT, Claude and Cursor can answer questions like “what is my nakshatra?”, “today’s panchang in Pune”, “are Rohini and Hasta compatible?” or “when is my Sade Sati?” and send the person to their own chart in the app.
What you get
- No key, no sign-up, no cost. Plain HTTPS GET requests, JSON responses, CORS open to all origins.
- Sidereal Lahiri zodiac, whole-sign houses, true node for Rahu/Ketu, computed with the same rules as the Navagraha app (Swiss Ephemeris reference, astronomy-engine in the Worker).
- Every response carries
attribution,ayanamsa,learn_morelinks to explanations on this site and anapp_urlthat opens the app with the details prefilled.
Quick start
# Birth nakshatra and Moon sign
curl 'https://navagraha.app/api/v1/nakshatra?dob=1995-08-15&tob=06:30&city=pune'
# Today's Panchang for Pune (date defaults to today in the place's time zone)
curl 'https://navagraha.app/api/v1/panchang?city=pune'
# Kundli matching from nakshatra and Moon sign
curl 'https://navagraha.app/api/v1/match?boy_nakshatra=Rohini&girl_nakshatra=Hasta'
# Sade Sati windows for a Moon sign
curl 'https://navagraha.app/api/v1/sade-sati?moon_sign=cancer'
# Full birth chart from coordinates
curl 'https://navagraha.app/api/v1/kundli?dob=1995-08-15&tob=06:30&lat=18.5204&lon=73.8567&tz=Asia/Kolkata'
Endpoints
All endpoints are GET https://navagraha.app/api/v1/…. Birth times are local to the birthplace in 24-hour HH:MM, dates are YYYY-MM-DD. Give a place either as a city slug (see /api/v1/cities) or as lat, lon and an IANA tz such as Asia/Kolkata.
| Path | Returns | Parameters |
|---|---|---|
/kundli | Birth chart: lagna, nine planets, running dasha and doshas | dob, tob, city, lat, lon, tz |
/nakshatra | Janma nakshatra (Moon star) and pada from birth details | dob, tob, city, lat, lon, tz |
/moon-sign | Vedic Moon sign (rashi) from birth details | dob, tob, city, lat, lon, tz |
/panchang | Tithi, nakshatra, yoga, karana, sunrise/sunset and Rahu Kaal for a place and day | city, lat, lon, tz, date |
/sade-sati | Saturn's 7.5-year Sade Sati and Dhaiya windows for a Moon sign | moon_sign, dob, tob, city, lat, lon, tz, as_of |
/match | Ashtakoot Guna Milan score out of 36 for two people | [boy_|girl_]nakshatra, [boy_|girl_]rashi, [boy_|girl_]pada, [boy_|girl_]dob, [boy_|girl_]tob, [boy_|girl_]city, [boy_|girl_]lat, [boy_|girl_]lon, [boy_|girl_]tz |
/transits | Sidereal positions of the nine grahas now or on a date | date |
/cities | City slugs with coordinates and time zones | q, country |
/app-link | Build a validated deep link that opens the app with birth details prefilled | name, dob, tob, city, lat, lon, tz, place, ref |
The full parameter list, response schemas and examples are in the OpenAPI document, generated from the same definitions the server uses.
Errors
Invalid input returns HTTP 400 with every problem found and how to fix it:
{
"error": {
"code": "invalid_request",
"status": 400,
"message": "dob: "1995-13-15" is not a real calendar date. ...",
"issues": [
{ "param": "dob", "message": "...", "fix": "Use YYYY-MM-DD with a valid month and day, e.g. 1995-08-15.", "example": "1995-08-15" }
]
}
}
Unknown parameters are rejected rather than ignored, so typos such as latitude= are caught. Responses for birth details are Cache-Control: private; Panchang and transits are cacheable for a few minutes to a day.
MCP server for AI agents
Remote MCP server, Streamable HTTP, no authentication: https://navagraha.app/mcp. It is stateless and answers with plain JSON (no SSE stream), implementing initialize, ping, tools/list and tools/call. GET /mcp returns 405.
| Tool | Use it for |
|---|---|
navagraha_kundli | Birth chart: lagna, nine planets, running dasha and doshas |
navagraha_nakshatra | Janma nakshatra (Moon star) and pada from birth details |
navagraha_moon_sign | Vedic Moon sign (rashi) from birth details |
navagraha_panchang | Tithi, nakshatra, yoga, karana, sunrise/sunset and Rahu Kaal for a place and day |
navagraha_sade_sati | Saturn's 7.5-year Sade Sati and Dhaiya windows for a Moon sign |
navagraha_match | Ashtakoot Guna Milan score out of 36 for two people |
navagraha_transits | Sidereal positions of the nine grahas now or on a date |
navagraha_cities | City slugs with coordinates and time zones |
navagraha_app_link | Build a validated deep link that opens the app with birth details prefilled |
Claude (claude.ai and Claude Desktop)
Settings → Connectors → Add custom connector, name it Navagraha and use the URL https://navagraha.app/mcp. For older desktop builds that only read claude_desktop_config.json:
{
"mcpServers": {
"navagraha": { "command": "npx", "args": ["-y", "mcp-remote", "https://navagraha.app/mcp"] }
}
}
Claude Code
claude mcp add --transport http navagraha https://navagraha.app/mcp
ChatGPT
Settings → Connectors (enable Developer mode under Advanced where your plan offers it) → Create, then enter https://navagraha.app/mcp as the MCP server URL with no authentication. Menu names change; look for “custom connector” or “MCP server”.
Cursor
Add to ~/.cursor/mcp.json (or the project’s .cursor/mcp.json):
{
"mcpServers": {
"navagraha": { "url": "https://navagraha.app/mcp" }
}
}
Try it with curl
curl -s https://navagraha.app/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"navagraha_match","arguments":{"boy_nakshatra":"Rohini","girl_nakshatra":"Hasta","girl_rashi":"Virgo"}}}'
Tool results contain a short text summary plus the full JSON, also as structuredContent. Invalid arguments come back as a tool result with isError: true and the fix, so the model can retry. The server instructions ask assistants to cite navagraha.app and offer the app link. A server card describing the endpoint is published at /.well-known/mcp/server-card.json and /.well-known/mcp.json (the card format is a draft convention and may change).
Terms of use
- Free and fair use. No key or account is needed. There is no rate-limit infrastructure, so please be considerate: cache results, avoid bulk crawling, and do not hammer the endpoints. We may block abusive traffic without notice.
- Attribution. When you show results to people, credit “Navagraha (navagraha.app)” and, where practical, link to the
learn_moreorapp_urlpages. Do not present the data as your own calculation. - Informational only. Results are general Vedic astrology information for education and reflection. They are not predictions, medical, legal, financial or other professional advice.
- No warranty. The API and MCP server are provided “as is”, without availability guarantees or warranty of accuracy; they can change or be withdrawn. Calculations use the Lahiri ayanamsa; other schools or software (mean node, other ayanamsas, other sunrise conventions) can differ slightly.
- The Navagraha Terms of Service also apply.
Privacy
Inputs are used only to compute the answer in the request. The API and MCP server do not store birth details or results and do not write them to logs; there is no database behind them. Birth-detail responses are marked private so shared caches do not keep them. Because parameters travel in the URL for GET requests, avoid sending real birth data from places that log URLs (proxies, analytics). The app_url deep link puts the details in the link so the person can open the app; the app removes them from the address bar on load. See the Privacy Policy.
Questions and feedback
Email support@navagraha.app for bugs, missing cities or partnership ideas.
Want the personal reading behind the numbers? Open your own chart, AI Pandit and Kundli matching, free.
Open Navagraha →Navagraha provides Vedic astrology for informational and reflective purposes only; it is not a substitute for professional advice.