Jyotish — Vedic astrology for AI agents

Vedic astrology for AI agents: chart facts, panchang windows, and Guna Milan compatibility.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
97%
Naming quality
90%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,109Tokens (tool definitions)
~1.9 KBTypical response size
Moderate attention impact (0.87% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "ai-jyotish-bot": {
      "url": "https://jyotish-mcp-production.up.railway.app/mcp"
    }
  }
}

Remote endpoints

https://jyotish-mcp-production.up.railway.app/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡get_chart_facts(dob, tob, lat, lng, tz)

Deterministic Vedic chart facts for birth data: lagna, Moon sign/nakshatra, current dasha, planets in houses, house lords, dignities, combustions, D9/D10 ascendants, Sade Sati standing, yogas with classical-text citations, dasha timeline. Pure computation, no LLM. Same output as POST /api/b2b/chart-facts.

Input Schema

{
  "type": "object",
  "properties": {
    "dob": {
      "type": "string",
      "description": "Birth date, YYYY-MM-DD."
    },
    "tob": {
      "type": "string",
      "description": "Birth time, HH:MM (24h)."
    },
    "lat": {
      "type": "number",
      "description": "Birth latitude, -90 to 90."
    },
    "lng": {
      "type": "number",
      "description": "Birth longitude, -180 to 180."
    },
    "tz": {
      "type": [
        "number",
        "string"
      ],
      "description": "UTC offset (e.g. 5.5) or IANA zone name (e.g. Asia/Kolkata)."
    }
  },
  "required": [
    "dob",
    "tob",
    "lat",
    "lng",
    "tz"
  ]
}
🟢ask_jyotish(question, birth_data, lang)

Grounded synthesis answer to a question, computed from the birth chart through the same accuracy-gated path as the retail chat endpoint (chart-anchor check and rewrite retry inside run_reading). The response envelope carries citation_status and accuracy-gate notes. lang: en or hi (default en).

Input Schema

{
  "type": "object",
  "properties": {
    "question": {
      "type": "string",
      "description": "The question to answer from the chart."
    },
    "birth_data": {
      "type": "object",
      "properties": {
        "dob": {
          "type": "string",
          "description": "Birth date, YYYY-MM-DD."
        },
        "tob": {
          "type": "string",
          "description": "Birth time, HH:MM (24h)."
        },
        "lat": {
          "type": "number",
          "description": "Birth latitude, -90 to 90."
        },
        "lng": {
          "type": "number",
          "description": "Birth longitude, -180 to 180."
        },
        "tz": {
          "type": [
            "number",
            "string"
          ],
          "description": "UTC offset (e.g. 5.5) or IANA zone name (e.g. Asia/Kolkata)."
        }
      },
      "required": [
        "dob",
        "tob",
        "lat",
        "lng",
        "tz"
      ]
    },
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "hi"
      ]
    }
  },
  "required": [
    "question",
    "birth_data"
  ]
}
🟢guna_milan(person_a, person_b)

Vedic compatibility (Guna Milan / Ashtakoota) between two people, 36 points across eight kootas: varna, vashya, tara, yoni, graha_maitri, gana, bhakoot, nadi. Moon nakshatra and rashi for each native are computed from their birth data through the same chart engine as get_chart_facts — do not pass nakshatra/rashi yourself. Deterministic, no LLM. Each koota carries its score, its maximum, and a plain-language reason, so the result is auditable rather than a bare number.

Input Schema

{
  "type": "object",
  "properties": {
    "person_a": {
      "type": "object",
      "description": "First native's birth data.",
      "properties": {
        "dob": {
          "type": "string",
          "description": "Birth date, YYYY-MM-DD."
        },
        "tob": {
          "type": "string",
          "description": "Birth time, HH:MM (24h)."
        },
        "lat": {
          "type": "number",
          "description": "Birth latitude, -90 to 90."
        },
        "lng": {
          "type": "number",
          "description": "Birth longitude, -180 to 180."
        },
        "tz": {
          "type": [
            "number",
            "string"
          ],
          "description": "UTC offset (e.g. 5.5) or IANA zone name (e.g. Asia/Kolkata)."
        }
      },
      "required": [
        "dob",
        "tob",
        "lat",
        "lng",
        "tz"
      ]
    },
    "person_b": {
      "type": "object",
      "description": "Second native's birth data.",
      "properties": {
        "dob": {
          "type": "string",
          "description": "Birth date, YYYY-MM-DD."
        },
        "tob": {
          "type": "string",
          "description": "Birth time, HH:MM (24h)."
        },
        "lat": {
          "type": "number",
          "description": "Birth latitude, -90 to 90."
        },
        "lng": {
          "type": "number",
          "description": "Birth longitude, -180 to 180."
        },
        "tz": {
          "type": [
            "number",
            "string"
          ],
          "description": "UTC offset (e.g. 5.5) or IANA zone name (e.g. Asia/Kolkata)."
        }
      },
      "required": [
        "dob",
        "tob",
        "lat",
        "lng",
        "tz"
      ]
    }
  },
  "required": [
    "person_a",
    "person_b"
  ]
}
🟢get_panchang(lat, lng, tz, date)

Panchang for a location (and optional date, default: today at that location): tithi, paksha, nakshatra, yoga, karana, vara and its lord, sunrise/sunset. Deterministic, no LLM. Same compute path as GET /api/panchang.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "type": "number",
      "description": "Birth latitude, -90 to 90."
    },
    "lng": {
      "type": "number",
      "description": "Birth longitude, -180 to 180."
    },
    "tz": {
      "type": [
        "number",
        "string"
      ],
      "description": "UTC offset (e.g. 5.5) or IANA zone name (e.g. Asia/Kolkata)."
    },
    "date": {
      "type": "string",
      "description": "YYYY-MM-DD (default: local today at the location)."
    }
  },
  "required": [
    "lat",
    "lng",
    "tz"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools