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. The latitude must lie below 66.56 degrees north or south, inside the polar circles: KP cusps are Placidus, which has no solution beyond them, so a polar latitude returns 400.

Input 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. The latitude must lie below 66.56 degrees north or south, inside the polar circles: KP cusps are Placidus, which has no solution beyond them, so a polar latitude returns 400.
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

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
    • changedInput schema / properties / latitude / description
      Previous value: -"Latitude 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."New value: +"Latitude 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. The latitude must lie below 66.56 degrees north or south, inside the polar circles: KP cusps are Placidus, which has no solution beyond them, so a polar latitude returns 400."
  2. 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"
      +}
  3. 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"
      +]
  4. 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."
  5. 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\"."
  6. Added

TDQS

A4.3/5.0
Behavior5/5

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

With readOnlyHint already covering safety, the description adds substantial behavioral context: the horary number sets the Ascendant, cusps are Placidus and latitude-dependent, out-of-range numbers are rejected rather than wrapped, and latitudes beyond 66.56 degrees return 400. This is meaningful disclosure beyond the annotations.

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 key concept and constraints, which is good. However, it is lengthy and ends with a keyword-stuffing sentence ('KP horary API, Prashna kundali calculator, 249 horary number chart...') that does not help an agent invoke the tool correctly.

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

Completeness5/5

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

Despite the tool's complexity and twelve parameters, the description covers purpose, required inputs, output contents, and the polar-latitude failure mode. Since an output schema exists, it need not explain return values further, but it still summarizes them, making the definition complete for correct invocation.

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

Parameters3/5

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

Schema coverage is 100%, so the detailed schema already explains horaryNumber, latitude, date, time, and other parameters. The description reinforces a few semantic points such as the number coming from the querent and the latitude constraint, but it largely repeats what the schema provides rather than adding new parameter guidance.

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 states a specific verb and resource: casting a Krishnamurti Paddhati horary (Prashna) chart from a number 1-249. It explicitly distinguishes itself from natal-chart siblings by stating that no birth details are needed, so an agent can tell it apart from tools like post_vedic_astrology_kp_chart without opening the schema.

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?

It gives clear usage context: use horary when birth time is unknown or unreliable, and the querent supplies the number. It does not explicitly name an alternative sibling or state when not to use this tool, so it falls short of a full when/when-not/alternatives statement.

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