Skip to main content
Glama

Vedic Astrology and Kundli MCP Server by RoxyAPI

Cast a KP horary (Prashna) chart from a number 1-249 - KP Horary API

post_vedic_astrology_kp_horary
Read-only

Cast a Krishnamurti Paddhati horary chart, also called Prashna, from a number between 1 and 249 given by the querent plus the moment and place the question is judged. NO BIRTH DETAILS ARE NEEDED, which is what makes horary the KP answer when birth time is unknown or unreliable. The number maps to one of the 249 KP sub divisions and sets the Ascendant; the twelve Placidus cusps follow from that Ascendant at the given latitude, and every planetary position comes from the real sky at the moment of the question. Returns the Ascendant with its sub lord, all twelve cusps with star lord and sub lord, the nine grahas placed against those cusps, the five ruling planets for validating the chart, and four-level significators for judging which houses each graha supports. KP horary API, Prashna kundali calculator, 249 horary number chart, Krishnamurti Paddhati horary, cusp sub lord question answering.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateYesDate the question was taken up for judgment, YYYY-MM-DD. Not a birth date: a horary chart needs no birth details at all, which is the point of the method.
langNoResponse language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.en
timeYesTime the question was taken up for judgment, 24-hour HH:MM:SS. In KP practice this is the moment the astrologer receives and understands the question, not the moment the querent first thought of it. It sets every planetary position and all twelve cusps except the Ascendant.
focusNoWhich signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general".general
compactNoSet true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.
ayanamsaNoAyanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula (most common for KP). "kp-old" uses the Krishnamurti original table. "lahiri" uses Lahiri/Chitrapaksha ayanamsa matching most traditional Vedic software. "raman" uses the B.V. Raman ayanamsa, about 1.45 degrees below Lahiri. "custom" allows providing your own value via ayanamsaValue. Defaults to "kp-newcomb".kp-newcomb
latitudeYesLatitude where the question is judged, decimal degrees. The house cusps are Placidus and therefore latitude dependent, so this is the place of judgment, not the querent birthplace.
nodeTypeNoLunar node convention. "mean" is the smoothed average node, which always moves retrograde; "true" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to "mean".mean
timezoneNoTimezone: IANA name (e.g. "Asia/Kolkata") OR decimal hours from UTC. Defaults to 5.5.
longitudeYesLongitude where the question is judged, decimal degrees.
horaryNumberYesHorary number from 1 to 249, given by the querent while focused on their question. It maps to one of the 249 KP sub divisions of the zodiac, and that division sets the Ascendant of the chart. The querent should give the first number that comes to mind and use it once for that question; the astrologer never chooses it. Numbers outside 1 to 249 are rejected rather than wrapped, because a wrapped number would silently answer a different question.
ayanamsaValueNoCustom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cuspsYes
focusYes
planetsYes
ascendantYes
houseThemesYes
ayanamsaTypeYes
horaryNumberYes
questionTimeYes
rulingPlanetsYes
significatorsYes
ayanamsaDegreesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "ascendant": {
      +      "properties": {
      +        "degreeInSign": {
      +          "type": "number"
      +        },
      +        "kpNumber": {
      +          "type": "integer"
      +        },
      +        "longitude": {
      +          "type": "number"
      +        },
      +        "sign": {
      +          "type": "string"
      +        },
      +        "spanFrom": {
      +          "type": "number"
      +        },
      +        "spanTo": {
      +          "type": "number"
      +        },
      +        "star": {
      +          "type": "string"
      +        },
      +        "starLord": {
      +          "type": "string"
      +        },
      +        "subLord": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "longitude",
      +        "degreeInSign",
      +        "sign",
      +        "star",
      +        "starLord",
      +        "subLord",
      +        "kpNumber",
      +        "spanFrom",
      +        "spanTo"
      +      ],
      +      "type": "object"
      +    },
      +    "ayanamsaDegrees": {
      +      "type": "number"
      +    },
      +    "ayanamsaType": {
      +      "type": "string"
      +    },
      +    "cusps": {
      +      "items": {
      +        "properties": {
      +          "house": {
      +            "maximum": 12,
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          "kpNumber": {
      +            "type": "integer"
      +          },
      +          "longitude": {
      +            "type": "number"
      +          },
      +          "sign": {
      +            "type": "string"
      +          },
      +          "star": {
      +            "type": "string"
      +          },
      +          "starLord": {
      +            "type": "string"
      +          },
      +          "subLord": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "house",
      +          "longitude",
      +          "sign",
      +          "star",
      +          "starLord",
      +          "subLord",
      +          "kpNumber"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "focus": {
      +      "enum": [
      +        "general",
      +        "finance"
      +      ],
      +      "type": "string"
      +    },
      +    "horaryNumber": {
      +      "type": "integer"
      +    },
      +    "houseThemes": {
      +      "additionalProperties": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "type": "object"
      +    },
      +    "planets": {
      +      "items": {
      +        "properties": {
      +          "house": {
      +            "maximum": 12,
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          "isRetrograde": {
      +            "type": "boolean"
      +          },
      +          "kpNumber": {
      +            "type": "integer"
      +          },
      +          "longitude": {
      +            "type": "number"
      +          },
      +          "planet": {
      +            "type": "string"
      +          },
      +          "sign": {
      +            "type": "string"
      +          },
      +          "star": {
      +            "type": "string"
      +          },
      +          "starLord": {
      +            "type": "string"
      +          },
      +          "subLord": {
      +            "type": "string"
      +          },
      +          "subSubLord": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "planet",
      +          "longitude",
      +          "house",
      +          "isRetrograde",
      +          "subSubLord",
      +          "sign",
      +          "star",
      +          "starLord",
      +          "subLord",
      +          "kpNumber"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "questionTime": {
      +      "type": "string"
      +    },
      +    "rulingPlanets": {
      +      "properties": {
      +        "dayLord": {
      +          "type": "string"
      +        },
      +        "lagnaSignLord": {
      +          "type": "string"
      +        },
      +        "lagnaStarLord": {
      +          "type": "string"
      +        },
      +        "lagnaSubSublord": {
      +          "type": "string"
      +        },
      +        "lagnaSublord": {
      +          "type": "string"
      +        },
      +        "moonSignLord": {
      +          "type": "string"
      +        },
      +        "moonStarLord": {
      +          "type": "string"
      +        },
      +        "moonSubSublord": {
      +          "type": "string"
      +        },
      +        "moonSublord": {
      +          "type": "string"
      +        },
      +        "rulingPlanets": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "dayLord",
      +        "moonSignLord",
      +        "moonStarLord",
      +        "moonSublord",
      +        "moonSubSublord",
      +        "lagnaSignLord",
      +        "lagnaStarLord",
      +        "lagnaSublord",
      +        "lagnaSubSublord",
      +        "rulingPlanets"
      +      ],
      +      "type": "object"
      +    },
      +    "significators": {
      +      "properties": {
      +        "houseWise": {
      +          "items": {
      +            "properties": {
      +              "all": {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "house": {
      +                "type": "number"
      +              },
      +              "significators": {
      +                "items": {
      +                  "properties": {
      +                    "description": {
      +                      "type": "string"
      +                    },
      +                    "level": {
      +                      "type": "number"
      +                    },
      +                    "planets": {
      +                      "items": {
      +                        "type": "string"
      +                      },
      +                      "type": "array"
      +                    }
      +                  },
      +                  "required": [
      +                    "level",
      +                    "description",
      +                    "planets"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "house",
      +              "significators",
      +              "all"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "planetWise": {
      +          "items": {
      +            "properties": {
      +              "allHouses": {
      +                "items": {
      +                  "type": "number"
      +                },
      +                "type": "array"
      +              },
      +              "planet": {
      +                "type": "string"
      +              },
      +              "signifies": {
      +                "items": {
      +                  "properties": {
      +                    "houses": {
      +                      "items": {
      +                        "type": "number"
      +                      },
      +                      "type": "array"
      +                    },
      +                    "level": {
      +                      "type": "number"
      +                    }
      +                  },
      +                  "required": [
      +                    "level",
      +                    "houses"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "planet",
      +              "signifies",
      +              "allHouses"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "houseWise",
      +        "planetWise"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "horaryNumber",
      +    "questionTime",
      +    "ayanamsaType",
      +    "ayanamsaDegrees",
      +    "ascendant",
      +    "cusps",
      +    "planets",
      +    "rulingPlanets",
      +    "significators",
      +    "houseThemes",
      +    "focus"
      +  ],
      +  "type": "object"
      +}
  2. Changed2 schema fields changed
    • changedInput schema / properties / lang / description
      Previous value: -"Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English."New value: +"Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English."
    • changedInput schema / properties / lang / enum
      Previous value: -[
      -  "en",
      -  "tr",
      -  "de",
      -  "es",
      -  "hi",
      -  "pt",
      -  "fr",
      -  "ru"
      -]New value: +[
      +  "en",
      +  "tr",
      +  "de",
      +  "es",
      +  "hi",
      +  "pt",
      +  "fr",
      +  "ru",
      +  "zh-Hans",
      +  "zh-Hant"
      +]
  3. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "date": "2026-03-08",
      +    "horaryNumber": 108,
      +    "latitude": 19.076,
      +    "longitude": 72.8777,
      +    "time": "14:30:00"
      +  }
      +]
    • changedInput schema / properties / compact / description
      Previous value: -"Set true to receive the exact same data in a token-optimized shape that is cheaper for you to read: whitespace is stripped and every array of same-shaped objects is encoded columnar as {\"__cols\":[field names],\"__rows\":[[values]]}, so each field name is sent once instead of once per row. Fully lossless (no field or value is dropped or changed) and typically 40 to 52 percent fewer tokens on large results. Prefer true whenever token or inference cost matters. Default false returns standard indented JSON."New value: +"Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens."
  4. Changed1 schema field changed
    • changedInput schema / properties / nodeType / description
      Previous value: -"Lunar node type for Rahu and Ketu positions. \"mean\" uses the smooth mean node (traditional Vedic astrology default). \"true\" uses the osculating node with perturbation corrections, oscillating up to 1.5 degrees from mean with a 173-day period. Impacts KP sub-lord assignments in narrow boundary cases. Defaults to \"mean\"."New value: +"Lunar node convention. \"mean\" is the smoothed average node, which always moves retrograde; \"true\" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the Rahu and Ketu positions. Mean is the traditional Vedic default and what printed panchangs use; the choice can move a KP sub-lord in narrow boundary cases, where a span can be as small as 0.5 degrees. Defaults to \"mean\"."
  5. Added

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations already declaring readOnlyHint=true and destructiveHint=false, the description adds substantial behavior context: it explains that out-of-range numbers are rejected rather than wrapped, that nodeType can shift a sub-lord in boundary cases, and that time is the moment the astrologer receives the question. These details go well beyond the safety profile and help the agent understand edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and method, but the final sentence is a list of SEO keywords ("KP horary API, Prashna kundali calculator...") that adds no agent-relevant information. While most sentences earn their place, that trailing block is bloat and makes the description longer than needed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 12-parameter tool with an output schema, the description covers the essential context: what the chart is, how the number sets the Ascendant, what the returns include (cusps, planets, ruling planets, significators), and the key parameter semantics. The output schema covers return details, so nothing critical is missing; minor gaps like the finance focus are handled in parameter descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining the semantic role of key parameters: horaryNumber maps to the Ascendant, time is the judgment moment, and latitude/longitude define the place of judgment. This amplifies the schema's already-detailed parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: "Cast a Krishnamurti Paddhati horary chart, also called Prashna, from a number between 1 and 249." It clearly differentiates from birth-chart tools by stating "NO BIRTH DETAILS ARE NEEDED" and ties the method to the exact scenario of unknown or unreliable birth time. This makes the tool's identity unambiguous even without naming sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides an explicit when-to-use condition: "what makes horary the KP answer when birth time is unknown or unreliable." It also explains the horary number protocol (querent provides first number, astrologer never chooses). However, it does not name a specific alternative tool to use instead, which would make the guidance fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources