MCP for AI agents
Navapatra runs a remote Model Context Protocol server, so an AI agent can compute charts and calendars with correct, structured data instead of guessing. It speaks Streamable HTTP at the path /mcp and authenticates with your API key.
Connect
Section titled “Connect”Add the server to any MCP client that supports remote HTTP servers, sending your key as a bearer token:
{ "url": "<MCP server URL>/mcp", "headers": { "Authorization": "Bearer sk_live_..." }}The production server address is published in the changelog when it goes live. A GET on the server root returns its name, endpoint, transport and auth scheme, so you can check a connection by hand. A missing or malformed Authorization header gets an HTTP 401 with a JSON-RPC error asking for the key.
Use a sk_test_ key while you build an agent: results are identical and nothing is charged. The public demo key works too, for the sample subjects only. In this repository, pnpm --filter @navapatra/mcp dev serves a local server at http://localhost:8789/mcp against a local API.
| Tool | What it does | REST call | Credits |
|---|---|---|---|
generate_kundali |
Birth chart: lagna, grahas with sign, house, degree, nakshatra and pada, Moon sign and syllable, Vimshottari dasha; optional vargas, Yogini and Tribhagi dashas, birth panchang and SVG | POST /v1/kundali |
1 |
get_dasha_periods |
Dasha timeline and the periods running on a date | POST /v1/dasha |
1 |
match_kundali |
Ashtakoota guna milan for two births | POST /v1/matching/ashtakoota |
1 |
get_panchang |
Daily panchang and choghadiya for a place | GET /v1/panchang/day (plus a free place search when given a name) |
1 |
convert_date |
BS to AD or AD to BS, optionally with Nepal Sambat | GET /v1/calendar/convert |
1 |
search_places |
Find a place’s coordinates and time zone | GET /v1/places/search |
0 |
Every tool call is billed exactly like its REST equivalent, from the same organization balance, under the same rate limits. Tool inputs mirror the REST fields (birth date, local time, calendar, place as a name or coordinates, ayanamsha, language), with descriptions written for models. Dates run from AD 1900 to 2100 (BS 1957 to 2157). The tools offer the lahiri, lahiri_icrc and true_chitra ayanamshas; for raman or kp, call the REST API.
What the agent gets back
Section titled “What the agent gets back”Each result has two parts:
- A short text summary for the model to read, such as the lagna, the grahas and the running dasha, ending with the credits charged and the request id.
structuredContent: the full API JSON, plus_meteringwithrequestId,creditsChargedandcreditsRemaining.
API errors come back as tool errors (isError: true) with a next step the model can act on. For example, an ambiguous_place error lists the candidate places and tells the model to ask the user which one (get_panchang does this too for a place name that fits several places, rather than taking the first search result); ambiguous_local_time tells it to ask, then retry with disambiguation.
Behaviour to know
Section titled “Behaviour to know”- The current dasha.
get_dasha_periodssendsasOfas the current time when the agent does not give one, so “which dasha am I in” works out of the box. The REST API itself never reads the clock; see Dashas. - Places. Agents are told to prefer coordinates and to ask the user rather than guess when a place or time is ambiguous.
- Statelessness. One server instance handles each request and nothing is stored. Your key is used only for the API calls of that request.
- Version. Send the
Navapatra-Versionheader from your MCP client to pin the API version the tools use; otherwise your key’s pinned version applies.