Skip to main content
Glama

Vedic Astrology and Kundli MCP Server by RoxyAPI

Daily finance score from four KP sub lord layers - KP Daily Finance API

post_vedic_astrology_kp_daily_finance
Read-only

A Krishnamurti Paddhati daily finance reading for one native on one date. Four KP layers are each scored against the money houses and weighed into one number: the cusp sub lords of the gain and loss houses (structural promise), the four running Vimshottari lords at the reading moment (timing), the ruling planets of that moment (the pulse), and the sub lord windows the Moon passes through across the civil day (the hour hand), with the best and worst windows named. Weights cusps 30, dasha 40, rulingPlanets 15, moonWindows 15. Every input is the shipped KP arithmetic: Placidus cusps, the 249 sub lord table, the four tier significator rule, the Vimshottari chain to the sookshma level, all in the one ayanamsa you choose. Every row prints its planet, its standing against the two sets and its score, so the number can be audited rather than trusted. The house groups, the classification, the inversion on the loss cusps, the retrograde penalty, the level weights and the layer weights are a KP practitioner convention adopted as the published convention of this route: no classical KP text weighs these four layers against each other, and every table behind the number is printed so the result can be checked line by line rather than trusted. The score measures what the method outputs for the day, never the probability of a gain or a loss. Override the two house groups to run your own school. 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
dateNoCivil date to read, YYYY-MM-DD in the request timezone. Defaults to today (UTC). The Moon windows cover this date from midnight to midnight.
timeNoReading moment on that date, HH:MM:SS local. The ruling planets and the running sookshma lord are read at this instant. Defaults to 12:00:00; pass a market open or any hour for an intraday read.
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.
weightsNoLayer weights in percent, all four required, summing to 100. Defaults to the convention, cusps 30, dasha 40, rulingPlanets 15, moonWindows 15. Seventy percent of the default sits on the cusps and the outer dasha levels, which hold for months, so a chart reads inside a narrow band all month and the bands separate charts more than days. Move weight onto rulingPlanets and moonWindows for a reading that turns with the day.
ayanamsaNoAyanamsa system for sidereal conversion. "kp-newcomb" uses the KP-Newcomb dynamic formula, the most common choice for KP astrology. "kp-old" uses the Krishnamurti original table from KP Reader-1 with constant precession rate. "lahiri" uses Lahiri/Chitrapaksha ayanamsa, matching most traditional Vedic software. "raman" uses the B.V. Raman ayanamsa from Hindu Predictive Astrology, a recognised traditional school that sits about 1.45 degrees below Lahiri. Defaults to "kp-newcomb".kp-newcomb
latitudeYesBirth latitude in decimal degrees. Sets the Placidus cusps; also the place the ruling planets and the Moon windows are read at. 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 as an IANA name (Asia/Kolkata) or decimal hours from UTC. Applies to the birth time, to the reading date and time, and to every local timestamp in the response. An IANA name is resolved twice, each to the offset in force at its own moment: at the birth date and time for the natal chart, and on the date being read for the reading. A decimal is applied to both as sent.
birthDateYesBirth date, YYYY-MM-DD. Fixes the Placidus cusps, the four tier significators and the Vimshottari balance every layer reads.
birthTimeYesBirth time, HH:MM:SS, 24 hour, local to the birth place. The cusp sub lords move about one sub every four minutes of clock time, so this is the input the whole reading is most sensitive to.
longitudeYesBirth longitude in decimal degrees, east positive.
gainHousesNoHouses whose significators count as gain, 1 to 12. Defaults to the convention, 2 and 11. Override it to run your own school: the two lists may not share a house.
lossHousesNoHouses whose significators count as loss, 1 to 12. Defaults to the convention, 6 and 8 and 12. Override it to run your own school: the two lists may not share a house.

Output Schema

