Skip to content

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.

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.

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 _metering with requestId, creditsCharged and creditsRemaining.

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.

  • The current dasha. get_dasha_periods sends asOf as 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-Version header from your MCP client to pin the API version the tools use; otherwise your key’s pinned version applies.