Skip to main content
Glama

compute_shadbala

Read-only

Calculate six-fold Shadbala planetary strengths from longitude, house, speed, and aspects, including Sthana sub-components and Ishta/Kashta phala.

Instructions

Compute six-fold Shadbala (Sthana, Dig, Kala, Cheshta, Naisargika, Drik Bala) per planet, with the Sthana sub-components (uccha, ojhayugma, kendradi, drekkana) and ishta/kashta phala, per BPHS Ch.27-28. Sthana Bala omits Saptavargaja Bala and Kala Bala covers Nathonnatha and Paksha only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
planetsYesArray of planet data objects.
is_daytimeNoTrue if the birth moment falls between sunrise and sunset. Feeds Nathonnatha Bala within Kala Bala.
moon_phase_waxingNoTrue during shukla paksha (waxing Moon). Feeds Paksha Bala within Kala Bala.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
planetsYesOne entry per graha supplied, in input order.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changedv8.0.0
    • addedInput schema / properties / is_daytime / description
      Added value: +"True if the birth moment falls between sunrise and sunset. Feeds Nathonnatha Bala within Kala Bala."
    • addedInput schema / properties / moon_phase_waxing / description
      Added value: +"True during shukla paksha (waxing Moon). Feeds Paksha Bala within Kala Bala."
    • addedInput schema / properties / planets / items / properties / average_speed / description
      Added value: +"Mean daily motion in degrees per day, compared against speed for Cheshta Bala."
    • addedInput schema / properties / planets / items / properties / benefic_aspect_count / description
      Added value: +"Number of benefic aspects received. Drives Drik Bala."
    • addedInput schema / properties / planets / items / properties / bhava / description
      Added value: +"House occupied, 1-12. Drives Dig Bala and Kendradi Bala."
    • addedInput schema / properties / planets / items / properties / longitude / description
      Added value: +"Sidereal longitude in degrees [0, 360). Drives Uchcha, Ojhayugma and Drekkana Bala."
    • addedInput schema / properties / planets / items / properties / malefic_aspect_count / description
      Added value: +"Number of malefic aspects received, subtracted in Drik Bala."
    • addedInput schema / properties / planets / items / properties / sign / description
      Added value: +"Sidereal sign index, which must agree with longitude (floor(longitude / 30))."
    • addedInput schema / properties / planets / items / properties / speed / description
      Added value: +"Current apparent speed in degrees per day, negative when retrograde. Drives Cheshta Bala."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "planets": {
      +      "description": "One entry per graha supplied, in input order.",
      +      "items": {
      +        "properties": {
      +          "cheshta_bala": {
      +            "description": "Motional strength, from speed against average speed.",
      +            "type": "number"
      +          },
      +          "dig_bala": {
      +            "description": "Directional strength.",
      +            "type": "number"
      +          },
      +          "drekkana_bala": {
      +            "description": "Decanate strength, 0 or 15.",
      +            "type": "number"
      +          },
      +          "drik_bala": {
      +            "description": "Aspectual strength, benefic aspects minus malefic.",
      +            "type": "number"
      +          },
      +          "ishta_phala": {
      +            "description": "Benefic potential, 0-60.",
      +            "type": "number"
      +          },
      +          "kala_bala": {
      +            "description": "Temporal strength. Nathonnatha and Paksha only; see the tool description.",
      +            "type": "number"
      +          },
      +          "kashta_phala": {
      +            "description": "Malefic potential, 0-60.",
      +            "type": "number"
      +          },
      +          "kendradi_bala": {
      +            "description": "Angularity strength, 15-60.",
      +            "type": "number"
      +          },
      +          "naisargika_bala": {
      +            "description": "Natural strength, fixed per graha.",
      +            "type": "number"
      +          },
      +          "ojhayugma_bala": {
      +            "description": "Odd/even sign strength, 0-30.",
      +            "type": "number"
      +          },
      +          "planet": {
      +            "description": "Graha assessed.",
      +            "type": "string"
      +          },
      +          "sthana_bala": {
      +            "description": "Positional strength: the sum of the four sub-components below.",
      +            "type": "number"
      +          },
      +          "total": {
      +            "description": "Sum of the six balas, in virupas.",
      +            "type": "number"
      +          },
      +          "uccha_bala": {
      +            "description": "Exaltation strength, 0-60.",
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "planet",
      +          "sthana_bala",
      +          "dig_bala",
      +          "kala_bala",
      +          "cheshta_bala",
      +          "naisargika_bala",
      +          "drik_bala",
      +          "total"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "planets"
      +  ],
      +  "type": "object"
      +}
  2. First observedv7.0.0

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses important behavioral details: which sub-components are included, which are deliberately omitted, and the limited scope of Kala Bala. This prevents the agent from assuming a full traditional Shadbala calculation and adds real decision-relevant information.

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

Conciseness5/5

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

Two dense, front-loaded sentences convey the full scope, inclusions, and exclusions without redundancies. Every clause earns its place, and the most important identifier ('six-fold Shadbala') appears first.

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?

Given the rich input schema, readOnly annotation, and presence of an output schema, the description is complete enough for an agent to invoke the tool correctly. It explicitly calls out the calculation source and the specific omissions that would otherwise be surprises.

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?

The input schema already provides 100% coverage with per-parameter descriptions explaining which Bala each field drives. The description adds domain-level context about components, but it does not add meaningful new parameter semantics beyond what the schema documents, so baseline 3 is appropriate.

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 uses a specific verb ('Compute') and resource ('six-fold Shadbala'), enumerates all six components, and identifies the source (BPHS Ch.27-28). This clearly distinguishes it from siblings like compute_drishti or compute_ashtakavarga by naming a distinct astrological computation.

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 gives clear context about what the computation covers and its explicit limitations, such as Sthana Bala omitting Saptavargaja and Kala Bala covering Nathonnatha and Paksha only. It does not explicitly name alternative sibling tools or state when not to use this tool, but the scope is clear enough for an agent to route a Shadbala request here.

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