NameRequiredDescriptionDefault
bandYes
dateYes
scoreYes
housesYes
layersYes
ayanamsaNokp-newcomb
readingAtYes
bestWindowYes
worstWindowsYes
significatorsYes
ayanamsaDegreesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / latitude / description
      Previous value: -"Birth latitude in decimal degrees. Sets the Placidus cusps; also the place the ruling planets and the Moon windows are read at."New value: +"Birth latitude in decimal degrees. Sets the Placidus cusps; also the place the ruling planets and the Moon windows are read at. 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."
    • changedInput schema / properties / timezone / description
      Previous value: -"Timezone as an IANA name (Asia/Kolkata) or decimal hours from UTC. Applies to the birth time, to the reading date and time, and to every local timestamp in the response. IANA names resolve to the offset in force on the date being read."New value: +"Timezone as an IANA name (Asia/Kolkata) or decimal hours from UTC. Applies to the birth time, to the reading date and time, and to every local timestamp in the response. An IANA name is resolved twice, each to the offset in force at its own moment: at the birth date and time for the natal chart, and on the date being read for the reading. A decimal is applied to both as sent."
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "ayanamsa": {
      +      "default": "kp-newcomb",
      +      "enum": [
      +        "kp-newcomb",
      +        "kp-old",
      +        "lahiri",
      +        "raman"
      +      ],
      +      "type": "string"
      +    },
      +    "ayanamsaDegrees": {
      +      "type": "number"
      +    },
      +    "band": {
      +      "enum": [
      +        "strong",
      +        "favourable",
      +        "mixed",
      +        "caution",
      +        "unfavourable"
      +      ],
      +      "type": "string"
      +    },
      +    "bestWindow": {
      +      "properties": {
      +        "from": {
      +          "type": "string"
      +        },
      +        "inGain": {
      +          "type": "boolean"
      +        },
      +        "inLoss": {
      +          "type": "boolean"
      +        },
      +        "score": {
      +          "type": "number"
      +        },
      +        "subLord": {
      +          "type": "string"
      +        },
      +        "to": {
      +          "type": "string"
      +        },
      +        "verdict": {
      +          "enum": [
      +            "favourable",
      +            "mixed",
      +            "unfavourable",
      +            "neutral"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "inGain",
      +        "inLoss",
      +        "verdict",
      +        "from",
      +        "to",
      +        "subLord",
      +        "score"
      +      ],
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "date": {
      +      "type": "string"
      +    },
      +    "houses": {
      +      "properties": {
      +        "gain": {
      +          "items": {
      +            "type": "number"
      +          },
      +          "type": "array"
      +        },
      +        "loss": {
      +          "items": {
      +            "type": "number"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "gain",
      +        "loss"
      +      ],
      +      "type": "object"
      +    },
      +    "layers": {
      +      "properties": {
      +        "cusps": {
      +          "properties": {
      +            "layer": {
      +              "enum": [
      +                "cusps"
      +              ],
      +              "type": "string"
      +            },
      +            "rows": {
      +              "items": {
      +                "properties": {
      +                  "house": {
      +                    "type": "number"
      +                  },
      +                  "inGain": {
      +                    "type": "boolean"
      +                  },
      +                  "inLoss": {
      +                    "type": "boolean"
      +                  },
      +                  "inverted": {
      +                    "type": "boolean"
      +                  },
      +                  "longitude": {
      +                    "type": "number"
      +                  },
      +                  "score": {
      +                    "type": "number"
      +                  },
      +                  "signLord": {
      +                    "type": "string"
      +                  },
      +                  "starLord": {
      +                    "type": "string"
      +                  },
      +                  "subLord": {
      +                    "type": "string"
      +                  },
      +                  "verdict": {
      +                    "enum": [
      +                      "favourable",
      +                      "mixed",
      +                      "unfavourable",
      +                      "neutral"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "inGain",
      +                  "inLoss",
      +                  "verdict",
      +                  "house",
      +                  "longitude",
      +                  "signLord",
      +                  "starLord",
      +                  "subLord",
      +                  "inverted",
      +                  "score"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "score": {
      +              "type": "number"
      +            },
      +            "weight": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "layer",
      +            "weight",
      +            "score",
      +            "rows"
      +          ],
      +          "type": "object"
      +        },
      +        "dasha": {
      +          "properties": {
      +            "layer": {
      +              "enum": [
      +                "dasha"
      +              ],
      +              "type": "string"
      +            },
      +            "rows": {
      +              "items": {
      +                "properties": {
      +                  "endDate": {
      +                    "type": "string"
      +                  },
      +                  "inGain": {
      +                    "type": "boolean"
      +                  },
      +                  "inLoss": {
      +                    "type": "boolean"
      +                  },
      +                  "level": {
      +                    "enum": [
      +                      "mahadasha",
      +                      "antardasha",
      +                      "pratyantardasha",
      +                      "sookshmaDasha"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "lord": {
      +                    "type": "string"
      +                  },
      +                  "retrograde": {
      +                    "type": "boolean"
      +                  },
      +                  "score": {
      +                    "type": "number"
      +                  },
      +                  "startDate": {
      +                    "type": "string"
      +                  },
      +                  "verdict": {
      +                    "enum": [
      +                      "favourable",
      +                      "mixed",
      +                      "unfavourable",
      +                      "neutral"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "weight": {
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "inGain",
      +                  "inLoss",
      +                  "verdict",
      +                  "level",
      +                  "lord",
      +                  "startDate",
      +                  "endDate",
      +                  "retrograde",
      +                  "score",
      +                  "weight"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "score": {
      +              "type": "number"
      +            },
      +            "weight": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "layer",
      +            "weight",
      +            "score",
      +            "rows"
      +          ],
      +          "type": "object"
      +        },
      +        "moonWindows": {
      +          "properties": {
      +            "layer": {
      +              "enum": [
      +                "moonWindows"
      +              ],
      +              "type": "string"
      +            },
      +            "rows": {
      +              "items": {
      +                "properties": {
      +                  "from": {
      +                    "type": "string"
      +                  },
      +                  "inGain": {
      +                    "type": "boolean"
      +                  },
      +                  "inLoss": {
      +                    "type": "boolean"
      +                  },
      +                  "score": {
      +                    "type": "number"
      +                  },
      +                  "subLord": {
      +                    "type": "string"
      +                  },
      +                  "to": {
      +                    "type": "string"
      +                  },
      +                  "verdict": {
      +                    "enum": [
      +                      "favourable",
      +                      "mixed",
      +                      "unfavourable",
      +                      "neutral"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "inGain",
      +                  "inLoss",
      +                  "verdict",
      +                  "from",
      +                  "to",
      +                  "subLord",
      +                  "score"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "score": {
      +              "type": "number"
      +            },
      +            "weight": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "layer",
      +            "weight",
      +            "score",
      +            "rows"
      +          ],
      +          "type": "object"
      +        },
      +        "rulingPlanets": {
      +          "properties": {
      +            "layer": {
      +              "enum": [
      +                "rulingPlanets"
      +              ],
      +              "type": "string"
      +            },
      +            "rows": {
      +              "items": {
      +                "properties": {
      +                  "inGain": {
      +                    "type": "boolean"
      +                  },
      +                  "inLoss": {
      +                    "type": "boolean"
      +                  },
      +                  "planet": {
      +                    "type": "string"
      +                  },
      +                  "retrograde": {
      +                    "type": "boolean"
      +                  },
      +                  "score": {
      +                    "type": "number"
      +                  },
      +                  "verdict": {
      +                    "enum": [
      +                      "favourable",
      +                      "mixed",
      +                      "unfavourable",
      +                      "neutral"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "inGain",
      +                  "inLoss",
      +                  "verdict",
      +                  "planet",
      +                  "retrograde",
      +                  "score"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "score": {
      +              "type": "number"
      +            },
      +            "weight": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "layer",
      +            "weight",
      +            "score",
      +            "rows"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "cusps",
      +        "dasha",
      +        "rulingPlanets",
      +        "moonWindows"
      +      ],
      +      "type": "object"
      +    },
      +    "readingAt": {
      +      "type": "string"
      +    },
      +    "score": {
      +      "type": "number"
      +    },
      +    "significators": {
      +      "properties": {
      +        "byHouse": {
      +          "items": {
      +            "properties": {
      +              "group": {
      +                "enum": [
      +                  "gain",
      +                  "loss"
      +                ],
      +                "type": "string"
      +              },
      +              "house": {
      +                "type": "number"
      +              },
      +              "significators": {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "house",
      +              "group",
      +              "significators"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "gain": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "loss": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "gain",
      +        "loss",
      +        "byHouse"
      +      ],
      +      "type": "object"
      +    },
      +    "worstWindows": {
      +      "items": {
      +        "properties": {
      +          "from": {
      +            "type": "string"
      +          },
      +          "inGain": {
      +            "type": "boolean"
      +          },
      +          "inLoss": {
      +            "type": "boolean"
      +          },
      +          "score": {
      +            "type": "number"
      +          },
      +          "subLord": {
      +            "type": "string"
      +          },
      +          "to": {
      +            "type": "string"
      +          },
      +          "verdict": {
      +            "enum": [
      +              "favourable",
      +              "mixed",
      +              "unfavourable",
      +              "neutral"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "inGain",
      +          "inLoss",
      +          "verdict",
      +          "from",
      +          "to",
      +          "subLord",
      +          "score"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "date",
      +    "readingAt",
      +    "ayanamsaDegrees",
      +    "houses",
      +    "significators",
      +    "layers",
      +    "score",
      +    "band",
      +    "bestWindow",
      +    "worstWindows"
      +  ],
      +  "type": "object"
      +}
  3. Added

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare read-only and non-destructive, so the bar is lower, and the description still adds substantial context: the 400 failure mode at polar latitudes, the fact that the layer weights are a house convention with no classical KP source, and that the result is auditable line by line. The disclaimer that the score measures method output, not gain/loss probability, is exactly the kind of behavioral framing structured fields cannot carry.

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?

Front-loaded and well organized into layer, weight and audit claims, but the back half repeats itself: the 'no classical KP text weighs these layers / tables printed so it can be checked' point lands twice in near-identical wording, and the polar-latitude rule is duplicated from the latitude schema field.

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?

For a 13-parameter composite with nested weights, enums and an output schema, the description covers the method, the weighting defaults and override path, the ayanamsa/node conventions, and the one hard failure condition. An agent has enough to invoke it correctly without needing return-value detail the output schema already supplies.

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 coverage is 100%, so the 3 baseline is met by the schema alone; the description adds interpretive meaning on top by explaining that 70% of the default weight sits on layers that hold for months, so a chart reads inside a narrow band all month. That is real guidance beyond the per-field percentages in the schema.

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?

States a specific verb and resource: a KP daily finance reading for one native on one date, and enumerates the four layers (cusp sub lords, Vimshottari lords, ruling planets, Moon windows) that produce the single score. This clearly separates it from siblings like post_vedic_astrology_kp_ruling_planets or post_vedic_astrology_daily, which supply one input rather than the composite.

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?

Clear about the operating context — reading moment defaults to 12:00, pass a market open for an intraday read, move weight onto rulingPlanets/moonWindows for a day-turning reading, override house groups to run your own school. It also flags an exclusion: polar latitudes above 66.56 degrees return 400. It stops short of explicitly routing the agent away from sibling KP tools.

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