Skip to main content
Glama

Vedic Astrology and Kundli MCP Server by RoxyAPI

Server Details

Vedic kundli, panchang, dashas, nakshatras and KP charts for AI agents, one API key.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

55 tools
get_vedic_astrology_avasthasList all 17 avastha states - Planetary State ReferenceA
Read-only
Inspect

Reference list of every avastha (planetary state) across the three classical systems: the five Baladi age states, the three Jagradadi waking states, and the nine Deeptadi dispositional states. Each carries a short label and what the state means for the results the graha can deliver. Use it to turn the bare state names a birth chart returns into readable output, filtered by system if you only need one. Avastha meaning API, Baladi avastha, Jagradadi, Deeptadi, planetary state Vedic astrology.

ParametersJSON Schema
NameRequiredDescriptionDefault
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
systemNoReturn only the states of one system: "baladi" (5), "jagradadi" (3) or "deeptadi" (9). Omit for all 17.
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.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare the tool read-only and non-destructive. The description adds useful behavioral context by specifying the return content (short label plus what each state means for the graha's results) and the three system groups, which helps the agent format the expected output even without an output schema.

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 key purpose and usage guidance are front-loaded and clear. However, the final sentence, 'Avastha meaning API, Baladi avastha, Jagradadi, Deeptadi, planetary state Vedic astrology,' reads like keyword stuffing and adds no value for an agent selecting or invoking the tool.

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?

Given that this is an optional-parameter, read-only reference list with full schema coverage and no output schema, the description adequately covers the three groups of states, the intended comp, and the optional system filter. It stops short of describing output structure or error behavior, but those are not critical for this simple tool.

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 description coverage is 100% for lang, system, and compact, so the schema already fully documents the parameters. The description only echoes the system filtering option and adds no new parameter-level insight beyond what the schema provides.

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 title and first sentence both clearly state the action and scope: 'List all 17 avastha states' and 'Reference list of every avastha.' The description also names each classical system, so the tool's purpose is explicit and distinct from sibling reference endpoints like 'get_vedic_astrology_avasthas_id'.

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 explicit guidance on when to use the tool: 'Use it to turn the bare state names a birth chart returns into readable output, filtered by system if you only need one.' However, it does not explicitly state when not to use it or mention the _id sibling as an alternative for getting a single avastha.

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

get_vedic_astrology_avasthas_idGet avastha by ID - Planetary State DetailA
Read-only
Inspect

Look up a single avastha state by its slug, which is the lowercased state name a Vedic birth chart returns in awastha, jagradadi or deeptadi. Returns the system it belongs to, a short label, and what the state means for the results the graha delivers.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAvastha slug. Baladi: bala, kumara, yuva, vriddha, mrita. Jagradadi: jagrat, swapna, sushupti. Deeptadi: dipta, svastha, pramudita, shanta, dina, duhkhita, vikala, khala, kopa.
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
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.

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by naming the response contents "system, short label, and what the state means for results," but it does not disclose behaviors like not-found handling or response shape. This is a moderate contribution beyond the annotations, not a rich one.

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?

The description is two sentences with zero filler. It front-loads the verb and resource, then gives the slug provenance and the return contents. Every clause earns its place.

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 simple read-only lookup with only one required parameter and full schema documentation, the description is nearly complete: it explains the input semantics and summarizes the return. No output schema exists, so the return summary is helpful, though it does not give exact field names or error behavior. Those are minor gaps for a tool of this simplicity.

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 schema already documents id, lang, and compact. The description adds value by explaining that id is the lowercased state name returned in specific chart fields, strengthening the meaning of the primary parameter beyond the enum list. It does not add new semantics for lang or compact, but those are already well documented 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?

The description opens with a specific verb and resource: "Look up a single avastha state by its slug," immediately distinguishing this from the plural sibling get_vedic_astrology_avasthas. It further clarifies the resource by explaining where the slug comes from (Vedic birth chart fields) and what the response contains. There is no ambiguity about what this tool operates on.

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 phrase "single avastha state" and the emphasis on looking up by slug give clear context for when this tool is appropriate: when you already have a specific slug from a birth chart. It does not explicitly name the plural endpoint as the alternative or state when not to use this tool, so it stops short of a full when/when-not explanation.

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

get_vedic_astrology_kp_ayanamsaGet KP-Newcomb ayanamsa - Dynamic daily calculationA
Read-only
Inspect

Get the KP-Newcomb (Krishnamurti) ayanamsa for any instant, computed continuously from Newcomb precession theory rather than looked up in a preset table, so it tracks the exact moment you ask for instead of the calendar year. Supply date alone for midnight UTC, or add time and timezone to pin a birth moment exactly. This is the precession offset subtracted from a tropical longitude to obtain the sidereal one, and it is what makes a KP chart reproduce the reference software your practitioners already use. Returns the same value every KP endpoint applies internally. Use it as a dynamic KP Newcomb ayanamsa calculator when you need the Krishnamurti ayanamsa for today, for a birth moment, or for any instant a chart is being rectified against.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate for ayanamsa calculation in YYYY-MM-DD format. Defaults to today if not provided. Ayanamsa changes by ~0.01 degrees per month due to the precession of Earth.
timeNoTime of day in 24-hour HH:MM:SS format, interpreted in the timezone below. Omit for midnight UTC. The ayanamsa moves about 0.14 arcseconds across a day, so supplying the time matters only when reconciling a chart against reference software to the arcsecond.
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.
timezoneNoIANA name (e.g. "Asia/Kolkata", "America/New_York"), decimal hours (e.g. 5.5 for IST, -5 for EST), or a fixed UTC offset (e.g. "+05:30"). IANA resolved to the DST-correct offset for the given date. Applies to the time field above. Defaults to 0 (UTC).

TDQS

A4.4/5.0
Behavior4/5

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

The description adds behavior beyond the readOnlyHint/destructiveHint annotations: it is a dynamic continuous calculation rather than an annual lookup, tracks the exact requested instant, and returns the identical value used by all KP endpoints. No contradiction with annotations appears.

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?

Every sentence earns its place: core definition, computation method, parameter guidance, astronomical meaning, endpoint consistency, and concrete use cases. It is longer than a minimal description but dense and front-loaded, with no filler.

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 an all-optional, read-only calculator, the description covers selection, computation behavior, parameter semantics, and relationship to other KP endpoints. The only notable omission is the exact return shape/units, but 'precession offset' and the consistency statement make the output behavior predictable enough for invocation.

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 baseline is 3, but the description adds meaningful usage semantics: date alone means midnight UTC, time matters only to arcsecond-level reconciliation, and timezone supports DST-correct IANA resolution. This enriches the schema's parameter documentation rather than repeating it.

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?

Identifies a specific resource (KP-Newcomb/Krishnamurti ayanamsa), a precise computation method (continuous Newcomb precession theory vs. table lookup), and its role as the tropical-to-sidereal offset. This clearly differentiates it from sibling KP endpoints like kp_chart or kp_planets, which consume this value internally rather than expose it.

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?

Explicitly states when to use it: for today, for a birth moment, or when rectifying a chart, and explains the date-only vs. date+time+timezone distinction. It does not name alternatives to avoid, but the description's emphasis on 'same value every KP endpoint applies internally' gives enough routing context relative to the sibling list.

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

get_vedic_astrology_nakshatrasList all 27 Nakshatras - Lunar Mansions ReferenceA
Read-only
Inspect

Get the complete list of 27 nakshatras (lunar mansions) in Vedic astrology. Returns names, zodiac ranges, ruling planets, presiding deities, symbols, personality characteristics, and traditional remedies (mantras, gemstones, rituals) for each nakshatra from Ashwini to Revati. Essential for nakshatra lookup tables, dasha period calculations, muhurta selection, and astrology app reference data.

ParametersJSON Schema
NameRequiredDescriptionDefault
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
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.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds useful behavioral context like 'complete list' and 'from Ashwini to Revati', but it does not describe response shape, pagination, or any other runtime behavior. This is adequate given 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.

Conciseness5/5

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

Three sentences with no wasted words. The opening sentence front-loads the main 'list all 27' intent, the second sentence enumerates the return fields, and the third sentence gives practical usage context.

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?

The description is rich enough for a list operation with no output schema: it covers the 27-item scope, the exact fields returned, and practical use cases. A minor omission is lack of explicit routing to the ID-based sibling, but the singular/plural distinction and 'complete list' wording make it inferable.

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 description coverage is 100%, and the enum, defaults, and behavior offall lang and compact parameters are fully documented in the schema. The description adds no parameter details, but that is fine because the schema already carries the burden.

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: 'Get the complete list of 27 nakshatras (lunar mansions) in Vedic astrology.' It clearly distinguishes this list/sibling from get_vedic_astrology_nakshatras_id by emphasizing completeness ('all 27', 'from Ashwini to Revati').

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 concrete use cases: 'nakshatra lookup tables, dasha period calculations, muhurta selection, and astrology app reference data.' It does not explicitly mention when not to use it or point to the ID variant, but the use context is clear.

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

get_vedic_astrology_nakshatras_idGet Nakshatra by ID - Lunar Mansion DetailA
Read-only
Inspect

Get detailed information for a single nakshatra (lunar mansion) by its ID slug, one of the 27 nakshatras of Vedic astrology. Returns name, zodiac range, ruling planet, presiding deity, symbol, personality characteristics, and traditional remedies including mantras, gemstones, and rituals.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNakshatra ID slug. Examples: ashwini, bharani, krittika, rohini, mrigashira, ardra, punarvasu, pushya, ashlesha, magha, etc.
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
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.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds a useful response contract by naming the returned content (zodiac range, ruling planet, deity, remedies), which matters because no output schema exists. It does not discuss errors or fallback behavior, but for a read-only lookup this is not a serious gap.

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

Conciseness4/5

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

The operation is front-loaded in a single focused sentence before the return-value list. It is slightly dense but contains no filler and every phrase contributes to the caller's understanding.

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?

The field list compensates for the missing output schema, and the schema fully documents all three parameters. The only real omission is explicit routing guidance relative to the sibling list endpoint, but the singular 'single ... by ID' wording makes the intended use reasonably clear.

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 description coverage is 100%; enums, defaults, examples, and per-parameter descriptions are already in the schema. The description only adds that id is a slug, which is helpful but marginal given the enum values already listed.

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?

Clearly identifies a discrete operation: retrieve a single nakshatra by its ID slug. The phrase 'single' and 'by its ID slug' distinguish it from the sibling list endpoint get_vedic_astrology_nakshatras, and the enumerated return fields anchor what 'detailed information' means.

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

Usage Guidelines3/5

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

The description implies the right use case: call this when you have an ID slug and want one nakshatra's full detail. It does not explicitly contrast with the plural list endpoint or state when to prefer an alternative, so the usage guidance is left mostly to inference.

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

get_vedic_astrology_rashisList all 12 Rashis - Vedic Zodiac Signs ReferenceA
Read-only
Inspect

Get the complete list of 12 rashis (zodiac signs) in Vedic astrology. Returns Sanskrit names, Western equivalents, sidereal date ranges, symbols, governing Adityas, and personality characteristics for each rashi. Reference data for Mesha through Meen. Essential for zodiac sign lookup tables, astrology apps, and rashi-based UI components.

ParametersJSON Schema
NameRequiredDescriptionDefault
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
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.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish that the tool is read-only and non-destructive, so the description need not relitigate safety. It adds behavioral value by disclosing the full response field spectrum (Sanskrit names, Western equivalents, dates, symbols, Adityas, personality traits) and framing the output as complete and deterministic. This is meaningful context beyond the static read-only flag, especially given there is no output schema.

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

Conciseness4/5

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

The description is appropriately concise and front-loaded: the first sentence states exactly what the tool returns, and the second sentence immediately spells out use-case implications. There is slight overlap with the title (both mention listing all 12 Rashis), but the description earns its place by adding downstream usage guidance. It is shorter and more navigable than average.

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 simple read-only reference list with zero required parameters and a fully described schema, the description is largely complete. It tells the agent what data will be present and what the data is useful for, even without an output schema. The one notable gap is that it does not explicitly highlight the sibling get_vedic_astrology_rashis_id for the single-rashi case, but the naming convention and reference framing make the distinction transparent enough.

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 fully documents the two parameters, with default values, examples, and complete descriptions; schema coverage is 100%, so the description does not need to re-explain them. The description does not add any extra color about lang behavior or compact encoding—everything parameter-wise lives in the schema already, so the description carries no added value here.

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 clearly identifies the action ('Get the complete list of 12 rashis') and enumerates the resource ('list of 12 rashis'), with specific returned content (Sanskrit names, Western equivalents, sidereal date ranges, symbols, governing Adityas, personality characteristics). It immediately stands apart from the sibling get_vedic_astrology_rashis_id because it explicitly is the all-rashis reference, not a single-entry lookup.

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 contextualizes when the tool is valuable: 'essential for zodiac sign lookup tables, astrology apps, and rashi-based UI components.' This emphasizes that it is a static reference list rather than a calculation, rather than anything about per-rashi lookup. It stops short of explicitly naming the sibling-by-ID tool as the alternative for single-rashi requests, so it is omitted a clear exclusion, but the context is otherwise clear.

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

get_vedic_astrology_rashis_idGet Rashi by ID - Vedic Zodiac Sign DetailA
Read-only
Inspect

Get detailed information for a single rashi (zodiac sign) by its Vedic ID slug. Returns Sanskrit name, Western equivalent, sidereal date range, symbol, governing Aditya, and personality characteristics.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesRashi ID slug. One of: mesha, vrishabha, mithun, karka, simha, kanya, tula, vrischika, dhanu, makar, kumbha, meen.
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
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.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds useful behavioral detail by specifying the exact return content: Sanskrit name, Western equivalent, sidereal date range, symbol, governing Aditya, and personality characteristics. It does not cover every edge case, but for a single-record read the behavior is transparent enough.

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?

The description is one tight sentence that front-loads the core purpose and then enumerates the useful return fields. There is no filler, repetition of the tool title, or unrelated background.

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 single-item read-only lookup, the description, combined with the fully documented schema and read-only annotations, gives an agent everything needed to select and invoke it correctly: the exact ID values are in the schema, all optional parameters are described, and the return field list makes the output predictable without an output schema.

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 description coverage is 100%, so the parameters are already fully documented. The description adds only minor context such as 'Vedic ID slug' and 'Sanskrit name', but it does not meaningfully expand on the lang fallback or compact shape beyond what the schema already explains. The schema-heavy baseline of 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 states a specific verb ('Get'), a precise resource ('a single rashi ... by its Vedic ID slug'), and lists the main returned fields. This clearly distinguishes it from the plural sibling get_vedic_astrology_rashis and from other detail endpoints like nakshatras_id.

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 makes clear this is for single-item lookup by an ID, which implies use when a specific rashi is already known. It does not explicitly name get_vedic_astrology_rashis as the alternative for listing all rashis, but the singular and ID-focused wording is clear enough context without explicit exclusions.

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

get_vedic_astrology_yogaList all planetary yogas - 301 entry Vedic Yoga GlossaryA
Read-only
Inspect

Browse the 301-entry Vedic planetary-yoga glossary. Returns id and name for every cataloged yoga (Raja, Dhana, Pancha Mahapurusha, Nabhasa, Chandra-Mangala, and more). This is a dictionary lookup, not chart-driven detection: it does not inspect a birth chart. Use GET /yoga/{id} for the full glossary entry, or POST /yoga/detect to run all 48 detection rules against a specific kundli. Ideal for yoga-browser UIs, search, and progressive data loading.

ParametersJSON Schema
NameRequiredDescriptionDefault
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
familyNoFilter the catalog to one Nabhasa family: asraya (3), dala (2), akriti (20) or sankhya (7). Omit for the full catalog. `classical` is accepted but matches nothing here, because it is a detection-verdict value for single-combination yogas rather than a catalog grouping.
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.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already mark readOnlyHint=true and destructiveHint=false, so the read-only profile is covered; the description adds genuinely useful behavior beyond that: it explicitly states it does not inspect a birth chart, and that it returns only id and name for a dictionary look. A minor gap: it does not note whether the full 301 entries are returned in a single response or paginated, but the scale is in the description and the compact parameter in the schema covers the size concern.

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?

Three sentences: purpose/resource, core disambiguation (dictionary vs detection), and routing to the two relevant sibling endpoints. Every sentence earns its place, with the most important behavioral distinction ('does not inspect a birth chart') positioned immediately after the purpose, and no repetition of the schema or title content.

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 simple GET with 0 required params, no nested objects, and no output schema, the description covers everything an agent needs to decide and call it: the catalog scope (301 entries), the returned fields (id, name), the non-behavior (no chart inspection), alternatives for detail-reference and detection, and the intended use cases. Parameter semantics are fully delegated to the rich schema descriptions, and the service profile is covered by annotations.

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 description coverage is 100%, so the schema already fully documents lang (enum values, default, English fallback behavior), family (enum plus the quirk that 'classical' matches nothing), and compact (columnar shape with token savings). The description itself adds only marginal value here, but the not-in-repet coverage keeps this at the baseline of 3.

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: 'Browse the 301-entry Vedic planetary-yoga glossary' and states exactly what is returned: 'id and name for every cataloged yoga.' It explicitly disambiguates itself from the sibling tools by clarifying this is a dictionary listing, not a chart-driven detection, and the 'Use GET /yoga/{id}' sentence separates it from get_vedic_astrology_yoga_id and post_vedic_astrology_yoga_detect.

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

Usage Guidelines5/5

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

It states for an explicit mental model: 'This is a dictionary lookup, not chart-driven detection: it does not inspect a birth chart,' and then lists concrete alternatives with the condition for each: 'Use GET /yoga/{id} for the full glossary entry, or POST /yoga/detect to run all 48 detection rules against a specific kundli.' It also gives the target scenario 'yoga-browser UIs, search, and progressive data loading,' so an agent knows when to pick this over the compute-centric POST siblings.

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

get_vedic_astrology_yoga_idGet yoga details by ID - Vedic Yoga Glossary EntryA
Read-only
Inspect

Look up the dictionary entry for a specific named yoga from the 301-entry Vedic planetary-yoga glossary. Returns formation conditions, life results, and quality classification (Positive/Negative/Both). This is a glossary lookup against the static catalog; it does NOT analyze a birth chart. For chart-driven present/absent verdicts on the 48 detection-grade yogas (Gajakesari, the Pancha Mahapurusha set, all 32 Nabhasa distribution yogas, and the wealth and poverty verdicts) call POST /yoga/detect with birth data.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesYoga identifier (lowercase, hyphenated)
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
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.

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations declaring readOnlyHint and destructiveHint, the description adds valuable behavioral context: the tool reads from a static catalog, does no birth chart analysis, and summarizes the content of the returned entry. The main gap is that it doesn't describe any additional response-shape details, but the output fields are at least summarized.

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

Conciseness4/5

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

The response is well structured and front-loads the primary benefit, with the chart-detection boundary and alternative living in the following citation. The peek into the static catalog adds some length but is used for distinction, not padding.

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 three-param lookup tool with an all-documented schema and a no-opshort hint, the description covers the main lookup, its return types, and the boundary to detect-typed, sibling tool. The only absent thing is a full list of actual return fields, but that is adequately abstracted by 'formation conditions, life results, and quality classification'.

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 id, lang and compact are thoroughly described in the input schema. The description only adds that `id` belongs to a stationary, catalog-ent of 301 yogas, which is helpful but does not compensatea significantly beyond 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?

The description states a specific verb and resource: 'Look up the dictionary entry for a specific named yoga' in the 301-entry glossary, and lists exactly what is returned (formation conditions, life results, quality classification). It also clearly distinguishes itself from the birth-chart analysis endpoint by stating this is NOT chart analysis.

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

Usage Guidelines5/5

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

It explicitly says when to use this tool: for glossary lookup of a named yoga, and when NOT to use it: for chart-driven present/absent verdicts, users should call POST /yoga/detect. It even names the alternative endpoint, making the routing decision explicit.

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

post_vedic_astrology_arudhaGet the twelve Arudha padas - Arudha Lagna Calculator APIA
Read-only
Inspect

Calculate the Arudha Lagna (AL) and all twelve Arudha padas of Jaimini astrology from birth details. An Arudha pada is the perceived or projected form of a bhava, so where the Lagna shows what a person is, the Arudha Lagna shows the image and status the world attaches to them. Returns each pada with the bhava lord and the count that produced it, the sign it lands in, its house from the Lagna, and a flag showing whether the classical exception moved it. Includes the Upapada (UL) read for marriage. Arudha Lagna calculator API, Jaimini pada, Upapada Lagna, Vedic astrology public image.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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.
ayanamsaNoSidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
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.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare the tool readOnly and non-destructive; the description adds useful behavioral detail about the result, including bhava lord, count, sign, house from Lagna, and the exception flag. It also notes the Upapada inclusion, which the annotations do not convey.

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

Conciseness4/5

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

The core sentences are front-loaded: purpose, conceptual meaning, return contents, and Upapada. Some phrasing in the conceptual explanation and trailing keyword fragment is slightly redundant, but nothing feels like padding and the key facts are easy to parse.

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?

Because there is no output schema, the description does a good job of outlining the returned fields (lord, count, sign, house, exception flag, Upapada). It leaves exact field names and data shapes to inference, but for a calculator-style API this is sufficient guidance.

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 schema already covers all 9 parameters with detailed descriptions (100% coverage), so the description is not obligated to explain them. The description only refers generically to 'birth details', which adds no real semantic value over 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 ('Calculate') and a precise resource ('Arudha Lagna and all twelve Arudha padas of Jaimini astrology'). The conceptual explanation and the distinctive tool name make it clearly different from the many sibling post_vedic_astrology_* 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?

Sets clear usage context: this is for Jaimini Arudha calculations, including the public image conveyed by the Arudha Lagna and the Upapada for marriage. It does not explicitly contrast with an alternative or state when not to use it, but the domain is specific enough for an agent to route correctly.

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

post_vedic_astrology_ashtakavargaGet Ashtakavarga (planetary strength) analysis - Ashtakavarga Calculator APIA
Read-only
Inspect

Calculate complete Ashtakavarga analysis per Brihat Parashara Hora Shastra (BPHS). Returns Bhinnashtakavarga (BAV), Sarvashtakavarga (SAV, total 337), Reduced Ashtakavarga (Trikona + Ekadipati Shodhana per Ch. 67-68), and Shodhya Pinda planetary strength (Rashi Pinda + Graha Pinda per Ch. 69). Essential for transit prediction timing, house strength analysis, dasha result evaluation, and planetary strength comparison. Ashtakavarga calculator API, bindu rekha points, Shodhya Pinda, Vedic astrology.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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.
ayanamsaNoSidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
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.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds value by indicating it returns multiple advanced calculation types (BAV, SAV, Reduced Ashtakavarga, Shodhya Pinda) and cites scriptural chapters (Ch. 67-68, 69), which helps the agent understand the scope. However, it does not mention pagination, rate limits, or data volume; with no output schema, the agent is left guessing about the response structure. The description adds some but not rich behavioral context beyond annotations.

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

Conciseness4/5

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

The description is two sentences long with one additional keyword line. The first sentence clearly states the tool's purpose and outputs; the second lists use cases. The trailing keyword string is slightly redundant but does not harm. It is front-loaded and effective, though the third line could be omitted without loss. A score of 4 reflects near-ideal conciseness.

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?

Given the tool's high complexity (8 parameters, 4 required, detailed Vedic calculations) and no output schema, the description covers the main purpose, outputs, use cases, and scriptural basis. It does not describe the exact structure of return values, which would help an agent parse the result. However, with 100% schema coverage and clear annotations, the description is sufficiently complete for an agent to select and invoke the tool.

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% (all 8 parameters documented in the schema), so baseline is 3. The description, however, does not add any additional parameter guidance. It neither explains the parameters nor clarifies how they relate to Ashtakavarga calculations. Given the high schema coverage, the description's lack of param info is acceptable but not exceptional. Score 4 reflects that the schema already serves well, but the description could still add value.

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 explicitly names the tool as calculating 'complete Ashtakavarga analysis per Brihat Parashara Hora Shastra (BPHS)' and lists specific outputs (Bhinnashtakavarga, Sarvashtakavarga, Reduced Ashtakavarga, Shodhya Pinda). It distinguishes from siblings by focusing on Ashtakavarga alone, unlike many other post tools for aspects, dashas, or divisional charts.

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

Usage Guidelines3/5

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

The description states this is 'essential for transit prediction timing, house strength analysis, dasha result evaluation, and planetary strength comparison', giving clear contexts. However, it does not explicitly say when NOT to use it or mention alternatives among the 50+ sibling tools, such as shadbala for strength or transit for predictions—guidance on exclusions is missing.

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

post_vedic_astrology_aspectsGet planetary aspects (Drishti) - Mutual aspects between all planetsA
Read-only
Inspect

Calculate all planetary aspects (Drishti) for a given time. Returns full aspects (7th house for all planets) and special aspects (Mars 4th/8th, Jupiter 5th/9th, Saturn 3rd/10th). Includes aspect table grouped by planet, mutual aspects, and individual aspect details with orb calculation. Essential for birth chart analysis, compatibility checking, and transit predictions. Planetary aspects API, drishti calculator, vedic astrology aspects, graha drishti.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format. Planetary positions are calculated for this date to determine mutual aspects (drishti).
timeYesTime in HH:MM:SS format (24-hour). Exact time affects fast-moving planets (Moon, Mercury) and aspect orbs.
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.
latitudeYesObserver latitude in decimal degrees. Used for Lagna calculation which affects house-based aspect analysis.
timezoneNoTimezone offset from UTC in hours. Defaults to 5.5 (IST).
longitudeYesObserver longitude in decimal degrees. Affects local sidereal time for positional calculations.
coordinateSystemNoCoordinate system for longitude output. "sidereal" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. "tropical" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to "sidereal".sidereal

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare this is read-only and non-destructive, so the description's job is to add return-behavior context, which it does: it specifies full 7th-house aspects, special Mars/Jupiter/Saturn aspects, grouped aspect tables, mutual aspects, and orb calculations. This goes well beyond the minimal safety profile provided by 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 first sentence is clear and front-loaded, and the return details are organized into compact sentences. However, the final keyword-dense line ('Planetary aspects API, drishti calculator...') is redundant filler that does not help an agent select or invoke the tool, and some content could be tighter.

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?

With no output schema present, the description compensates by enumerating what the response contains: full aspects, special aspects, grouped tables, mutual aspects, and orb details. Combined with the fully documented input schema and read-only annotations, an agent has enough context to call this tool correctly, though the exact response shape is left unspecified.

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 description coverage is 100%, so the schema fully documents all seven parameters including date, time, coordinates, timezone, compact, and coordinate system. The description's phrase 'for a given time' adds no parameter meaning beyond what the input schema already provides, so the baseline of 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?

States a specific action ('Calculate all planetary aspects') and resource ('for a given time'), and distinguishes itself from sibling aspect tools by spelling out full vs. special aspects for all planets. The title reinforces the mutual-aspects scope, so an agent can tell it apart from lunar or monthly aspect tools.

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

Usage Guidelines3/5

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

The description gives useful use cases ('birth chart analysis, compatibility checking, and transit predictions') and indicates it is for a single given time, which implies a contrast with monthly aspect tools. However, it does not explicitly name sibling alternatives such as post_vedic_astrology_aspects_lunar or post_vedic_astrology_aspects_monthly or state when those should be chosen instead.

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

post_vedic_astrology_aspects_lunarMonthly Lunar Aspects - Moon aspect events with all planets for a monthA
Read-only
Inspect

Track all lunar aspect events for a given month including major and minor aspects. The Moon traverses approximately 13 degrees per day, forming 22 aspect types with each planet. 5 major (conjunction, opposition, trine, square, sextile) and 17 minor (vigintile, semi-sextile, undecile, semi-quintile, novile, semi-square, septile, quintile, binovile, centile, biseptile, tredecile, sesqui-square, bi-quintile, quincunx, triseptile, quadranovile). Returns exact date and time of each Moon aspect event with ternary search refinement to the minute. Omit year and month to get the month in progress, so a published lunar calendar stays current without a redeploy. Essential for muhurta selection, daily panchang analysis, and chandra gochar predictions. Monthly lunar aspects API, Moon transit calendar, chandra drishti ephemeris, minor lunar aspects.

ParametersJSON Schema
NameRequiredDescriptionDefault
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
yearNoYear for monthly analysis (1900-2100). Defaults to the current year (UTC).
monthNoMonth number (1-12). Defaults to the current month (UTC).
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.
timezoneNoTimezone offset from UTC in hours. Output times are converted to this timezone. Defaults to 0 (UTC).
coordinateSystemNoCoordinate system for longitude output. "sidereal" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. "tropical" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to "sidereal".sidereal

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds meaningful behavior on top: ternary search refinement to the minute, the default-forwarding behavior of omitting year/month so a published calendar stays current without redeploy, and the 5-major/17-minor aspect taxonomy. There is no contradiction with the read-only annotation.

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 operational content is front-loaded and information-dense, and the enumeration of aspect types earns its keep by setting output expectations. However, the closing line — 'Monthly lunar aspects API, Moon transit calendar, chandra drishti ephemeris, minor lunar aspects' — is keyword-stuffed padding with zero decision value for an agent, and the tail makes the overall length harder to justify.

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

Completeness3/5

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

With no output schema and six optional parameters, the description must explain the return. It discloses that it 'Returns exact date and time of each Moon aspect event with ternary search refinement to the minute,' covering precision and data kind. But it does not describe the response shape, nor how compact, timezone, or coordinateSystem reshape the result. Adequate but with a visible gap given the absent output schema.

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 description coverage is 100%, so the baseline is 3 and the schema already documents all six parameters. The description adds a modest insight by explaining the strategic value of omitting year/month, which reinforces the schema's default text but does not materially exceed it. No compensation is needed for coverage gaps since there are none.

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

Purpose4/5

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

The description states a clear verb+resource: 'Track all lunar aspect events for a given month including major and minor aspects.' It enumerates all 22 aspect types, which unambiguously scopes the output. However, it never distinguishes itself from the closely named sibling post_vedic_astrology_aspects_monthly, leaving the agent to infer the Moon-specific difference from the name and title alone.

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 names concrete application domains: 'Essential for muhurta selection, daily panchang analysis, and chandra gochar predictions.' This is explicit, domain-specific context for when the tool applies. It falls short of 5 because it offers no exclusions and no comparison against the near-alternatives post_vedic_astrology_aspects and post_vedic_astrology_aspects_monthly.

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

post_vedic_astrology_aspects_monthlyMonthly Planetary Aspects - Major and minor aspect events for a monthA
Read-only
Inspect

Calculate all planetary aspect events (excluding Moon) for a given month. Detects 22 aspect types. 5 major (conjunction, opposition, trine, square, sextile) and 17 minor (vigintile, semi-sextile, undecile, semi-quintile, novile, semi-square, septile, quintile, binovile, centile, biseptile, tredecile, sesqui-square, bi-quintile, quincunx, triseptile, quadranovile). Returns exact date and time of closest approach using ternary search refinement. Uses degree-based aspect methodology on sidereal positions (Lahiri ayanamsa). Omit year and month to get the month in progress, so a published aspect calendar stays current without a redeploy. For Moon-specific aspects, use the /aspects/lunar endpoint. Essential for transit timing, muhurta selection, and monthly astrological forecasting. Monthly planetary aspects API, graha drishti calendar, mutual aspect ephemeris, minor aspects.

ParametersJSON Schema
NameRequiredDescriptionDefault
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
yearNoYear for monthly analysis (1900-2100). Defaults to the current year (UTC).
monthNoMonth number (1-12). Defaults to the current month (UTC).
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.
timezoneNoTimezone offset from UTC in hours. Output times are converted to this timezone. Defaults to 0 (UTC).
coordinateSystemNoCoordinate system for longitude output. "sidereal" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. "tropical" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to "sidereal".sidereal

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark this as read-only and non-destructive, and the description adds substantial behavioral context not visible there: it computes closest-approach times using 'ternary search refinement,' uses 'degree-based aspect methodology on sidereal positions (Lahiri ayanamsa),' and defaults to the current month when year and month are omitted. This is exactly the kind of extra behavioral detail agents need.

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

Conciseness4/5

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

The core function is front-loaded, and the list of major and minor aspects is compact and informative. The final keyword-style sentence ('Monthly planetary aspects API, graha drishti calendar, mutual aspect ephemeris, minor aspects.') is redundant for an AI agent and keeps this from being perfectly concise.

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 read-only tool with no required parameters, the description covers intended use, defaults, the Moon exclusion, methodology, and the output's core trait: 'exact date and time of closest approach.' Since there is no output schema, a concrete response-shape example would improve completeness, but nothing essential for invoking the tool correctly is missing.

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 baseline applies because each of the six parameters is already documented with defaults, ranges, and descriptions. The description does add one useful semantic note about omitting year and month to get the current month, but it does not carry the burden of parameter documentation.

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 opening sentence names the exact operation, resource, and scope: 'Calculate all planetary aspect events (excluding Moon) for a given month.' It also enumerates the 22 aspect types and explicitly contrasts with the Moon-specific endpoint, removing ambiguity among sibling aspect tools.

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

Usage Guidelines5/5

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

The description gives explicit selection criteria: this is 'Essential for transit timing, muhurta selection, and monthly astrological forecasting.' It also states when not to use it and which alternative to choose: 'For Moon-specific aspects, use the /aspects/lunar endpoint.' The tip about omitting year and month to keep a published calendar current is practical usage guidance beyond what the schema provides.

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

post_vedic_astrology_bhava_balaGet Bhava Bala (house strength) for all twelve houses - Bhava Bala Calculator APIA
Read-only
Inspect

Calculate Bhava Bala (house strength) for all twelve bhavas per Brihat Parashara Hora Shastra (BPHS) and BV Raman Graha and Bhava Balas. Returns the three classical components (Bhavadhipati Bala from the house lord Shadbala, Bhava Digbala from the rashi class and direction, Bhava Drishti Bala from aspects on the bhava madhya) plus totals in virupas and rupas and a strength ranking. Bhavas are built on unequal Sripati mid-cusps, so a house near a sign boundary is measured where it actually falls. Shadbala measures which graha is strong, Bhava Bala measures which life area is strong, and reading both together is how a practitioner separates a strong planet in a weak house from a weak planet in a strong one. Bhava Bala calculator API, house strength Vedic astrology, bhava bala virupas, Bhavadhipati Bala, Bhava Digbala, Sripati bhava madhya.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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.
ayanamsaNoSidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
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.

TDQS

A4.3/5.0
Behavior5/5

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

The readOnlyHint=true annotation already declares safety, so the description's job is to add behavioral context, and it does so richly. It discloses the exact output shape (three classical components plus totals in virupas and rupas plus a strength ranking), the computational model (unequal Sripati mid-cusps where a house near a sign boundary is measured where it actually falls), with no output schema present, this compensates for a significant gap. It also explains the conceptual distinction from Shadbala. No contradiction with annotations.

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

Conciseness4/5

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

The first four sentences are dense and front-loaded, each earning its place: calculation scope, return components, Sripati boundary behavior, and Shadbala contrast. However, the final sentence is an SEO keyword dump ('Bhava Bala calculator API, house strength Vedic astrology, bhava bala virupas...') that repeats terms already used throughout and should be removed. This tail fluff keeps it from a perfect score.

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 tool with 10 parameters and no output schema, the combination of the 100%-covered schema and this description gives an agent what it needs to invoke correctly: the description fills the return-value gap with the three components, totals, ranking, and the Sripati inequal-house caveat. It does not cover error behavior or verify whether values like focus alter the strength numbers themselves, but for a read-only calculator the main calling context is adequately complete.

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 description coverage is 100% with detailed per-parameter descriptions (date/time importance, ayanamsa differences, timezone DST resolution, focus vocabulary, compact shape), so the schema carries the full burden. The tool description itself adds no parameter-level meaning beyond the schema, which matches the baseline 3 for high schema coverage.

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: 'Calculate Bhava Bala (house strength) for all twelve bhavas per Brihat Parashara Hora Shastra (BPHS)'. It further differentiates from the sibling Shadbala tool, stating Shadbala measures which graha is strong while Bhava Bala measures which life area is strong. An agent can immediately determine what this tool computes and how it differs from related astrology endpoints.

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 clear usage context by explaining the Bhava Bala vs Shadbala distinction and how practitioners read both together to separate a strong planet in a weak house from a weak planet in a strong one. It implies when to reach for this tool rather than the Shadbala sibling, though it stops short of an explicit 'use this when... not that' statement, and it does not address other alternatives like bhav_chalit or divisional chart endpoints.

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

post_vedic_astrology_bhav_chalitGet the Bhav Chalit (Chalit Kundli) cusp-based house chart - Bhav Chalit APIA
Read-only
Inspect

Calculate the Bhav Chalit chart, also written Bhava Chalit or Chalit Kundli, placing every graha by unequal Sripati bhava cusps instead of by whole sign. The Rashi (D1) chart treats a whole sign as a house, so a graha a degree from a sign boundary is shown in a house it does not actually occupy; the Chalit chart resolves that by measuring from the bhava sandhis, which is why practitioners check it before reading house results, house lordship strength or transit effects. Returns the twelve bhava boundaries with their madhyas and spans, every graha in both frames, and a moved flag on the placements that differ. Bhav Chalit API, Chalit Kundli calculator, bhava chalit chart, Sripati house cusps, cusp based house chart Vedic astrology.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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.
ayanamsaNoSidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
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.

TDQS

A4/5.0
Behavior4/5

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

With the annotations already disclosing readOnlyHint=true and destructiveHint=false, the description appropriately adds only non safety behavioral detail: it states the measurement from bhava vijar sandhyas, identifies the specific malplaced-case it corrects, and previews the return shape plus the moved-flag affordance. It could add error/style consideration but for an idempotent compute there is nothing hidden to be cautions around; no corrective indications appear.

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 first three sentences are genuinely front-loaded and dense: purpose, motivation, and return contract in order. But the trailing keyword list — 'Bhav Chalit API, Chalit Kundli calculator, bhava chalit chart, Sripati house cusps, cusp based house chart Vedic astrology' — is SEO noise that costs tokens without helping agent - a clear violation the 'every sentence earns its place' test.

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?

Even though there is no output schema, the description compensates by enumerating the result contract — twelve bhava boundaries with madhyas and spans, both frames for every graha, and a moved flag. Combined with a trait that fully explains the 10-parameter inputs (including time-critical flags for Lagna and the timezone behavior), the agent has a practical profile to call it correctly; only a depth like error/Didation is not called out.

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%; every param — date, time, latitude, longitude, timezone, ayanamsa, focus, compactice, lang, ayanamsaValue — has a rich description, so the baseline of 3 applies. The tool description adds no supplemental or per-hmm parameter detail, which is acceptable given the heavy lifting the schema already does for the agent.

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 names a specific verb and resource ('Calculate the Bhav Chalit chart'), pins down the algorithm as unequal Sripati bhava cusps versus whole sign, and explicitly contrasts itself with the Rashi (D1) chart — which is the sibling tool post_vedic_astrology_birth_chart. An enumeration of the output (cusp bounds, bhave madhyas and splans, every graha in both frames, and a moved flag) leaves zero ambiguity about what the tool does.

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 context note that practitioners check the Chalit chart before reading a house results, house lordship strength its transit effect gives a concrete when-to-use trigger, and the contrast with the Rashi chart's whole-sign behavior makes the when-not-to-use condition reasonably clear. The downside is that no sibling is named and the exclusion is only implied by contrast, not stated directly as a would-to-use-this-alternative rule.

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

post_vedic_astrology_birth_chartGet birth chart (D1 Rashi chart) - Kundli Calculator APIA
Read-only
Inspect

Calculate complete Vedic birth chart (Janam Kundli, natal chart) with all 9 planetary positions (Sun through Ketu) plus Ascendant (Lagna). Kundli calculator API for astrology apps, matrimonial sites. Returns accurate graha positions grouped by zodiac signs (rashis) with nakshatra details and pada. Perfect for kundli generation, horoscope matching, and Vedic astrology software integration.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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.
ayanamsaNoSidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
avasthaInfoNoSet true to include a localized meaning and one-sentence classical interpretation beside each graha avastha state, under avasthaInfo on that graha in meta. Defaults to false, so an existing integration is byte-identical until it opts in. Saves a second call to GET /avasthas and the client-side join that would otherwise be needed to turn Yuva or Swapna into readable text.
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.
modernPlanetsNoSet true to also return Uranus, Neptune and Pluto, under the Sanskrit names Arun, Varun and Yam that Indian software prints for them. They arrive in a separate modernPlanets array, NOT inside meta, because classical Jyotish is defined over nine grahas: the moderns rule no sign, so they have no dignity, avastha, combustion or aspect strength and it would be fabrication to report one. Each carries longitude, rashi, degree in sign, nakshatra with pada and lord, and retrograde status. Defaults to false, so an existing integration is byte-identical until it opts in.

TDQS

A3.9/5.0
Behavior4/5

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

With annotations already marking it readOnlyHint=true and non-destructive, the description adds useful behavioral detail about the returned shape: positions grouped by rashi, nakshatra details, pada, and the inclusion of Lagna. It does not contradict the annotations and correctly frames the operation as calculation/return rather than mutation.

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

Conciseness4/5

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

The core 'calculate complete birth chart' fact is front-loaded, and the description remains short enough to be scanned quickly. There is some promotional/redundant phrasing like 'Kundli calculator API' and 'Perfect for kundli generation,' but it does not materially interfere with an agent's understanding.

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?

There is no output schema, so the description carries some burden, and it does state the main return contents: graha positions, rashis, nakshatra details, pada, and lagna. The input schema handles the 12 parameters well, and the title adds that this is the D1 Rashi chart, so an agent has enough guidance to select and invoke the tool correctly, if not a fully enumerated response contract.

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 covers all 12 parameters with descriptions, examples, constraints, and defaults, so the description's parameter-level contribution is minimal. Since schema coverage is 100% and no parameter information is missing, a baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states a specific outcome: calculate/return the Vedic birth chart with the nine grahas plus Ascendant, grouped by sign with nakshatra and pada. This separates it from a generic or vague API, though it does not explicitly contrast it with sibling tools like divisional_chart or planetary_positions.

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 useful context for when to use the tool ('kundli generation, horoscope matching, Vedic astrology software integration') and identifies this as the base birth-chart calculation. It lacks an explicit 'use this, not the divisional chart endpoint if you need D9' type of routing among siblings, so it stops short of a 5.

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

post_vedic_astrology_chara_karakasGet Chara Karakas including Atmakaraka - Jaimini Karaka Calculator APIA
Read-only
Inspect

Calculate the Chara Karakas of Jaimini astrology from birth details: the movable significators assigned by ranking each graha on how far it has advanced into its sign. The highest becomes the Atmakaraka, the soul significator and the strongest influence in the chart, and the rest take the Amatya, Bhratri, Matri, Pitri, Putra, Gnati and Dara offices in descending order. Supports both the eight-karaka scheme, where Rahu is included with its degree reversed, and the seven-karaka scheme that excludes the nodes, because the two can name a different Atmakaraka for the same chart. Atmakaraka calculator API, Darakaraka, Jaimini chara karaka, Vedic astrology soul significator.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
schemeNoWhich Chara Karaka scheme to rank. "eight" includes Rahu, counting its degree in reverse because it moves retrograde, and returns eight offices including Pitrikaraka. "seven" ranks only the seven classical grahas and drops Pitrikaraka. Ketu is excluded from both, since it always mirrors the Rahu degree exactly. The two schemes can produce a different Atmakaraka for the same chart, so select the one your reference software uses. Defaults to "eight".eight
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.
ayanamsaNoSidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
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.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: the reversed-degree handling of Rahu, the exclusion of Ketu from both schemes, the fact that the two schemes may yield different Atmakaraka names, and the exact office ordering hierarchy. It does not describe response format or states/environments such as throttling, but for a read-only deterministic calculator this is substantial added context.

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 core functional explanation is well ordered: ranking rule first, then the Atmamakra, then the office assignments, then the seven-vs-eight scheme distinction. However, the trailing keyword farm ('AtmAkaraka calculator API, Darakaraka, Jaimini chara karaka, Vedic astrology soul-влека') adds noise repeated from the text without an informational value for an agent, and the prose is dense with astrological terminology that could be pruned for agent utility. It is reasonably sized but not genuinely concise for agent consumption.

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 astrology tool with 10 parameters, 3 enums, 4 required fields, and no output schema, the description covers the core domain concepts an agent needs: what the computation ranks, the two schemes, the Karile offices in order, the Rahu/Ketu specifics, and the relevance of reference-software conformance. It doesn't state response shape or pagination/token behavior, but the karams and scheme details plus the exhaustive schema documentation largely close the comprehension gap, and the compact parameter field addresses token usage explicitly.

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 parameters themselves ('date', 'time', 'latitude', 'longitude', 'scheme', 'ayanamsa', etc.) are all individually documented, putting the baseline at 3. The tool description does enrich the meaning of the scheme parameter (fuller explanation of seven vs. eight, Rahu's reversal, Ketu's exclusion), which adds value over the schema description. It does not, however, clarify the relationship between parameters like ayanamsa vs ayanamsaValue or timezone variants more than the schema already does, so no bonus above baseline.

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 names a specific verb ('Calculate'), a specific resource ('Chara Karakas of Jaimini astrology'), and a concrete input ('from birth details'). It goes further by explaining the ranking rule (by how far each graha has advanced into its sign), who the Atmakaraka is, and the eight offices in descending order, so an agent cannot mistake this for the other Vedic astrology endpoints. The ATMAKARKA-centric title further disambiguates it from the many sibling calculators.

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, actionable context: the tool is for deriving the Atmakaraka/soul significator and the remaining seven Jaimini Chara Karaka offices from birth details, and it explicitly advises selecting seven vs eight schemes 'based on what your reference software uses' while warning the two can name a different Atmakaraka for the same chart. It does not explicitly name sibling tools to exclude, which keeps it from a 5, but the intended circumstances of use are unambiguous.

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

post_vedic_astrology_compatibilityCalculate compatibility score - Gun Milan API (Ashtakoot Matching)A
Read-only
Inspect

Calculate detailed Ashtakoot compatibility (Gun Milan) for kundli matching between two people. Returns accurate 36-point Guna Milan scale with breakdown across all 8 kootas (Varna, Vashya, Tara, Yoni, Graha Maitri, Gana, Bhakoot, Nadi), Nadi and Bhakoot dosha detection with classical cancellation analysis per Muhurta Martanda and BPHS rules, and marriage recommendation. Perfect for kundli matching for marriage, matrimonial platforms, horoscope compatibility, and Vedic matchmaking services.

ParametersJSON Schema
NameRequiredDescriptionDefault
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
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.
person1YesBirth data of the first person (typically the boy/groom in traditional Ashtakoot matching). Date, time, and location determine Moon nakshatra for koota scoring.
person2YesBirth data of the second person (typically the girl/bride in traditional Ashtakoot matching). Moon nakshatra compared against person 1 across all 8 kootas.
ayanamsaNoSidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.lahiri
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.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare this readOnlyHint=true and descriptiveHint=false, so the description doesn't need to re-establish that calling it has no destructive side effects. It adds useful details about output content—Nadi/Bhakoot dosha detection, cancellation analysis, and marriage recommendation. However, it does not discuss rate limits, auth requirements, result size, or behavioral limitations; with annotations covering the safety profile, this is adequate but not rich.

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

Conciseness4/5

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

The description is a single, well-organized sentence that front-loads the main action and payoff, followed by one applicers sentence. Pharmacy phrases like 'accurate' and 'perfect for' are slightly promotional and could be trimmed, but the rest of the information is relevant: kootoor breakdown, doseha details, traditional sourcess, and use cases. It is not bloated or unorganized, so it earns more than a mid score.

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?

There is no output schema, but the description compensates by stating that the result contains a 36-point Guna Milan scale, a breakdown across the 8 kootas, Nadi and Bhakoot dosha detection, cancellation analysis, and a marriage recommendation. For a side-output API with 6 parameters and nested person objects, this is a nearly complete picture. It could further clarify response particle or how errors from incomplete birth data are handled, but the description covers the essential outcome.

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 description covers 100% of the 6 parameters, including nested person1/person2 fields, timezone, ayanamsa, language, and compact mode. The description adds only that person1 and person2 are 'between two people,' which is already obvious from the schema. Since the schema carries the parameter-documentation burden and the description doesn't materially add semantic detail, the baseline of 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 starts with a specific verb and resource: 'Calculate detailed Ashtakoot compatibility (Gun Milan) for kundli matching between two people.' It explicitly names the 36-point scale, the 8 kootas, unique doseha analysis, and marriage recommendation. This makes it distinguishable from sibling astronomy endpoints, which handle charts, dongh/birth, panchang, or ayanamsa. The title reinforces the purpose without obscuring it.

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 clearly identifies the ideal use: 'kunderra clustering for marriage, matrimonial platforms, horoscope compatibility, and Vedic matchmaking services.' It does not, however, explicitly say when not to use this tool versus alternatives such as manglik dosha, sadhesati dosha, or individual chart endpoints. Because there are many sibling tools but no explicit exclusion/alternative routing, this is 'clear context, no exclusions'.

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

post_vedic_astrology_dailyDaily Reading - Composed Gochara, Panchanga and Dasha for one native on one dayA
Read-only
Inspect

The composed Vedic daily reading for one native on one date, in one call. Runs classical Gochara as the gate pipeline the texts describe: the house each transiting graha makes from the natal Moon (Janma Rashi), the vedha pair that can cancel it, the Ashtakavarga bindu gate that decides whether it is delivered, and the Phaladeepika XXVI.30 to XXVI.32 nullifiers, so every graha lands in ONE cited state rather than a bar of a chart. Joined to the panchanga day, which runs sunrise to sunrise with a validity window on every limb, plus tarabala and chandrabala resolved for THIS native as windows rather than as one value, the running Vimshottari chain three levels deep, and a KP finance net over the wealth and loss houses. Ships a hand-reproducible strength score with its arithmetic published in the field itself, and states plainly which part is classical and which part is our convention. Positions are computed in the Lahiri sidereal frame; the KP significators behind the finance area use the KP-Newcomb frame, as they do on every KP route. Vedic daily horoscope API, gochara API, daily panchang prediction, tarabala and chandrabala API, ashtakavarga transit strength.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoCivil date to read, in YYYY-MM-DD format. Defaults to today (UTC). The panchanga day it names runs from sunrise at the birth coordinates to the next sunrise, not from midnight, so a reading for this date covers the night that follows it.
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
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.
latitudeYesBirth location latitude in decimal degrees. Sets the natal house cusps behind the Ashtakavarga scorecard and the KP significators, and the sunrise that opens the panchanga day.
nodeTypeNoLunar node type for Rahu and Ketu. "mean" uses the smooth mean node, which is the traditional Vedic default and what printed panchangs use. "true" uses the osculating node, which swings up to 1.5 degrees either side of mean and can therefore move a node into a different rashi and change its gochara house. Defaults to "mean".mean
timezoneNoTimezone: IANA name (e.g. "Asia/Kolkata", "America/New_York") OR decimal hours from UTC (e.g. -5 for EST, 5.5 for IST). IANA strings are resolved to the DST-correct offset for the date being read. Interprets the birth time and the civil date below. Defaults to 5.5.
birthDateYesBirth date in YYYY-MM-DD format. Fixes the Janma Rashi and Janma Nakshatra every part of this reading is counted from, and the natal Ashtakavarga the bindu gate reads.
birthTimeYesBirth time in HH:MM:SS format (24-hour). The Moon moves about half a degree an hour, so an error here moves the Janma Rashi and Janma Nakshatra and therefore every gochara house count, the tarabala and the chandrabala in this response.
longitudeYesBirth location longitude in decimal degrees. Affects local sidereal time for the natal cusps and the sunrise the reading is composed at.

TDQS

A4.2/5.0
Behavior5/5

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

The annotations only supply readOnlyHint=true and destructiveHint=false, so the description carries the behavioral burden. It does this very well by disclosing the classical vs. conventional parts, the hand-reproducible strength score with published arithmetic, sunrise-to-sunrise panchanga days, and the important frame distinction between Lahiri and KP-Newcomb. There is no contradiction with 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 dense and informative, but it is a single long, sprawling paragraph with a trailing keyword list such as 'Vedic daily horoscope API, gochara API, daily panchang prediction', which adds little value after the main explanation. The front-loaded first sentence is strong, but a tighter structure with shorter sentences or bullets would earn the length.

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 tool with 10 parameters, richer annotations would be possible, but no output schema exists. The description still tells an agent what the result includes: a composed gochara/pAnchanga/dasha reading, KP finance values for finance focus, a reproducible strength score, and explicit computational frame notes. It does not enumerate the response fields, but the agent has enough to select the call correctly and infer the general shape.

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 description coverage is 100%, with each of the 10 parameters fully described in the input schema, so parameter semantics is already handled. The description adds no new parametric details, but it does not need to; the baseline 3 is appropriate because the description reinforces overarching context like 'one native on one date' without duplicating 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?

The description states a specific resource and action: a composed Vedic daily reading for one native on one date, combining Gochara, Panchanga, and Dasha in one call. It differentiates the tool from its many siblings by emphasizing the single composite call and the 'ONE cited state' behavior, rather than a raw chart bar.

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 intended context is clear: use this tool when a single-day, single-native reading that composes gochara, panchanga, dasha, tarabala/chandrabala, and KP finance is needed. The 'in one call' framing implies a contrast with more granular sibling endpoints, though it never explicitly names alternatives or when-not-to-use, so it stays just short of a 5.

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

post_vedic_astrology_dasha_currentGet current Mahadasha, Antardasha, Pratyantardasha, Sookshma, Prana - Dasha Calculator APIA
Read-only
Inspect

Calculate all five running Vimshottari Dasha levels (Mahadasha, Antardasha, Pratyantardasha, Sookshma, Prana) with remaining time in each. Accurate dasha calculator API for life phase prediction and planetary period analysis. Returns the dasha timeline with start/end dates for every level, ready for a current DBA readout down to hour-level timing. Set significators true to add the KP star lord, sub lord, signified houses and strength grade of each running lord, plus the houses they have in common. Essential for understanding current planetary influences, dasha transitions, and timing events in Vedic astrology. 120-year dasha system based on moon nakshatra at birth, with selectable Lahiri or KP ayanamsa.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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 used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
nodeTypeNoLunar node type for Rahu and Ketu, used ONLY when "significators" is true. Dasha dates themselves come from the Moon and never move with this field. "mean" uses the smooth mean node (traditional default). "true" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to "mean".mean
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
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.
significatorsNoSet true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.

TDQS

A4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description goes beyond with rich detail: it discloses that the output includes start/end dates for every level, hour-level timing, remaining time per level, the optional KP significators payload, dependence on birth Moon nakshatra, and selectable Lahiri/KP ayanamsa. This is genuinely useful context about what the computation does and what the response will contain.

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 first sentence is well front-loaded with the core five levels and remaining time. However, phrases like 'Accurate dasha calculator API for life phase prediction and planetary period analysis' and 'Essential for understanding current planetary influences...' are promotional and not technically necessary; they repeat the tool's purpose without adding new behavioral information.

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?

With 12 parameters, no output schema, and many sibling dasha tools, the description gives enough about the returned timeline (start/end dates per level, hour-level timing, remaining time, optional KP significators) for an agent to invoke it correctly. The key gap is again the lack of explicit contrast with sibling dasha tools, but this is mostly made up for by the word 'current' in the name and description.

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?

Input schema coverage is 100% and every parameter has a detailed description already. The description adds minor semantic reinforcement (e.g., 'set significators true' expands the output, ayanamsa selection) but does not meaningfully compensate or go beyond that schema. 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 explicitly names the five Dasha levels (Mahadasha, Antardasha, Pratyantardasha, Sookshma, Prana) and the specific verb 'Calculate... with remaining time in each.' It clearly identifies this as the tool for the current running Vimshottari Dasha timeline, distinguishing it from sibling tools that cover individual historical dasha levels (major, sub-mahadasha, antardasha, etc.).

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

Usage Guidelines3/5

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

The description gives a clear use-case: 'Essential for understanding current planetary influences, dasha transitions, and timing events in Vedic astrology.' However, it never explicitly says when NOT to use it or when to use sibling dasha tools such as post_vedic_astrology_dasha_major or the other sub-dasha variants. Usage is implied through the word 'current' but alternatives are not named or contrasted.

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

post_vedic_astrology_dasha_majorGet all 9 Mahadasha periods (120-year cycle)A
Read-only
Inspect

Returns the complete Vimshottari dasha cycle from birth, all 9 Mahadasha periods across the full 120 year span. Each period carries its ruling graha, exact start and end dates, and the houses it signifies, with the birth dasha balance and Moon nakshatra that anchor the sequence. This is the top level timeline a Vedic astrology report opens with, and the entry point for drilling into Antardasha and finer sub periods.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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 used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
nodeTypeNoLunar node type for Rahu and Ketu, used ONLY when "significators" is true. Dasha dates themselves come from the Moon and never move with this field. "mean" uses the smooth mean node (traditional default). "true" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to "mean".mean
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
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.
significatorsNoSet true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds what the response contains (all periods, lords, dates, houses, birth balance, Moon nakshatra) and how it fits in the dasha hierarchy. It stays consistent with the annotations and adds useful context without contradicting them.

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 sentences, with the action and core return payload front-loaded and the hierarchical positioning in the second sentence. There is no filler or repetition of schema content.

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 12-parameter read-only tool with no output schema, the description communicates the essential return content and how the result relates to sibling dasha tools. It might be even stronger with explicit sibling names or a note that the response is a timeline array, but the schema plus this description are sufficient to call the tool correctly.

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 description coverage is 100%, so all 12 parameters are already documented in the input schema, giving the baseline 3. The description's mention of birth dasha balance and Moon nakshatra adds some framing for why inputs matter, but it does not materially enrich the parameter definitions themselves.

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 action (returns), a precise resource (complete Vimshottari dasha cycle, all 9 Mahadasha periods across 120 years), and distinctive output elements (ruling graha, dates, houses, birth dasha balance, Moon nakshatra). It also positions itself as the top-level timeline and entry point, which separates it from dasha_current and dasha_sub_mahadasha siblings.

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: this is the top-level timeline a report opens with and the entry point for drilling into Antardasha and finer sub-periods, which implies use it before sub-period tools. It does not explicitly name alternatives or state when not to use it, so it falls short of a 5.

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

post_vedic_astrology_dasha_sub_mahadashaGet all Antardashas (sub-periods) for a specific MahadashaA
Read-only
Inspect

Returns the 9 Antardasha sub periods inside a chosen Mahadasha, each proportional to the Vimshottari years of its lord. Every period carries its ruling graha, exact start and end dates, and the houses it signifies, alongside the parent Mahadasha it sits in. Use it to narrow a multi year Mahadasha down to the months that matter for event prediction, muhurta selection, and dasha timeline UIs.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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 used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
nodeTypeNoLunar node type for Rahu and Ketu, used ONLY when "significators" is true. Dasha dates themselves come from the Moon and never move with this field. "mean" uses the smooth mean node (traditional default). "true" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to "mean".mean
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
mahadashaYesMahadasha planet name, case-insensitive (e.g., jupiter, Jupiter, JUPITER all work). Valid: Ketu, Venus, Sun, Moon, Mars, Rahu, Jupiter, Saturn, Mercury.
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.
significatorsNoSet true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description goes beyond that by disclosing the output contents ('ruling graha, exact start and end dates, and the houses it signifies, alongside the parent Mahadasha') and the computational basis ('proportional to the Vimshottari years of its lord'), which is useful behavioral context not present in 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.

Conciseness5/5

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

The description is two sentences with the core behavior front-loaded in the first sentence and supporting detail/use cases in the second. There is no filler or redundant repetition of the title or parameter schema, and every clause contributes useful information.

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 tool with 13 parameters and no output schema, the description gives a strong high-level account of what is returned and why it is useful. It would be more complete if it clarified how this tool relates to the deeper dasha-level siblings (e.g., dasha_sub_mahadasha_antardasha) and indicated whether this is the right level for a given use case.

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 description coverage is 100%, so the baseline for parameter semantics is 3 even without description-level parameter explanations. The description only mentions the 'chosen Mahadasha' concept and doesn't add extra meaning about how date, time, longitude, latitude, or other parameters affect the computation beyond what the schema already documents.

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

Purpose4/5

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

The description uses a specific verb and resource: 'Returns the 9 Antardasha sub periods inside a chosen Mahadasha', and adds the Vimshottari proportionality rule. It clearly states what the tool does and its title reinforces this, but it does not explicitly distinguish itself from sibling tools such as dasha_sub_mahadasha_antardasha or dasha_major, which an agent might confuse with this one.

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

Usage Guidelines3/5

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

The description offers a concrete use case ('narrow a multi year Mahadasha down to the months that matter for event prediction, muhurta selection, and dasha timeline UIs'), which gives useful context. However, it provides no explicit when-to-use vs alternatives, no when-not guidance, and no mention of sibling tools that cover deeper levels like pratyantardasha or sookshma.

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

post_vedic_astrology_dasha_sub_mahadasha_antardashaGet all Pratyantardashas (antara periods) for a Mahadasha and AntardashaA
Read-only
Inspect

Pratyantardasha calculator API for Vedic astrology. Returns the 9 Pratyantardasha (antara) periods inside a chosen Antardasha, the third level of the Vimshottari dasha hierarchy. Use it to drill from a Mahadasha into month level timing for event prediction, muhurta selection, and dasha timeline UIs. Each period is proportional to the Vimshottari years of its lord.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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 used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
nodeTypeNoLunar node type for Rahu and Ketu, used ONLY when "significators" is true. Dasha dates themselves come from the Moon and never move with this field. "mean" uses the smooth mean node (traditional default). "true" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to "mean".mean
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
mahadashaYesMahadasha planet name, case-insensitive (e.g. saturn, Saturn, SATURN all work). Valid: Ketu, Venus, Sun, Moon, Mars, Rahu, Jupiter, Saturn, Mercury.
antardashaYesAntardasha (bhukti) planet name inside that Mahadasha, case-insensitive. Every Mahadasha contains all 9 lords, so a repeat such as saturn/saturn is valid.
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.
significatorsNoSet true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context: the tool returns 9 periods and 'Each period is proportional to the Vimshottari years of its lord,' plus the hierarchy level. It does not disclose response ordering, exact fields, or any caveats, but for a read-only calculator this is a moderate addition beyond annotations.

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?

Four sentences, each earning its place: purpose, return content, use cases, and calculation rule. It is front-loaded with the core function and avoids restating schema details. No filler or redundant wording.

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

Completeness3/5

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

With no output schema, the description carries the burden of explaining return values, but it only says '9 Pratyantardasha periods' and a proportionality rule. It does not specify what each period object contains (start/end dates, lord, duration) or the ordering. For a 14-parameter tool with no output schema, this leaves a meaningful gap in the agent's ability to interpret the response.

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 description coverage is 100%, so every parameter already has a full description, default, example, and enum where applicable. The tool description adds no extra parameter-level meaning beyond what the schema provides. Baseline 3 is appropriate; the description mentions 'chosen Antardasha' and 'Mahadasha' but the schema already documents those thoroughly.

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: 'Returns the 9 Pratyantardasha (antara) periods inside a chosen Antardasha.' It positions the tool precisely in the hierarchy ('third level of the Vimshottari dasha hierarchy'), which differentiates it from sibling dasha endpoints (sub_mahadasha, pratyantardasha, sookshma) even without naming them. The title reinforces this for a Mahadasha and Antardasha.

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 explicitly tells when to use the tool: 'Use it to drill from a Mahadasha into month level timing for event prediction, muhurta selection, and dasha timeline UIs.' This gives clear decision context for an agent. However, it does not state exclusions or point to alternative deeper/shallower dasha endpoints, so it stops short of full when-not guidance.

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

post_vedic_astrology_dasha_sub_mahadasha_antardasha_pratyantardashaGet all Sookshma dashas for a Mahadasha, Antardasha and PratyantardashaA
Read-only
Inspect

Sookshma dasha API. Returns the 9 Sookshma periods inside a chosen Pratyantardasha, the fourth and finest level of the Vimshottari dasha hierarchy. Completes a full vimshottari drill down from the 120-year cycle to day level timing, typically 3 to 30 days per period. Built for dasha drill down tables, current DBA readouts, and precise event timing in Vedic astrology software.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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 used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
nodeTypeNoLunar node type for Rahu and Ketu, used ONLY when "significators" is true. Dasha dates themselves come from the Moon and never move with this field. "mean" uses the smooth mean node (traditional default). "true" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to "mean".mean
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
mahadashaYesMahadasha planet name, case-insensitive. Valid: Ketu, Venus, Sun, Moon, Mars, Rahu, Jupiter, Saturn, Mercury.
antardashaYesAntardasha (bhukti) planet name inside that Mahadasha, case-insensitive.
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.
significatorsNoSet true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.
pratyantardashaYesPratyantardasha (antara) planet name inside that Antardasha, case-insensitive.

TDQS

A4/5.0
Behavior4/5

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

Annotations already mark the tool read-only and non-destructive. The description adds meaningful behavioral context that is not in the annotations: it returns exactly 9 Sookshma periods, each typically 3 to 30 days long, at the fourth/finest level of the hierarchy. It does not contradict 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.

Conciseness4/5

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

The description is appropriately sized and well organized: the precise result is stated first, then the hierarchy level and granularity, then the expected use cases. The phrase 'Sookshma dasha API' is slightly redundant with the name, but every other sentence contributes useful signal and the whole remains concise.

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 read-only calculation tool with an extensively described 15-parameter schema, this description is complete enough to select and invoke it: it states the exact output count, the period length, the hierarchy level, the input prerequisite, and realistic domains such as drill-down tables and event timing. The absence of an output schema is not serious because the description already specifies the return granularity and scope.

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?

Input schema coverage is 100% and every parameter already has a detailed description, so the description's parameter contribution is minimal. The text adds general context about the returned periods but does not add specific parameter meaning beyond what the schema already provides; baseline 3 is therefore appropriate.

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

Purpose4/5

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

The description is specific: it returns the 9 Sookshma periods inside a chosen Pratyantardasha and situates that resource in the Vimshottari hierarchy. It clearly states the resource and the granularity of the result, though it does not distinguish itself from the similarly named sibling tool ..._sookshma, so it misses the explicit sibling differentiation needed for a 5.

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 usage context: it is built for dasha drill-down tables, current dasha readouts, and precise event timing, and it makes plain that the caller supplies a Mahadasha, Antardasha, and Pratyantardasha. It does not name alternative sibling tools or add when-not-to-use exclusions, so no explicit comparison is offered.

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

post_vedic_astrology_dasha_sub_mahadasha_antardasha_pratyantardasha_sookshmaGet all Prana dashas for a Mahadasha, Antardasha, Pratyantardasha and SookshmaA
Read-only
Inspect

Prana dasha API for Vedic astrology. Returns the 9 Prana periods inside a chosen Sookshma dasha, the fifth and finest level of the Vimshottari dasha hierarchy. Completes the full vimshottari drill down from the 120-year cycle to hour level timing, typically 20 minutes to 4 days per period depending on the parent Mahadasha. Built for five column dasha drill down tables, muhurta selection, and pinpointing the trigger moment inside an event window already found at the Sookshma level.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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 used to place the birth Moon in its nakshatra, which sets every dasha start and end date. "lahiri" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. "kp-newcomb" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. "kp-old" uses the Krishnamurti original table from KP Reader-1. "raman" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
nodeTypeNoLunar node type for Rahu and Ketu, used ONLY when "significators" is true. Dasha dates themselves come from the Moon and never move with this field. "mean" uses the smooth mean node (traditional default). "true" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to "mean".mean
sookshmaYesSookshma dasha planet name inside that Pratyantardasha, case-insensitive. Every full period contains all 9 lords, so a repeat such as saturn/saturn/saturn/saturn is valid.
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
mahadashaYesMahadasha planet name, case-insensitive. Valid: Ketu, Venus, Sun, Moon, Mars, Rahu, Jupiter, Saturn, Mercury.
antardashaYesAntardasha (bhukti) planet name inside that Mahadasha, case-insensitive.
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.
significatorsNoSet true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.
pratyantardashaYesPratyantardasha (antara) planet name inside that Antardasha, case-insensitive.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond annotations: it discloses the output granularity (9 periods), the typical period length ('20 minutes to 4 days per period depending on the parent Mahadasha'), and the intended use cases. It does not contradict any annotation.

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?

The description is three sentences with no filler. It front-loads the core function ('Prana dasha API'), then the specific output ('Returns the 9 Prana periods'), then the operational context. Every sentence carries information that helps an agent select and call the tool.

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 16-parameter tool with no output schema, the description explains the purpose, hierarchy position, timing granularity, and common use cases. It does not describe the exact response shape (e.g., whether each period includes start/end dates), but the domain language and the mention of 'five column dasha drill down tables' give sufficient context for an agent to infer typical output. Minor gap in not explicating the output fields, but overall complete enough 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 description coverage is 100%, so the input schema fully documents all 16 parameters. The description itself does not add parameter-level details, but it does use terms like 'chosen Sookshma dasha' and 'parent Mahadasha' that reinforce the hierarchy implied by the required parameters. This meets the baseline for a schema-heavy tool but doesn't go beyond it.

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 ('Returns') and resource ('the 9 Prana periods inside a chosen Sookshma dasha'), and clearly identifies it as 'the fifth and finest level of the Vimshottari dasha hierarchy.' This distinguishes it from sibling tools that operate at coarser levels (sub-mahadasha, antardasha, pratyantardasha), even without naming them explicitly.

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 contextual guidance: it is for 'five column dasha drill down tables, muhurta selection, and pinpointing the trigger moment inside an event window already found at the Sookshma level.' This implies the tool should be used when the finest granularity is needed, and that coarser levels are handled elsewhere, though it does not explicitly name alternative sibling tools or state when not to use it.

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

post_vedic_astrology_divisional_chartGet divisional chart (Varga) - D2 to D60 CalculatorA
Read-only
Inspect

Calculate any Vedic divisional chart (Varga) from D2 Hora to D60 Shashtiamsa. Divisional charts divide each zodiac sign into smaller segments to reveal detailed insights about specific life areas: wealth (D2), siblings (D3), property (D4), children (D7), marriage (D9), career (D10), parents (D12), vehicles (D16), spirituality (D20), education (D24), strength (D27), misfortunes (D30), merit (D40), character (D45), and past life karma (D60). Based on Brihat Parashara Hora Shastra (BPHS) Shodasha Varga system. Detects Vargottama planets (same sign in D1 and selected chart).

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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.
ayanamsaNoSidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.lahiri
divisionYesDivisional chart number. Each division reveals a specific life area. Supported: 2 (Hora, wealth), 3 (Drekkana, siblings), 4 (Chaturthamsa, property), 7 (Saptamsa, children), 9 (Navamsa, marriage), 10 (Dasamsa, career), 12 (Dwadasamsa, parents), 16 (Shodasamsa, vehicles), 20 (Vimsamsa, spirituality), 24 (Chaturvimsamsa, education), 27 (Bhamsa, strength), 30 (Trimsamsa, misfortunes), 40 (Khavedamsa, merit), 45 (Akshavedamsa, character), 60 (Shashtiamsa, past life karma).
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
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.

TDQS

A4.1/5.0
Behavior4/5

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

The annotations already provide readOnlyHint= true and destructiveHint=false, so the safety profile is covered. The description adds substantive behavior beyond that: it specifies the BPHS Shodasha Varga reference system and reveals that Vargottama planets are detected, which is a derived behavioral detail not present in the schema or annotations.

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

Conciseness4/5

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

Well front-loaded with the primary purpose in the first sentence. The second sentence lists life areas comprehensively, which is valuable for mapping intents to a division, though it partially repeats the schema's division parameter description. The last sentence about BPHS and Vargottama is brief and earns its place.

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 10-parameter tool with no output schema, the description is adequately complete: it covers what the chart is, what divisions exist, what each reveals, the source system, and a special detection (Vargottama). It does not describe the return object shape in detail, but for a read-only calculation tool this is enough to correctly select and invoke it.

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 description coverage is 100% with detailed explanations for all 10 parameters, so the baseline is 3. The description does add useful domain context by explaining divisional charts conceptually and mapping D2 through D60 to life areas, which reinforces the 'division' parameter, but it does not add new parameter-level semantics beyond 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?

省Starts with a specific verb 'Calculate' and clearresource: 'any Vedic divisional chart (Varga) from D2 Hora to D60 Shashtiamsa'. It distinguishes itself from sibling tools like birth chart/navamsa by covering the entire varga family and explicitly listing the life areas each division addresses. No ambiguity about what the tool does.

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?

States exactly when to use this tool: when a Vedic divisional/varga_chart is needed, and enumerates life areas so an agent can infer the right division (e.g., wealth→D2, marriage→D9, career→D10). It does not explicitly name alternatives to use instead (e.g., 'use birth_chart for D1'), which is a minor gap, but the context is clear.

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

post_vedic_astrology_dosha_kalsarpaCheck Kalsarpa Dosha - Kalsarpa Yoga Calculator APIA
Read-only
Inspect

Detect Kalsarpa dosha (Kalsarpa yoga) when all 7 planets are hemmed between Rahu-Ketu axis. Accurate kalsarpa dosha calculator identifying 12 types (Ananta, Kulik, Vasuki, Shankhapala, Padma, Mahapadma, Takshak, Karkotak, Shankhachud, Ghatak, Vishdhar, Sheshnag). Returns severity and effects based on Rahu house position. Essential for Vedic astrology dosha analysis, birth chart evaluation, and matrimonial compatibility. Considered significant dosha affecting life obstacles and spiritual growth.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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.
ayanamsaNoSidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
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.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds behavioral detail beyond annotations by specifying the exact condition for detection, enumerating 12 Kalsarpa types, and stating that severity and effects depend on Rahu's house position.

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?

The description is front-loaded with the core detection logic and remains substantive without fluff. Each sentence adds value: the condition, the 12-type taxonomy, the returned severity/effects, and the use-case context.

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?

Given the tool's complexity and absence of an output schema, the description adequately covers the domain meaning, key return concepts (severity, effects, Rahu house), and common use cases. It does not fully describe the overall response structure, but the description and rich parameter schema together give an agent sufficient grounding to invoke it correctly.

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 description coverage is 100%, so the input schema already documents all 9 parameters with detailed meanings, defaults, and formats. The description itself adds no parameter-specific guidance, which matches the baseline for high schema coverage.

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 ('Detect') with a clear resource ('Kalsarpa dosha') and defines the astronomical condition (all 7 planets hemmed between Rahu-Ketu axis). It differentiates this from sibling dosha tools like dosha_manglik or dosha_sadhesati by naming the specific dosha and the 12 sub-types.

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 states the practical contexts where the tool matters: dosha analysis, birth chart evaluation, and matrimonial compatibility. It does not explicitly name alternatives or exclusion conditions, but the purpose and scope are clear enough that an agent can infer this is the tool for Kalsarpa-specific checks rather than other doshas.

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

post_vedic_astrology_dosha_manglikCheck Manglik Dosha - Mangal Dosha Calculator APIA
Read-only
Inspect

Detect Manglik dosha (Kuja dosha, Mars dosha) based on Mars position in inauspicious houses (1, 2, 4, 7, 8, 12) from Lagna. Accurate mangal dosha calculator for matrimonial compatibility checks in Vedic astrology. Returns severity levels (Mild/Moderate/Severe) and cancellation factors. Essential for kundli matching for marriage, manglik compatibility, and marriage astrology in matrimonial sites. Includes exceptions that reduce manglik dosha effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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.
ayanamsaNoSidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
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.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already mark the operation as read-only and non-destructive, and the description adds useful behavioral detail: it returns severity levels, includes cancellation factors, and applies exceptions that reduce dosha effects. This goes beyond the structured safety hints.

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

Conciseness4/5

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

The main detection rule is front-loaded in the first sentence, and subsequent sentences give output behavior and use cases. There is some redundancy in matrimonial/marriage phrases, so it is not maximally tight, but it remains reasonably concise.

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?

With no output schema, the description appropriately indicates the returned information: severity levels, cancellation factors, and exceptions. The rich sample and time-critical tags in the schema already handle much of the input-side complexity.

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% parameter coverage, so the baseline applies. The description does not add much parameter-level meaning, though it does clarify in general terms that Mars position and Lagna drive the calculation.

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 ('Detect') and names a precise resource: Manglik/Kuja dosha based on Mars in houses 1, 2, 4, 7, 8, and 12 from Lagna. This clearly distinguishes it from sibling tools like dosha_kalsarpa and dosha_sadhesati.

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 clearly identifies when to use the tool: kundli/manglik matching for marriage, matrimonial compatibility checks, and marriage astrology. It does not explicitly name alternatives or when-not-to-use, but the use context is strong enough to guide an agent.

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

post_vedic_astrology_dosha_sadhesatiCheck Sadhesati - Sade Sati Calculator API (Saturn Transit)A
Read-only
Inspect

Calculate Sadhesati (Sade Sati) periods when Saturn transits 12th, 1st, and 2nd houses from natal Moon. Accurate sade sati calculator with current status and phase identification (Rising/Peak/Setting). Shani sadhesati 7.5 year period tracker. Returns Saturn transit dates and effects on life. Essential for Saturn transit analysis, sadhesati remedies timing, and understanding challenging Saturn periods in Vedic astrology. Important for timing major life decisions.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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.
ayanamsaNoSidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
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.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds context beyond the annotations by saying the output includes 'current status and phase identification' and 'Saturn transit dates and effects on life.' It describes the conceptual computation but does not explain the output shape, response size, or any edge cases like date/time ranges.

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 opening sentence is strong and front-loaded. However, there is redundancy: 'Accurate sade sati calculator', 'Shani sadhesati 7.5 year period tracker', and the repeated references to Saturn transit analysis and remedies add promotional filler. A more concise version would keep the first sentence plus phase and return-value info.

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?

Given 9 parameters and no output schema, the description provides sufficient conceptual framing: the core calculation, phases, and general return type (dates, effects). It lacks an explicit output structure or example, but for a calculator-style API the level of detail is adequate.

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 description coverage is 100%, with all nine parameters individually documented. The description does not add parameter-specific meaning beyond the schema and does not reference the parameters by name. This matches the baseline of 3 for high schema_description_coverage.

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 ('Calculate') and resource ('Sadhesati/Sade Sati periods') with the exact condition 'Saturn transits 12th, 1st, and 2nd houses from natal Moon.' It also mentions phase identification (Rising/Peak/Setting), clearly distinguishing it from other dosha tools and generic transit tools among the siblings.

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 strong usage contexts: 'Essential for Saturn transit analysis, sadhesati remedies timing, and timing major life decisions.' However, it does not explicitly exclude alternatives or name sibling tools (e.g., generic post_vedic_astrology_transit) that might also be relevant, so it lacks full when-not guidance.

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

post_vedic_astrology_ecliptic_crossingsEcliptic Crossings - When planets cross the ecliptic planeA
Read-only
Inspect

Find all ecliptic plane crossings for visible planets during a given year. An ecliptic crossing occurs when a planetary celestial latitude passes through 0 degrees, crossing from one side of the ecliptic to the other. Ascending crossings (south to north) correspond to the ascending node, descending crossings (north to south) to the descending node. Moon crosses ~2 times per month, outer planets cross less frequently. Returns exact date, time, direction, sidereal longitude, and zodiac sign. Ecliptic crossing API, planetary node crossing, ascending descending node ephemeris.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYesYear to scan for ecliptic crossings (1900-2100).
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.
timezoneNoTimezone offset from UTC in hours. Output times are converted to this timezone. Defaults to 0 (UTC).
coordinateSystemNoCoordinate system for longitude output. "sidereal" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. "tropical" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to "sidereal".sidereal

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already mark the tool as read-only and non-destructive, and the description adds useful behavioral context: the definition of ascending/descending crossings, relative frequency across planets, and the returned fields (date, time, direction, longitude, zodiac sign). One minor issue is that the description says 'sidereal longitude' unconditionally while the coordinateSystem parameter allows tropical output, but this is not a contradiction with 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.

Conciseness4/5

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

The description is front-loaded with the core action and then provides a focused explanation, frequency context, and return information. The final keyword-like sentence ('Ecliptic crossing API, planetary node crossing, ascending descending node ephemeris.') is redundant and does not add functional value, but the overall structure is still tight.

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 read-only tool with four well-documented parameters and no output schema, the description gives enough context to understand what the tool returns and how the phenomenon is defined. It does not enumerate exactly which planets count as 'visible' or describe return ordering/pagination, but these are minor gaps given the schema and annotation coverage.

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?

Parameter schema coverage is 100%, so the schema already documents year, compact, timezone, and coordinateSystem well. The description indirectly reinforces 'given year' and 'sidereal longitude' but adds no semantic detail about parameters beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action ('Find all ecliptic plane crossings') and the resource ('for visible planets during a given year'), and clarifies the defining condition (celestial latitude passing through 0 degrees). It does not explicitly distinguish itself from sibling tools such as post_vedic_astrology_parallels or post_vedic_astrology_heliacal, though the concept is specific enough that this is a minor gap.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus the many sibling tools, such as planetary positions, parallels, or heliacal events. It explains what ecliptic crossings are, but not what makes this tool the right choice or when an alternative should be preferred.

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

post_vedic_astrology_heliacalHeliacal rising and setting (udaya and asta) - Graha Asta Calculator APIA
Read-only
Inspect

Calculate heliacal rising (udaya) and setting (asta) of the six visible grahas for any date and place, by the Surya Siddhanta rule. Returns whether each graha currently clears the solar glare, its separation from the Sun in classical degrees of time, and the dates its visibility last changed and next changes. This is the calculation behind Guru Asta and Shukra Asta, the periods classical muhurta withholds marriage and other auspicious ceremonies. Unlike a birth chart combustion flag it is location aware, because the angle the ecliptic makes with the local horizon decides how long a graha lingers after the Sun. Graha asta API, Guru Asta Shukra Asta dates, heliacal rising calculator, planetary combustion muhurta.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesLocal calendar date to judge, in YYYY-MM-DD format. There is deliberately no time field: heliacal visibility is a once-a-day verdict read at that day sunrise or sunset, so a clock time could only pick a different day.
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.
latitudeYesObserver latitude in decimal degrees, restricted to -60 to 60. Visibility depends on the observer, unlike the longitude orb every chart API reports, because the angle the ecliptic makes with the horizon decides how long a graha lingers after the Sun. Beyond this band the classical rule stops describing solar glare and starts describing polar horizon geometry, so it is declined rather than answered wrongly.
timezoneNoTimezone: IANA name (e.g. "Asia/Kolkata", "Europe/London") OR decimal hours from UTC. Fixes which local day the date refers to, and every datetime in the response is returned in it. Defaults to 5.5.
longitudeYesObserver longitude in decimal degrees. Sets local sunrise and sunset, which are the instants the verdict is read at. Example: Mumbai 72.8777, Delhi 77.2090, London -0.1278.

TDQS

A4.5/5.0
Behavior5/5

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

The description adds substantial behavioral context that is not in the annotations: it explains the output ('Returns whether each graha currently clears the solar glare, its separation from the Sun in classical degrees of time, and the dates its visibility last changed and next changes'), the deliberate absence of a time field ('heliacal visibility is a once-a-day verdict read at that day sunrise or sunset'), and the latitude restriction with the reasoning that beyond 60 degrees the rule breaks down. This goes beyond the simple readOnly/destructive 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 first sentences are front-loaded with purpose and outputs, which is good. However, the description ends with a keyword-stuffed line: 'Graha asta API, Guru Asta Shukra Asta dates, heliacal rising calculator, planetary combustion muhurta.' This adds no informational value for an AI agent and makes the description feel padded. Overall it is reasonably concise but not every sentence earns its place.

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 having no output schema, the description provides a complete mental model of what the tool computes, its key outputs, the rule used, the location-awareness distinction, and the practical muhurta use case. It also explains the latitude constraint and the no-time-field design decision. For a complex astronomical tool, this is sufficient for an agent to select and invoke it without ambiguity.

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% with detailed descriptions for every parameter, so the baseline is 3. The description adds extra semantic value by explaining why there is no time field (parameter 'date' is a daily verdict), why latitude is restricted (parameter 'latitude' affects ecliptic-horizon angle), and why timezone matters. This pushes the score above baseline, though the schema itself remains the primary source.

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 ('Calculate') and clearly defines the resource ('heliacal rising (udaya) and setting (asta) of the six visible grahas'), including the governing rule ('Surya Siddhanta rule'). It differentiates itself from a birth chart combustion flag by emphasizing location awareness, making the purpose distinct from 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 clear context for when to use the tool: 'the calculation behind Guru Asta and Shukra Asta, the periods classical muhurta withholds marriage and other auspicious ceremonies.' It also gives an explicit when-not: 'Unlike a birth chart combustion flag it is location aware', which tells the agent this should be used instead of a generic combustion flag for location-dependent visibility. However, it does not name a specific alternative sibling tool by name, so it stops short of a 5.

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

post_vedic_astrology_kp_chartGenerate complete KP birth chartA
Read-only
Inspect

Generate authentic Krishnamurti Paddhati birth charts with Placidus house cusps, star-lord and sub-lord calculations. Supports custom ayanamsa and dynamic KP-Newcomb ayanamsa calculation. Returns complete chart with all 9 planets (Sun through Ketu), Ascendant, 12 Placidus house cusps, nakshatra details, star-lords, sub-lords, and KP horary numbers (1-249). Perfect for KP astrology software, horary prediction apps, and event timing analysis. One call is a complete Krishnamurti Paddhati chart generator, returning the Placidus cusps and the planets with their sub lords together.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format
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
timeYesBirth time in 24-hour HH:MM:SS format. CRITICAL for accurate Lagna and house calculations.
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
latitudeYesBirth location latitude in decimal degrees
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 offset from UTC in hours. Defaults to 5.5 (IST) for Vedic astrology.
longitudeYesBirth location longitude in decimal degrees
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.

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and destructiveHint=false, so the description need not restate safety. It adds useful behavioral context beyond the schema by disclosing dynamic KP-Newcomb ayanamsa calculation, custom ayanamsa support, and the complete set of returned chart components, giving the agent an accurate picture of what the read operation produces.

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 contains useful specifics, but it is noticeably redundant: the idea of a 'complete' KP chart with cusps and planets/sub-lords together is repeated three times. The final sentence largely restates the first two sentences rather than adding new information, so the description is solid but not tightly edited.

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?

With no output schema, the description carries the burden of explaining return contents, and it does so by enumerating planets, Ascendant, cusps, nakshatra details, star-lords, sub-lords, and horary numbers. Combined with a fully specified input schema and a clear scope relative to siblings, this is sufficient for an agent to invoke correctly, though structural return details (exact JSON shape, error conditions) are not covered.

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 description coverage is 100%, and the input schema already provides rich, detailed explanations for all 11 parameters, including defaults, enums, and formats. The description adds only marginal parameter context (e.g., custom ayanamsa and dynamic KP-Newcomb), so the baseline score of 3 is appropriate; the description does not compensate for any schema gap because none exists.

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 ('Generate') tied to an unambiguous resource: an authentic Krishnamurti Paddhati birth chart with Placidus cusps, star-lords, and sub-lords. It enumerates exact returned elements (9 planets, Ascendant, 12 cusps, nakshatra details, horary numbers), and the closing sentence explicitly distinguishes it from narrower KP sibling tools by emphasizing that it returns cusps and planets together.

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 use contexts: KP astrology software, horary prediction apps, and event timing analysis. The phrase 'One call is a complete Krishnamurti Paddhati chart generator, returning the Placidus cusps and the planets with their sub lords together' implicitly tells the agent to choose this over separate KP cusp or planet tools when a full chart is needed, though it does not explicitly name alternative tools or state when not to use it.

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

post_vedic_astrology_kp_cuspsGet KP Placidus house cusps with sub-lordsA
Read-only
Inspect

Calculate unequal Placidus house cusps with ruling sign-lord, nakshatra-lord, and sub-lord for each cusp. Dynamic KP-Newcomb or custom ayanamsa support. Used in KP horary astrology, cusp sub-lord analysis, and birth chart rectification. Returns all 12 house cusps with KP sub-division details. Use it as a Placidus house cusp calculator that also carries the star lord and sub lord of each cusp, which is what Krishnamurti Paddhati horary work reads first.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format
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
timeYesBirth time in 24-hour HH:MM:SS format
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
latitudeYesBirth location latitude in decimal degrees
timezoneNoTimezone offset from UTC in hours. Defaults to 5.5 (IST) for Vedic astrology.
longitudeYesBirth location longitude in decimal degrees
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.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, so the tool is safe to call. The description adds value by disclosing that it returns all 12 house cusps with KP sub-division details, and notes the dynamic KP-Newcomb or custom ayanamsa support. It does not disclose pagination or rate limits, but for a calculation tool with read-only annotations, the added output context is sufficient.

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

Conciseness4/5

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

The description is three sentences, each packing distinct information: what it calculates, where it is used, and what it returns with its astrological role. It is front-loaded with the core function and avoids fluff. Slightly verbose in the last sentence but still efficient.

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?

With 10 parameters and no output schema, the description covers the core output (all 12 cusps with KP sub-lords) but does not explain optional parameters like focus or compact. However, those are fully documented in the schema, and the description's job is to provide high-level context. The tool is complex but the description, combined with the rich schema, is adequate 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 description coverage is 100%, so the input schema already documents all 10 parameters including the enums and defaults. The description mentions ayanamsa support but does not add syntax or format details beyond the schema. Baseline 3 is appropriate since the schema carries the burden.

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 ('Calculate'), a precise resource ('unequal Placidus house cusps'), and the detailed output (ruling sign-lord, nakshatra-lord, sub-lord for each cusp). It also names the astrological context (KP horary, cusp sub-lord analysis, birth chart rectification), which differentiates it from sibling tools like kp_planets or kp_chart even without naming them.

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 clearly indicates when to use this tool: for KP horary, cusp sub-lord analysis, and birth chart rectification. It also explains that it is the Placidus house cusp calculator that carries star lord and sub lord, which is the first read in KP horary. It does not explicitly name an alternative to avoid, but the use cases are specific enough to guide an agent.

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

post_vedic_astrology_kp_horaryCast a KP horary (Prashna) chart from a number 1-249 - KP Horary APIA
Read-only
Inspect

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.

ParametersJSON 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.

TDQS

A4/5.0
Behavior4/5

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

The description discloses the transformation pipeline beyond what the annotations (readOnlyHint=true, destructiveHint=false) provide: the number maps to one of the 249 sub-degrees to set the Ascendant, Placidus cusps follow from latitude, and planetary positions are 'real sky' at the moment of judgment. It also describes the generated result that is the Ascendant/sub lord, cusps with star/sub lords, nine grahas, five ruling planets, and four-level significators, which are not stated anywhere else since there is no output schema. It stops short of mentioning edge behavior such as ayanamsaValue conflicts, but for a read-only computation the disclosure is strong.

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 body is concise and front-loaded: one sentence for cast the chart, a bolded contrast point, one mechanism sentence, and one return-statement sentence. However, the trailing keyword list ('KP horary API, Prashna kundali calculator, 249 horary number chart...') is pure duplication for search engines, adds no behavioral or semantic content, and inflates the description's length. A small but real structural deduction.

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?

With 12 parameters, 5 required, no output schema, and a niche Vedic astrology domain, the description carries full weight for what the tool returns and does — it does enumerate the returned elements (the four sub/star-level groups that are important for judgment). Input respects are fully in the schema, and the broker for the description provides the method's 'why' and 'without birth details' rationale. Missing 'the return shape' (e.g., JSON structure name) is higher, but the content list compensates for an absent output schema.

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 description coverage is 100% and the schema descriptions are already rich (horaryNumber explains the 1-249 mapping and rejection; time defines the moment the astrologer receives the question; latitude specifies 'place of judgment, not the querent birthplace'). The main description adds a coherent story about how the parameters interact (number→Ascendant, latitude→cusps, time→planet positions), but it mostly restructures the same facts already in the schema rather than adding new meaning. Baseline 3 applies.

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 opening sentence states the verb (Cast), the resource (KP horary/Prashna chart), and the input (a number 1-249 plus moment and place of judgment). It also distinguishes itself from the many sibling Vedic astrology tools with the explicit 'NO BIRTH DETAILS ARE NEEDED' contrast, and the second paragraph lists what the tool concretely returns. An agent can tell this apart from the get/post Vedic astrology siblings 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?

The description clearly anchors when to use it: 'makes horary the KP answer when birth time is unknown or unreliable.' It also reinforces that material in the schema for time and number (astrologer receives the question; the querent's first numbers matter). It does not explicitly name a sibling to use instead (e.g., birth_chart) or say 'don't use this when birth details are reliable', so the exclusion side is implied rather than stated. That leaves it shy of a 5.

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

post_vedic_astrology_kp_planetsGet KP planetary positions with sub-lordsA
Read-only
Inspect

Get planetary positions with detailed KP star-lord and sub-lord calculations for precise event timing and significator analysis. Returns all 9 planets (Sun through Ketu) with nakshatra, star-lord, sub-lord, and KP horary numbers (1-249). Essential for KP astrology software, significator analysis, and event prediction. Use it as a star lord and sub lord calculator wherever Krishnamurti Paddhati planet positions drive the reading.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format
timeYesBirth time in 24-hour HH:MM:SS format
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
latitudeYesBirth location latitude in decimal degrees
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 offset from UTC in hours. Defaults to 5.5 (IST) for Vedic astrology.
longitudeYesBirth location longitude in decimal degrees
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.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds value beyond that by specifying the computed output fields, the nine-planet scope, and the KP-specific calculations, which is especially useful because no output schema exists. It does not contradict 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.

Conciseness4/5

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

The description is three sentences and front-loads the core function and output. It is reasonably concise, though the third sentence is somewhat redundant with the first in repeating the KP software and significator-analysis use case.

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?

Given nine richly documented parameters and read-only annotations, the description covers the main missing piece by explaining what the computed result contains, since no output schema exists. An agent can select and invoke the tool correctly; naming sibling alternatives explicitly would make it fully complete.

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 description coverage is 100%, so the schema fully documents all nine parameters, including formats, defaults, enum options, and constraints. The description adds no parameter-level guidance, but the baseline of 3 is appropriate because the schema itself is doing the heavy lifting.

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: get planetary positions with detailed KP star-lord and sub-lord calculations. It enumerates exact output contents (all 9 planets, nakshatra, star-lord, sub-lord, KP horary numbers), which clearly distinguishes it from generic planetary position tools and KP interval/cusp siblings.

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 contextual usage: essential for KP astrology software, significator analysis, and event prediction, and frames the tool as a star-lord/sub-lord calculator wherever KP planet positions drive the reading. It does not explicitly name sibling alternatives or state when not to use it, so it stops short of a 5.

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

post_vedic_astrology_kp_planets_intervalGet KP planets at time intervalsA
Read-only
Inspect

Calculate positions of all 9 planets (Sun through Saturn, Rahu, Ketu) at regular time intervals with full KP hierarchy: sign lord, star lord, sublord, and sub-sublord. Returns longitude, zodiac sign, nakshatra, sublord, sub-sublord, and KP number (1-249) for each planet at each timestamp. Ideal for tracking planetary motion, finding optimal muhurta windows, analyzing transit patterns, and building KP ephemeris tables. Maximum range of 7 days with 15-minute to 24-hour intervals.

ParametersJSON Schema
NameRequiredDescriptionDefault
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, 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
latitudeYesObserver latitude in decimal degrees (for future Lagna calculations)
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
timezoneNoIANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC. IANA resolved to the DST-correct offset for the startDatetime date. When non-zero, all datetimes are treated as local time in this timezone (Z suffix is ignored). Defaults to 0 (UTC).
longitudeYesObserver longitude in decimal degrees (for future Lagna calculations)
endDatetimeYesEnd datetime in ISO 8601 (YYYY-MM-DDTHH:MM:SS). Maximum 7 days from start. Interpreted as local time when a non-zero timezone is provided (a trailing Z is accepted but ignored); with timezone 0 it is UTC.
startDatetimeYesStart datetime in ISO 8601 (YYYY-MM-DDTHH:MM:SS). Interpreted as local time when a non-zero timezone is provided (a trailing Z is accepted but ignored); with timezone 0 it is UTC.
intervalMinutesYesTime between calculations in minutes. Range: 15 (quarter-hourly) to 1440 (daily).

TDQS

A4.8/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, confirming safe read operation. The description adds behavioral context: it returns positions for all 9 specific planets (Sun through Saturn, Rahu, Ketu) with full KP hierarchy fields (sign lord, star lord, sublord, sub-sublord, longitude, zodiac sign, nakshatra, KP number). It does not mention pagination (likely not needed given 7-day max) or output format details, but for a read-only tool the disclosure is strong. The only gap is no mention of error behavior for invalid date ranges or timezone handling 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.

Conciseness5/5

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

Four sentences, each earning its place: 1) what it returns, 2) the specific fields, 3) use cases, 4) constraints. Zero fluff. The most critical operational detail (7-day max, interval range) is front-loaded in the description after the purpose. Perfectly sized for a single paragraph with no redundancy.

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 9 parameters (100% schema coverage) and no output schema, the description compensates well by listing the return fields (longitude, zodiac sign, nakshatra, sublord, sub-sublord, KP number) and the planets covered. The sibling list shows this is one of many KP interval tools; the description differentiates clearly by specifying this returns planetary motion at intervals (vs kp_ruling_planets_interval which returns ruling planets at intervals). No output schema is a minor gap, but the description is sufficiently complete for an agent to understand what will be returned.

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

Parameters5/5

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

Schema coverage is 100% with rich descriptions on all 9 parameters. The description further clarifies the role of latitude/longitude ('for future Lagna calculations'), the meaning of ayanamsa options (with domain knowledge like 'kp-newcomb is the most common choice for KP astrology'), and the nodeType distinction (mean vs true). The start/end datetime description explains timezone handling in detail. This adds significant value beyond the schema alone.

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 clearly states it calculates positions of all 9 planets at regular time intervals with full KP hierarchy, distinguishing it from sibling tools like get_vedic_astrology_kp_planets (likely a single-point snapshot) and post_vedic_astrology_kp_rasi_changes (which focuses on sign boundary crossings). The verb 'calculate' and resource 'planetary positions with KP hierarchy at intervals' is specific and unambiguous.

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

Usage Guidelines5/5

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

The description explicitly states the ideal use cases: 'tracking planetary motion, finding optimal muhurta windows, analyzing transit patterns, and building KP ephemeris tables.' It also provides critical constraints: 'Maximum range of 7 days with 15-minute to 24-hour intervals.' This clearly guides when to use this tool versus alternatives like post_vedic_astrology_planetary_positions (which likely provides a single timestamp) or post_vedic_astrology_kp_horary (for single moment horary analysis).

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

post_vedic_astrology_kp_rasi_changesFind KP rasi ingress timesA
Read-only
Inspect

Track when planets enter new zodiac signs (rasi) with precise ingress timestamps. Essential for Vedic astrology transit analysis, muhurta selection, and predictive horoscope readings. Returns exact times when planets cross sign boundaries (0, 30, 60 degrees etc). Use for tracking Sun sankranti dates, Moon sign changes for panchang, or outer planet transits for yearly predictions.

ParametersJSON Schema
NameRequiredDescriptionDefault
planetYesPlanet to track (case-insensitive). Valid values: Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn
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.
endDateYesEnd date for sign ingress search (YYYY-MM-DD format)
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
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
timezoneNoIANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC. IANA resolved to the DST-correct offset for startDate. Output times are converted to this timezone. Defaults to 0 (UTC).
startDateYesStart date for sign ingress search (YYYY-MM-DD format)

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe, non-destructive read. The description adds value by explaining it returns precise ingress timestamps (not just positions), and the detailed parameter descriptions (especially ayanamsa and nodeType) transparently explain configurable behavior. The description doesn't contradict annotations, and there is no mention of return format or pagination, but with annotations covering safety and the schema covering parameters, this is complete.

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?

The description is concise (4 sentences) and front-loaded: the first sentence immediately states the core function (track ingress times). Every sentence adds value—use cases, specific applications—without redundancy or fluff.

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?

Given the tool's moderate complexity (7 parameters, 3 required) and the absence of an output schema, the description adequately explains the purpose and typical use cases. It doesn't describe the exact return format (e.g., list of timestamps), which would be helpful, but the use cases and parameter coverage are complete enough for most agents. A 5 would require return format details.

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 baseline is 3. The description goes beyond the schema by explaining the purpose of the tool and how the parameters relate to use cases, e.g., tracking Sun sankranti (which ties to endDate/startDate and planet). Parameter descriptions themselves (like ayanamsa's detailed explanation) are rich and add meaning. This represents a net positive addition, earning a 4.

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 clearly states the tool tracks when planets enter new zodiac signs with precise ingress timestamps, using a specific verb ('Track') and resource ('rasi ingress times'). It effectively distinguishes from siblings by focusing on ingress timestamps rather than chart positions (like post_vedic_astrology_kp_planets) or sub-lord changes (post_vedic_astrology_kp_sublord_changes).

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 explicitly states it is essential for transit analysis, muhurta selection, and predictive readings, and gives concrete use cases like Sun sankranti dates, Moon sign changes for panchang, and outer planet transits. However, it does not explicitly state when NOT to use this tool or name specific alternatives among the 47 siblings, though the context implies it against the sibling list.

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

post_vedic_astrology_kp_ruling_planetsGet KP ruling planets with optional significatorsA
Read-only
Inspect

Calculate the 5 ruling planets at any moment using Krishnamurti Paddhati horary astrology. Returns Day Lord, Moon Sign/Star/Sub Lord, Lagna Sign/Star/Sub Lord. Optionally provide birth data (birthDate, birthTime) to include significators showing which houses each ruling planet signifies in the birth chart, which is essential for KP prediction.

ParametersJSON Schema
NameRequiredDescriptionDefault
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
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.
datetimeNoISO 8601 datetime (YYYY-MM-DDTHH:MM:SS) for ruling planets. Defaults to current time. Interpreted as local time when a non-zero timezone is provided (a trailing Z is accepted but ignored); with timezone 0 it is UTC.
latitudeYesObserver latitude in decimal degrees
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. "America/New_York", "Europe/London") OR decimal hours from UTC. IANA resolved to the DST-correct offset based on birthDate or datetime. Defaults to 5.5.
birthDateNoBirth date (YYYY-MM-DD) to calculate significators. If provided with birthTime, response includes which houses each ruling planet signifies.
birthTimeNoBirth time (HH:MM:SS) for significator calculation. Required if birthDate is provided.
longitudeYesObserver longitude in decimal degrees

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already establish readOnlyHint=true and destructiveHint=false; the description adds the output shape and the optional significator behavior, which is useful. It does not disclose edge cases, defaults, or behavior when only one of birthDate/birthTime is passed, though the schema covers that.

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?

The description is three tight sentences, front-loading the calculation and output before the optional-parameter advice. Every sentence adds information; there is no filler or repetition of the title.

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

Completeness3/5

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

For a 10-parameter tool with no output schema, the description explains the core output and the optional significator feature but remains thin on alternative-tool routing and behavior around optional parameters. The schema compensates for parameter details, so this is adequate but not comprehensive.

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 description coverage is 100%, so the baseline is 3. The description mentions birthDate/birthTime in prose but adds no parameter semantics beyond the schema's detailed 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 ('Calculate') and a specific resource: the 5 KP ruling planets at a moment, and enumerates the returned components (Day Lord, Moon Sign/Star/Sub Lord, Lagna Sign/Star/Sub Lord). This distinguishes the tool from the many sibling KP tools (kp_planets, kp_cusps, kp_ruling_planets_interval) even without naming them.

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

Usage Guidelines3/5

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

It implies the use case—single-moment KP horary calculations—with 'at any moment' and 'horary astrology,' and advises when to add birth data ('essential for KP prediction'). However, it never explicitly states when to prefer this over the interval variant or other KP siblings, and there are no exclusions or alternatives.

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

post_vedic_astrology_kp_ruling_planets_intervalGet KP ruling planets with significators at intervalsA
Read-only
Inspect

Calculate ruling planets and their KP significators at regular time intervals using Krishnamurti Paddhati prashna (horary) astrology. For each interval, a full Placidus house chart is erected and significators are computed using the 4-level KP hierarchy: Level 1 (strongest) planets in star of house occupant, Level 2 occupants, Level 3 planets in star of house owner, Level 4 house owner. Returns Day Lord (sunrise-based Hindu Vara), Moon Sign/Star/Sub/Sub-Sub Lords, Lagna Sign/Star/Sub/Sub-Sub Lords, unique ruling planets set, and per-ruling-planet house significations. No birth data needed, significators come from each moments sky chart. Use for birth time rectification, muhurta selection, and KP horary number analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
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
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, 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
latitudeYesObserver latitude in decimal degrees
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 offset from UTC in decimal hours. When non-zero, all datetimes are treated as local time in this timezone (Z suffix is ignored). Output times are also converted to this timezone. Defaults to 5.5 (IST).
longitudeYesObserver longitude in decimal degrees
endDatetimeYesEnd of the interval range in ISO 8601 (YYYY-MM-DDTHH:MM:SS). Interpreted as local time when a non-zero timezone is provided (a trailing Z is accepted but ignored); with timezone 0 it is UTC.
startDatetimeYesStart of the interval range in ISO 8601 (YYYY-MM-DDTHH:MM:SS). Interpreted as local time when a non-zero timezone is provided (a trailing Z is accepted but ignored); with timezone 0 it is UTC.
intervalMinutesYesInterval between calculations in minutes (1-1440). Use 1-5 for birth time rectification.

TDQS

A4.3/5.0
Behavior5/5

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

The annotations already declare readOnlyHint=true and destructiveHint=false, lowering the burden. The description goes well beyond this by disclosing the methodology for each interval, the 4-level KP significator hierarchy, the specific lords returned, the absence of birth-data requirements, and that charts are erected from each moment's sky. This is rich behavioral disclosure beyond the structured annotations.

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

Conciseness4/5

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

The description is a dense, multi-sentence block that packs methodological detail, output fields, and use cases. It is longer than average but every sentence carries real content for a complex tool; still, it could have been tightened slightly by trimming redundancies like the repeated emphasis on intervals.

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?

Given the 11-parameter input schema and the absence of an output schema, the description compensates by explaining both the calculation method and what should appear in the response. It does not explicitly discuss performance implications of very short intervals over long ranges, but the provided details are sufficient for an agent to understand the operation.

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 description coverage is 100%, so the schema documents every parameter thoroughly. The tool description adds domain context but repeats little of the schema parameter details, so the baseline score of 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-resource pair: 'Calculate ruling planets and their KP significators at regular time intervals'. It makes the interval-based nature central, which clearly separates it from the non-interval sibling kp_ruling_planets, and the additional KP 4-level hierarchy details remove ambiguity about what the tool actually computes.

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 explicitly names use cases: birth time rectification, muhurta selection, and KP horary number analysis. It does not explicitly state when not to use this tool or point to the non-interval kp_ruling_planets alternative, so the guidance is strong but not fully exclusionary.

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

post_vedic_astrology_kp_sublord_changesFind KP sublord changesA
Read-only
Inspect

Track when planets cross KP sublord boundaries (1-249 divisions) for precise Krishnamurti Paddhati event timing. Returns exact timestamps when a planet transitions between sublords, essential for prashna kundali analysis and dasha predictions. Use this to find favorable windows when benefic sublords are active. Supports Sun, Moon, Mars, Mercury, Jupiter, Venus, and Saturn tracking over any date range.

ParametersJSON Schema
NameRequiredDescriptionDefault
planetYesPlanet to track (case-insensitive). Valid values: Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn
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.
endDateYesEnd date for sublord change search (YYYY-MM-DD format)
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
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
timezoneNoIANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC. IANA resolved to the DST-correct offset for startDate. Output times are converted to this timezone. Defaults to 0 (UTC).
startDateYesStart date for sublord change search (YYYY-MM-DD format)

TDQS

A4.3/5.0
Behavior4/5

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

With annotations already providing readOnlyHint=true and destructiveHint=false, the description adds value by specifying the output (exact timestamps), the supported planets, and the sublord division range (1-249). It does not contradict annotations and adds useful behavioral context beyond the safety profile.

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?

The description is four sentences, front-loaded with the core action, and each sentence adds information: core functionality, output type, use cases, and supported planets. There is no redundancy or wasted words. It is appropriately sized for the tool's complexity.

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

Completeness3/5

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

Given the tool has 7 parameters and no output schema, the description explains the purpose and use cases but does not detail the output structure (e.g., list of events with planet, timestamp, sublord). It vaguely says 'returns exact timestamps'. For a tool with many parameters and no output schema, the description should provide more specifics about the return format to be fully complete.

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% with parameter descriptions already present. The description adds conceptual meaning like 'KP sublord boundaries (1-249 divisions)' and explains the purpose of the tool, which helps an agent understand the parameters' role beyond the schema. It does not duplicate but enhances understanding.

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 clearly states the tool tracks when planets cross KP sublord boundaries (1-249 divisions) and returns exact timestamps. It specifies the resource (sublord changes) and action (track/find), and distinguishes from siblings like post_vedic_astrology_kp_planets or post_vedic_astrology_kp_rasi_changes by mentioning 'sublord boundaries' and 'prashna kundali analysis and dasha predictions'.

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 a clear use case: 'Use this to find favorable windows when benefic sublords are active.' It implies the tool is for event timing over a date range but does not explicitly compare to siblings like post_vedic_astrology_kp_planets_interval. The context is clear but lacks explicit exclusions or alternatives.

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

post_vedic_astrology_navamsaGet Navamsa chart (D9) - Marriage Compatibility CalculatorA
Read-only
Inspect

Calculate Navamsa (D9 divisional chart) for marriage compatibility analysis, spouse prediction, and spiritual life assessment. Navamsa calculator API reveals planetary strength in married life. Each planetary position is divided into 9 parts for accurate marriage astrology. Detects Vargottama planets (exalted status). Essential for matrimonial matching, relationship prediction, and marital harmony analysis in Vedic astrology.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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.
ayanamsaNoSidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
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.

TDQS

A3.5/5.0
Behavior3/5

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

The annotations already declare the tool as read-only and non-destructive, which is the main behavioral safety profile. The description adds some output-related context like 'Detects Vargottama planets' and 'reveals planetary strength', but it does not describe the response shape, possible null values, or any operational caveats. With no output schema, the description could have been more specific.

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 opening sentence is front-loaded and useful, but the following sentences repeat the same marriage, compatibility, and relationship theme several times. Phrases like 'marriage compatibility', 'married life patterns', 'matrimonial matching', and 'marital harmony' are redundant, making the description a bit taller than needed.

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

Completeness3/5

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

There is no output schema, so the description carries more responsibility for describing what the agent will receive. It mentions D9 division, planetary strength, and Vargottama planets, but it does not outline the main response fields or explain the distinction from the generic divisional chart sibling. The input side is well covered, but the response side is under-specified.

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 detailed descriptions for all 9 parameters, including date, time, location, timezone, ayanamsa, and compact. Since schema coverage is 100%, the description need not repeat parameter details, and it does not add new parameter-level meaning on top of the schema.

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

Purpose4/5

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

The description and title clearly state the resource: the Navamsa (D9) divisional chart, with a specific purpose of marriage compatibility, spouse analysis, and Vargottama detection. However, it does not explicitly differentiate this tool from the sibling `post_vedic_astrology_divisional_chart` or from `post_vedic_astrology_compatibility`, so it falls just short of perfect sibling separation.

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 clear contexts for use: Navamsa analysis for marriage and relationship assessment, spouse prediction, and spiritual life evaluation. It does not, however, state when not to use this tool or explicitly point to alternatives such as the generic divisional chart tool or compatibility tool.

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

post_vedic_astrology_panchang_basicGet basic Panchang - Tithi Nakshatra Yoga Karana CalculatorC
Read-only
Inspect

Calculate Panchang elements (Hindu calendar) for any date: Tithi (lunar day), Nakshatra (lunar mansion), Yoga, and Karana. Daily panchang API for determining auspicious timings (muhurta), festival dates, and planetary influences. Tithi calculator with Shukla/Krishna paksha. Accurate nakshatra today with ruling planet. Essential for Hindu calendar integration, muhurta selection, and Vedic timekeeping in astrology apps.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format. Panchang elements (Tithi, Nakshatra, Yoga, Karana) are calculated for this date.
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 in HH:MM:SS format (24-hour). Determines the exact Moon and Sun positions for tithi and nakshatra calculation.
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.
latitudeYesObserver latitude in decimal degrees. Determines sunrise/sunset times which define the Vara (weekday) and muhurta boundaries.
timezoneNoTimezone offset from UTC in decimal hours. Defaults to 5.5 (IST).
longitudeYesObserver longitude in decimal degrees. Affects local time calculations for sunrise/sunset-dependent panchang elements.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already expose that this is a read- only, non-destructive operation, and the description does not conflict with that. It modestly adds context about output content (Shukla/Krishna paksha, ruling planet), which is useful, but it does not disclose output shape, error or positional edge cases, or the 'any date' return behavior. For a read-basic tool, this is adequate without being rich.

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

Conciseness2/5

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

The opening sentence is functional, but the rest repeats content: 'Tithi calculator with Shukla/Krishna paksha', 'accurate nakshatra today', and 'Essential for... muhurta' repeat/conflate earlier claims. The phrase 'nakshatra today' is especially imprecise in a tool that takes any date. It is not concise enough to be considered minimal.

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

Completeness3/5

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

With 100% schema coverage and read-only annotations, the tool is reasonably callable: the required date/time/lat/ong are documented, and the description lists the four computed elements. It lacks a note on return structure, because there is no output schema, and does not position this tool against panchang_detailed/panchang_doghadiya/panchang_hora. That is a meaningful completeness gap for a user who has many sibling tools, but not a fatal one.

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 schema already documents all seven parameters granarically, and description does not need to carry the parameter meaning. It provides no new semantic details beyond saying 'any date', which is already implied by schema. Baseline of 3 is appropriate because the schema, not the description, is doing the heavy lifting.

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

Purpose4/5

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

The description opens with a clear verb and resource: 'Calculate Panchang elements... for any date' and enumerates exactly what is returned: Tithi, Naksha, Yoga, Karana. It does not explicitly distinguish itself from sibling panchang tools like panchang_detiled or panchang_choghadiya, so it misses the highest marker for differentiation.

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

Usage Guidelines2/5

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

No guidance explains when to use this tool instead of get_vedic_astrology_panchang_detiled, panchang_choghadiya, or panchang_hora. The marketing-style line 'Essential for muhurta selection' could actually mislead an agent toward this tool for choghadiya-oriented functionality. Sibling tools are numerous and named differently, so an explicit routing cue was needed here.

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

post_vedic_astrology_panchang_choghadiyaGet Choghadiya - 8 Muhurta divisions of day and nightA
Read-only
Inspect

Calculate Choghadiya (Chaughadia) muhurta timings for any date and location. Divides day (sunrise to sunset) and night (sunset to next sunrise) into 8 equal auspicious/inauspicious periods. Each period ruled by a planet: Udveg (Sun, bad), Amrit (Moon, good), Rog (Mars, bad), Labh (Mercury, good), Shubh (Jupiter, good), Char (Venus, good), Kaal (Saturn, bad). Essential for muhurta selection, daily planning, and traditional Hindu timekeeping. Choghadiya calculator API, daily muhurat timings, auspicious time finder.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format. A single-digit month or day is accepted and zero-padded (2026-3-5 becomes 2026-03-05). Impossible calendar dates are rejected.
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.
latitudeYesObserver latitude in decimal degrees. Determines sunrise and sunset times which define day/night boundaries for muhurta calculations.
timezoneNoTimezone offset from UTC in decimal hours. Used for accurate sunrise/sunset calculation and output time formatting. Essential for correct Choghadiya periods outside IST. Defaults to 5.5 (IST).
longitudeYesObserver longitude in decimal degrees. Affects local time calculations for sunrise, sunset, and muhurta period boundaries.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds value by explaining the internal structure (8 periods per day/night, planetary rulers, auspiciousness). It also describes the dependency on sunrise/sunset, which is a behavioral trait. No contradiction with annotations.

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

Conciseness4/5

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

The description is mostly front-loaded with the main purpose in the first sentence. However, the trailing SEO-like phrases ('Choghadiya calculator API, daily muhurat timings, auspicious time finder') are redundant and add unnecessary length, slightly reducing conciseness.

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

Completeness3/5

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

The description explains the conceptual output (8 periods with planet and auspiciousness) but does not specify the exact response format or structure, which is important since there is no output schema. The explanation is adequate for understanding what the tool does but not fully complete for an agent to anticipate the exact data shape.

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 description coverage is 100% with all 5 parameters individually described in the input schema. The tool description does not add any parameter-specific information beyond what the schema already provides. Baseline of 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 clearly states the verb 'Calculate' and the specific resource 'Choghadiya muhurta timings'. It explains what Choghadiya is (8 day/night periods) and how it works, distinguishing it from other panchang tools like basic or detailed panchang by focusing on this specific muhurta system.

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

Usage Guidelines3/5

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

The description mentions it's 'Essential for muhurta selection, daily planning, and traditional Hindu timekeeping' but does not provide explicit when-to-use or when-not-to-use guidance compared to sibling tools like post_vedic_astrology_panchang_basic or post_vedic_astrology_panchang_hora. The context is implied rather than directly stated.

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

post_vedic_astrology_panchang_detailedGet detailed Panchang with Rahu Kaal, Yamaganda, GulikaA
Read-only
Inspect

Complete daily panchang with all five limbs (Tithi, Nakshatra, Yoga, Karana, Vara) plus sunrise, sunset, moonrise, moonset times. Includes inauspicious periods (Rahu Kaal, Yamaganda, Gulika Kaal) and auspicious windows (Abhijit Muhurta, Brahma Muhurta). Current planetary hora with start/end times. Essential for muhurta selection, daily horoscope apps, Hindu calendar integration, and electional astrology. Accurate calculations based on observer location.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format. A single-digit month or day is accepted and zero-padded (2026-3-5 becomes 2026-03-05). Impossible calendar dates are rejected.
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
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.
latitudeYesObserver latitude in decimal degrees. Determines sunrise and sunset times which define day/night boundaries for muhurta calculations.
timezoneNoTimezone offset from UTC in decimal hours, for example -5 for New York or 9 for Tokyo. Send the offset that matches the coordinates: sunrise, sunset and every muhurta boundary are found by searching forward from local midnight, so the default anchors the search to an Indian day. Omitting it for a location outside IST returns a correctly ordered set of periods for the wrong window, shifted by the difference between 5.5 and the real offset. Defaults to 5.5 (IST).
longitudeYesObserver longitude in decimal degrees. Affects local time calculations for sunrise, sunset, and muhurta period boundaries.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that calculations are 'accurate based on observer location,' which hints at positional dependence, but it does not disclose return format, potential errors, or rate limits. No contradiction with annotations; this is adequate but not rich behavioral context.

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

Conciseness4/5

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

The description is a compact list of the tool’s rich output domains, followed by use cases. It is longer than a simple one-liner but each clause conveys distinct information. Structure is decently front-loaded: the main result type and scope appear first, and use cases come at the end. A slight redundancy is that 'complete' and the enumeration both emphasize comprehensiveness.

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?

Given that the tool has no output schema and the input schema is already detailed, the description does a good job of telling the agent what data will be returned (five limbs, onset time, etc.) and why the tool matters. It lacks an explicit comparison to panchang_basic/choghadiya/hora and does not describe the response shape, but for a read-only astrological data tool this is close to complete.

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 description coverage is 100%, with each parameter already well-documented, including the impactful timezone behavior. The tool description adds no additional parameter-level meaning beyond saying calculations depend on observer location, which is a minor reinforcement. The baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states what the tool returns: a complete daily panchang with all five limbs, sunrise/sunset/moon times, inauspicious and auspicious periods, and planetary hora. The word 'complete' and the enumerated components help distinguish it from the panchang_basic and panchang_hora siblings, though it does not explicitly name those alternatives.

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 concrete use cases: 'muhurta selection, daily horoscope apps, Hindu calendar integration, and electional astrology.' This communicates when to use it, but it does not state when not to use it or name alternative panchang tools, so it stops short of full exclusion guidance.

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

post_vedic_astrology_panchang_horaGet Hora - 24 Planetary Hours (12 day + 12 night)A
Read-only
Inspect

Calculate all 24 Hora (planetary hour) periods for any date and location. Day is divided into 12 equal horas from sunrise to sunset, night into 12 equal horas from sunset to next sunrise. Each hora is ruled by a planet in the Chaldean sequence starting from the day lord. Hora timings API, planetary hours calculator, Vedic hora chart, electional astrology timing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format. A single-digit month or day is accepted and zero-padded (2026-3-5 becomes 2026-03-05). Impossible calendar dates are rejected.
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.
latitudeYesObserver latitude in decimal degrees. Determines sunrise and sunset times which define day/night boundaries for muhurta calculations.
timezoneNoTimezone offset from UTC in decimal hours. Used for accurate sunrise/sunset calculation and output time formatting. Essential for correct Hora periods outside IST. Defaults to 5.5 (IST).
longitudeYesObserver longitude in decimal degrees. Affects local time calculations for sunrise, sunset, and muhurta period boundaries.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds context about the calculation methodology (12 equal horas from sunrise to sunset, Chaldean sequence), but it does not disclose output format or edge cases such as polar regions where sunrise/sunset may be undefined.

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

Conciseness4/5

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

The description is compact at three sentences and front-loads the primary purpose. However, the final sentence lists redundant keywords ('Hora timings API, planetary hours calculator...') that add little value.

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

Completeness3/5

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

For a calculation tool with no output schema, the description explains the concept well but fails to indicate the response structure (e.g., whether start times, planet names are returned). Since there is no output schema, this gap makes it incomplete.

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?

All 5 parameters already have thorough descriptions in the schema (100% coverage), giving the baseline of 3. The main description adds no parameter-specific semantics beyond what the schema already provides.

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 clearly states 'Calculate all 24 Hora (planetary hour) periods for any date and location,' identifying the specific verb, resource, and scope. It distinguishes this tool from sibling panchang tools by focusing specifically on planetary hours with detailed day/night division.

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

Usage Guidelines3/5

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

The description does not explicitly compare this to sibling tools like post_vedic_astrology_panchang_choghadiya or panchang_basic. While the focus on Hora hours implies electional use, there is no explicit 'use when' or 'use instead' guidance.

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

post_vedic_astrology_parallelsDeclination Parallels - Planets at same or opposite declinationA
Read-only
Inspect

Calculate planetary declinations and find parallels (same declination) and contraparallels (opposite declination). Parallels are considered equivalent to conjunctions in strength, contraparallels to oppositions. Returns declination for each planet and all parallel/contraparallel aspects. Declination parallels API, planetary declination calculator, contraparallel aspects.

ParametersJSON Schema
NameRequiredDescriptionDefault
orbNoOrb in degrees for parallel/contraparallel detection. Defaults to 1.5°.
dateYesDate in YYYY-MM-DD format. Planetary declinations are calculated for this date to find parallel and contraparallel aspects.
timeYesTime in HH:MM:SS format (24-hour). Exact time affects declination values, especially for the fast-moving Moon.
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.
latitudeYesObserver latitude in decimal degrees. Used for topocentric declination corrections.
timezoneNoTimezone offset from UTC in hours. Defaults to 5.5 (IST).
longitudeYesObserver longitude in decimal degrees. Affects local time context for declination calculations.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds beyond that by explaining the computational purpose (calculate declinations, find parallels/contraparallels) and the nature of the output (declination per planet, all aspects). No contradictions; the keyword stuffing at the end is minor noise.

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 three sentences plus a trailing keyword phrase ('Declination parallels API...') that appears superfluous (likely SEO). The first two sentences are concise and informative, but the third is slightly redundant and the keywords add clutter. Could be tighter.

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

Completeness2/5

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

No output schema exists, so the description should clarify the return structure. It only says 'Returns declination for each planet and all parallel/contraparallel aspects' – vague. An agent lacks specifics (e.g., objects vs arrays, planet names, aspect details). Given 7 parameters and no output schema, this is a notable gap.

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% with parameter descriptions. The tool description does not add new parameter meaning or constraints; it provides context for the orb usage implicitly. Baseline 3 is appropriate as the schema already documents parameters thoroughly.

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 clearly states the verb 'Calculate' and the resource 'planetary declinations and find parallels/contraparallels'. It distinguishes from siblings by focusing on declination-based aspects vs. longitudinal aspects (e.g., post_vedic_astrology_aspects). The equivalence explanation (parallels=conjunctions, contraparallels=oppositions) adds specificity.

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

Usage Guidelines3/5

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

The description describes what the tool does but offers no guidance on when to use it versus alternative tools (e.g., post_vedic_astrology_aspects, post_vedic_astrology_planetary_positions). It implies usage for declination aspects but lacks explicit when/when-not examples or references to siblings.

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

post_vedic_astrology_parallels_monthlyMonthly Declination Parallels - Parallel and contraparallel events for a monthA
Read-only
Inspect

Find all declination parallel and contraparallel events between the 7 visible planets for a given month. Parallels occur when two planets share the same celestial declination (equivalent to conjunction in strength). Contraparallels occur at opposite declinations (equivalent to opposition). Scanned daily at noon UTC. Omit year and month to get the month in progress, so a published parallel calendar stays current without a redeploy. Essential for advanced transit analysis and hidden aspect discovery. Monthly declination parallels API, planetary parallel ephemeris, contraparallel event calendar.

ParametersJSON Schema
NameRequiredDescriptionDefault
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
yearNoYear for monthly parallel analysis (1900-2100). Defaults to the current year (UTC).
monthNoMonth number (1-12) for parallel analysis. Defaults to the current month (UTC).
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.
timezoneNoTimezone offset from UTC in hours. Output times are converted to this timezone. Defaults to 0 (UTC).

TDQS

A3.9/5.0
Behavior4/5

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

Since annotations already declare readOnlyAPI and non-destructive, the description is not burdened to restate these facts. It adds meaningful behavior, such as the noon UTC daily scan, the 7-visible-planets scope, and the default-to-current-month behavior for omitted year and month. These details are not present in the annotations but may affect when to call and how to interpret outputs.

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 first four sentences are efficient and front-loaded, but the latter part becomes redundant- and keyword-stuffed: the same purpose is restated once for 'advanced transit analysis' and again in the phrase 'Monthly declination parallels API, year-planetary ephemeralign...'. This repetition adds little value and makes the description slightly longer than necessary.

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

Completeness3/5

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

For a five-parameter tool with no output schema, the description successfully conveys what it calculates, once a daywars, for which planets, and how to make the calendar stay current. However, it does not describe the response shape at all (e.g., events with exact timestamps, planets involved), so an agent must assume the output structure from the word 'events' and from the sibling patterns. This is a meaningful gap given the missing output schema.

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 describes all 5 parameters at 100% coverage, with defaults, enuite for language, and descriptions for each field. The description's only param-related note, 'Omit year and month', repeats the schema defaults rather than adding new information. Per the baseline rule, 3 is correct when the schema carries most of the semantic weight.

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 action, resource, and scope: 'Find all declination parallel and contraparallel events between the 7 visible planets for a given month.' It also explains the meaning of parallels (conjunction-like) and contaparas (opposition-like), which clearly separates this tool from siblings such as the monthly aspects or transit tools. The verb and domain are unambiguous.

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 offers clear intended usage context ('essential for advanced transit analysis and hidden aspect discovery') and a specific tip for keeping a published calendar current without a redeploy. It does not state explicit when-not-to-use conditions or name an alternative sibling, but the guidance is sufficiently clear for the agent to choose this tool over the monthly transit or aspects variants.

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

post_vedic_astrology_planetary_positionsGet planetary positions - Graha Positions APIA
Read-only
Inspect

Get simplified planetary positions (graha positions) for all 9 planets (Sun through Ketu) plus Ascendant (Lagna). Real-time planet transit calculator for Vedic astrology. Navagraha positions API with nakshatra, pada, and rashi details. Includes house number placement using Whole Sign house system from Lagna. Faster response for basic planetary data without full chart structure. Perfect for planetary alignment tracking, daily transit updates, and astrology widgets.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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.
ayanamsaNoSidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
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.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: returns all nine planets + Lagna, uses the Whole Sign house system, includes nakshatra/pada/ashi details, and is faster by omitting full chart structure.

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?

Front-loads the action and primary resource in the first sentence, then adds uniqscape detail in subsequent sentences. Each sentence besides a distinct fact: mention, output sel, house system, performance/profile, and belongs use cases, with no fluff. Sized appropriately for the tool's simple purpose.

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?

With no output schema, the description does well by specifying the refurn content (nakshatra, pada, r, rashi, house from Lagna), which doubles as a pseudo-output spec. It doesn't clarify the distinction from the monthly positions sibling, though — a minor gap since that sibling tool name indicates the differentiator.

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 description coverage is 100%, and the schema gives each parameter example, format, defaults, and per-parameter semantics. The tool description adds no parameter-level meaning beyond that, so the baseline of 3 applies.

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?

Clearnly states the operation (reitreve simplified graha positions) and the exact resource scope (Sun through Ketu plus Lagna). It specifies output components (nakshatra, pada, rashi, house number) and distinguishes it from a full chart, so an agent can tell it apart from birth_chart and chart-rendered siblings without opening schemas.

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 descrption names concrete use cases (alignment tracking, daily transit updates, astrology widgets) and says it is 'simplified' and 'without full chart structure' when lots of chart tools are available. It does not explicitly name an alternative for the full fail-system charts, but the intended context is reasonably evident.

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

post_vedic_astrology_planetary_positions_monthlyMonthly Ephemeris - Daily sidereal planetary positions for a monthA
Read-only
Inspect

Get daily sidereal ecliptic positions for all 9 Vedic planets (Navagraha) for an entire month. Returns longitude, zodiac sign, degree within sign, and retrograde status for each planet on each day. Calculated at noon UTC. Omit year and month to get the month in progress, so a published ephemeris page stays current without a redeploy. Essential for ephemeris generation, transit tracking, and planetary movement visualization. Monthly planetary ephemeris API, sidereal position table, daily graha gochara positions, ecliptic longitude calculator.

ParametersJSON Schema
NameRequiredDescriptionDefault
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
yearNoYear for monthly ephemeris (1900-2100). Defaults to the current year (UTC).
monthNoMonth number (1-12) for ephemeris. Defaults to the current month (UTC).
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.
coordinateSystemNoCoordinate system for longitude output. "sidereal" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. "tropical" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to "sidereal".sidereal

TDQS

A4.2/5.0
Behavior4/5

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

While readOnlyHint and destructiveHint already establish the safety profile, the description adds meaningful behavioral context: 'Calculated at noon UTC' and the dynamic default behavior when year and month are omitted. It also discloses the return contents. This goes beyond the annotations, though it does not address failure modes, output envelope, or how the in-progress month behaves as time passes.

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 first four sentences are dense and valuable, front-loading the core operation, return fields, calculation time, and the omit-parameters behavior. The final sentence ('Monthly planetary ephemeris API, sidereal position table, daily graha gochara positions, ecliptic longitude calculator') is keyword-stuffed redundancy that adds no new information. The fifth sentence also partially repeats the use-case claim, leaving some waste.

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?

Even without an output schema, the description tells an agent exactly what fields to expect, making the return shape predictable. Combined with thorough schema descriptions for all five parameters and read-only annotations, the agent has sufficient information to invoke the tool correctly. Minor gaps, such as explicitly stating how the in-progress month updates over time, are not blocking.

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 minimum baseline is 3. The description earns above baseline by explaining the consequence of omitting year and month (dynamic current-month results) and framing it as a deployment trick. It appropriately avoids re-stating the schema's detailed documentation for lang, compact, and coordinateSystem.

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 the exact verb and resource: 'Get daily sidereal ecliptic positions for all 9 Vedic planets (Navagraha) for an entire month.' The monthly scope and use of 'all 9 Vedic planets' clearly distinguish it from the singular post_vedic_astrology_planetary_positions sibling. It further enumerates the return fields (longitude, zodiac sign, degree within sign, retrograde status), leaving no ambiguity about what the tool computes.

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 names concrete use cases: 'Essential for ephemeris generation, transit tracking, and planetary movement visualization.' It also provides a specific operational tip about omitting year and month to keep a published ephemeris page current without a redeploy. However, it never explicitly tells the agent to use the singular planetary_positions tool for current-only positions, so differentiation from the closest sibling is left to inference.

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

post_vedic_astrology_shadbalaGet Shadbala (six-fold planetary strength) analysis - Shadbala Calculator APIA
Read-only
Inspect

Calculate complete Shadbala (six-fold planetary strength) per Brihat Parashara Hora Shastra (BPHS) and BV Raman Graha and Bhava Balas. Returns all 6 strength components (Sthana Bala, Dig Bala, Kala Bala, Chesta Bala, Naisargika Bala, Drik Bala) plus Ishta Phala, Kashta Phala, strength ratio, and relative ranking for all 7 classical planets. Essential for evaluating planetary strength in Vedic birth chart analysis, dasha prediction, transit interpretation, and yoga assessment. Shadbala calculator API, planetary strength Vedic astrology, graha bala, Ishta Kashta Phala.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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.
ayanamsaNoSidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
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.

TDQS

A4/5.0
Behavior4/5

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

Annotations already mark this read-only and non-destructive, so the description is not burdened with safety disclosure. It adds meaningful behavioral detail by naming the six strength components, the Ishta/Kashta Phala outputs, and the scope of all 7 classical planets, which makes expected output content transparent.

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 opening sentence is detailed and front-loaded, but the description loses points with a trailing SEO keyword block ('Shadbala calculator API, planetary strength Vedic astrology, graha bala, Ishta Kashta Phala') that adds no decision-making value. The middle sentence on 'Essential for...' is useful, but the ending padding makes it somewhat less concise.

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 read-only calculation tool with full schema documentation and no output schema, the description gives a solid set of expected outputs and context. It lacks exact response shape or behavior for non-classical planets, but the agent likely knows what the tool will return and how to invoke it.

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 documents all parameters thoroughly, including critical details on date format, time sensitivity, ayanamsa differences, and DST-aware timezones. The description adds no new parameter-level semantics, which is acceptable since schema coverage is 100%.

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 clearly states the verb and resource: 'Calculate complete Shadbala' with six distinct strength components plus Ishta Phala, Kashta Phala, strength ratio, and ranking. It differentiates this endpoint from sibling tools like bhava_bala and ashtakavarga by describing its exact output focus and authoritative basis (BPHS).

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 specific use contexts: Vedic birth chart analysis, dasha prediction, transit interpretation, and yoga assessment. It does not explicitly name an alternative endpoint or state 'when not to use this', but the intended context is clearly implied and distinguishable from sibling tools.

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

post_vedic_astrology_transitTransit Analysis - Compare current planets to natal chart (Gochar)A
Read-only
Inspect

Analyze planetary transits (Gochar) over natal chart positions. Each transiting graha comes back with TWO whole-sign house numbers, because the two readings answer different questions: houseFromMoon is counted from the natal Moon sign (Janma Rashi), which is the reference classical Gochara uses, and natalHouse is counted from the Lagna. Also returns graha drishti onto the natal grahas (7th for every graha, plus Mars 4th and 8th, Jupiter 5th and 9th, Saturn 3rd and 10th), degree-based angular aspects with orbs, the Gochara Kaksha verdict, and highlighted transits from the slow-moving grahas (Jupiter, Saturn, Rahu, Ketu). Essential for timing predictions, event forecasting, and understanding current planetary influences. Transit analysis API, gochar calculator, vedic transit predictions, Chandra Lagna gochara, graha drishti.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
latitudeYesObserver latitude in decimal degrees. Determines Placidus house cusps for natal chart house assignments.
timezoneNoTimezone offset from UTC in hours. Defaults to 5.5 (IST).
birthDateYesBirth date in YYYY-MM-DD format. Used to calculate the natal chart against which transits are analyzed.
birthTimeYesBirth time in HH:MM:SS format (24-hour). Critical for accurate natal Lagna and Placidus house cusps which determine transit house placements.
longitudeYesObserver longitude in decimal degrees. Affects local sidereal time for Lagna and house calculations.
transitDateYesTransit date to analyze in YYYY-MM-DD format. Planetary positions on this date are overlaid on the natal chart.
transitTimeNoTransit time in HH:MM:SS format (24-hour). Affects fast-moving planets like Moon. Defaults to noon.
coordinateSystemNoCoordinate system for longitude output. "sidereal" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. "tropical" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to "sidereal".sidereal

TDQS

A4.2/5.0
Behavior5/5

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

Beyond the read-only annotation, the description discloses substantial behavioral detail: two whole-sign house numbers (houseFromMoon vs natalHouse), specific graha drishti rules, orb-based angular aspects, Gochara Kaksha verdict, and slow-graha transit highlights. This tells an agent what to expect in the response without an output schema.

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 core description is front-loaded and information-dense, but the trailing keyword block ('Transit analysis API, gochar calculator, ...') adds no operational value and harms conciseness. The useful content could remain intact with that tail removed.

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?

With no output schema, the description compensates by enumerating key return sections: house numbers, drishti, orbs, Kaksha verdict, and highlighted transits. Combined with full schema coverage and read-only annotations, an agent has enough context to call and interpret the tool, though output specifics are not exhaustive.

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 covers all 9 parameters at 100% with clear, self-sufficient descriptions, so the description does not need to restate parameter meaning. It adds conceptual output context around Moon/Lagna houses, but not new parameter-level semantics. Baseline 3 applies.

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: 'Analyze planetary transits (Gochar) over natal chart positions.' The title further narrows it to comparing a transit date against the natal chart, which distinguishes it from sibling tools like transit_monthly or aspects even without naming them.

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?

Gives clear when-to-use context: 'Essential for timing predictions, event forecasting, and understanding current planetary influences.' However, it does not explicitly name alternative tools or state when this tool should not be used, so it stops short of full routing guidance.

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

post_vedic_astrology_transit_monthlyMonthly Transit - Planetary sign changes for an entire monthA
Read-only
Inspect

Get all planetary sign (rashi) changes for a given month. Shows when each planet transitions from one zodiac sign to another. Covers all 9 Vedic planets: Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu. Includes starting positions at the beginning of the month. Omit year and month to get the month in progress, so a published gochar calendar stays current without a redeploy. Essential for transit prediction, monthly horoscope generation, and muhurta planning. Monthly planetary transit API, gochar calendar, rashi parivartan dates.

ParametersJSON Schema
NameRequiredDescriptionDefault
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
yearNoYear for monthly transit analysis (1900-2100). Defaults to the current year (UTC).
monthNoMonth number (1-12) for transit analysis. Defaults to the current month (UTC).
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.
timezoneNoTimezone offset from UTC in hours. Output times are converted to this timezone. Defaults to 0 (UTC).
coordinateSystemNoCoordinate system for longitude output. "sidereal" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. "tropical" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to "sidereal".sidereal

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already mark the tool as read-only; the description adds genuinely useful behavior: it reports starting positions, covers all nine Vedic planets, and defines how omitting year/month produces the in-progress month. This goes beyond annotation data without contradicting it.

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

Conciseness4/5

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

The description is front-loaded with the core function, followed by coverage, defaults, and use cases. Only the trailing keyword phrase ('Monthly planetary transit API, gochar calendar, rashi parivartan dates.') is mildly redundant, but the overall length is appropriate.

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 read-only monthly tool, the description covers what the output represents, which planets are included, the default-month behavior, and intended use cases. There is no output schema, but the functional description gives an agent enough to select and call it; format details are less critical here.

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 description coverage is 100%, so the schema already documents every parameter. The description reinforces the year/month default behavior and the omission use case, but it does not need to compensate for undocumented parameters.

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?

Description opens with a specific verb and resource: 'Get all planetary sign (rashi) changes for a given month.' It further narrows the scope by naming all nine planets, transitions, and included starting positions, making it distinguishable from related transit tools like daily or aspects_monthly.

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 concrete when-to-use context: 'Essential for transit prediction, monthly horoscope generation, and muhurta planning,' and explains the omission pattern for keeping a gochar calendar current. It does not explicitly contrast with sibling transit endpoints, so it stops short of full alternative routing.

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

post_vedic_astrology_upagrahaGet upagraha (sub-planet) positions - Upagraha Calculator APIA
Read-only
Inspect

Calculate all 11 Vedic upagraha (sub-planet) positions per Brihat Parashara Hora Shastra (BPHS). Returns 6 time-based upagrahas (Gulika, Mandi, Kala, Mrityu, Ardhaprahara, Yamaghantaka) derived from the 8-part day/night division, plus 5 Sun-longitude-based upagrahas (Dhuma, Vyatipata, Parivesha, Indra Chapa, Upaketu). Essential for complete kundli analysis, dosha assessment, and advanced chart interpretation. Upagraha calculator API, Gulika Mandi position, sub-planet Vedic astrology.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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.
ayanamsaNoSidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
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.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description carries a lower burden. It adds context about the derivation (8-part day/night division, Sun-longitude-based) but does not disclose additional behavioral traits beyond what annotations imply.

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

Conciseness4/5

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

The description is mostly concise with two main sentences and a list of upagrahas. However, it ends with redundant keyword phrases like 'Upagraha calculator API, Gulika Mandi position, sub-planet Vedic astrology' which add no value and could be removed.

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

Completeness2/5

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

The tool has 8 parameters and no output schema, yet the description fails to explain what the output looks like (e.g., positions in degrees, format). Given the complexity and many sibling tools, the lack of output description is a significant gap.

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 description coverage is 100%, so baseline is 3. The description adds no extra meaning to parameters beyond what the schema already provides (detailed descriptions for date, time, latitude, etc.).

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 clearly states the tool calculates all 11 Vedic upagraha positions per BPHS, listing both time-based and Sun-longitude-based upagrahas. It differentiates itself from sibling tools by specifying the exact content and source.

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

Usage Guidelines3/5

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

The description mentions the tool is essential for kundli analysis, dosha assessment, and advanced chart interpretation, implying usage context. However, it does not explicitly state when to use this tool over alternatives like other post_vedic_astrology tools, nor does it provide when-not-to-use guidance.

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

post_vedic_astrology_yoga_detectDetect classical Vedic yogas in a birth chartA
Read-only
Inspect

Chart-driven detection of 48 classical Vedic yogas. Twelve conjunction and dignity yogas: Gajakesari (parashara three-rule definition), Sunapha, Anapha, Dhurdhura, Kemadruma, Chandra Mangala, Budha-Aditya, and the five Pancha Mahapurusha yogas (Ruchaka, Bhadra, Hamsa, Malavya, Sasa). Plus all 32 Nabhasa distribution yogas, which describe how the seven visible grahas are spread across the whole chart rather than any single conjunction, across four families: Asraya (Rajju, Musala, Nala), Dala (Mala, Sarpa), Akriti (Gada, Shakata, Vihaga, Shringataka, Hala, Vajra, Yava, Kamala, Vapi, Yupa, Shara, Shakti, Danda, Nauka, Kuta, Chhatra, Dhanusha, Ardhachandra, Chakra, Samudra) and Sankhya (Gola, Yuga, Shoola, Kedara, Pasa, Damini, Veena). Plus four wealth and poverty verdicts, each ONE answer over a whole family of classical rules: Dhana Yoga over the eleven catalogued wealth combinations of BPHS ch. 41, Daridra Yoga over the poverty combinations of BPHS ch. 42 and Phaladeepika ch. 6, Lakshmi Yoga (BPHS ch. 36), and Dhana Malika (Jataka Parijata ch. 7). Their evidence names every rule that matched and the exact condition it matched on, so a wealth reading cites the combination rather than a label, and a rule resting on a single authority is excluded from the verdict and says so rather than quietly counting. Each yoga is returned with an id, name, a present boolean, a quality (Positive, Negative, or Both, i.e. auspicious, inauspicious, or context-dependent), and a classical-text evidence string naming the rule that triggered or failed (kendra position, dignity, malefic drishti, lordship, retrograde state, sign modality, bhava distribution). Nabhasa results also apply the four classical precedence norms, so a yoga that matched its own rule but was outranked by a stronger family is returned as absent with evidence naming the norm that silenced it, letting you explain a verdict rather than only report it. There is no separate major/minor flag; quality is the auspiciousness axis. Unlike GET /yoga and GET /yoga/{id} which are dictionary lookups, this endpoint computes the kundli from birth data and runs the detection rules. Sources: BPHS ch. 35 and ch. 75, Mantreswara Phaladeepika ch. 6, B.V. Raman Three Hundred Important Combinations.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesBirth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas).
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
timeYesBirth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect.
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.
ayanamsaNoSidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.lahiri
latitudeYesBirth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172.
timezoneNoTimezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5.
longitudeYesBirth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240.
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.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond annotations: the return shape (id, name, present, quality, evidence), the quality axis, the absence of a separate major/minor flag, the application of four precedence norms, and the exclusion of single-authority rules. This is far richer than the annotation baseline and there is no contradiction.

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?

The description is long only because the endpoint itself deals with 48 yogas across several families and needs to document return semantics. Every sentence adds value: scope, the full enumeration, the evidence behavior, precedence norms, quality semantics, and sources. It is well structured and front-loaded with the tool's essence.

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 endpoint's complexity and the absence of an output schema, the description is unusually complete. It explains the return fields, how absence because of precedence is reported, how evidence names rules, how quality relates to the auspiciousness axis, and the sanitizing exclusion of single-authority rules. No important calling behavior has been left unexplained.

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 description coverage is 100%, so the input schema fully documents date, time, latitude, longitude, ayanamsa, timezone, etc. The description adds the domain-level note that the endpoint computes the kundli 'from birth data', but it does not need to repeat parameter-level details; the schema already carries that burden. This is the correct baseline for high schema coverage.

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 an exact verb and resource: 'Chart-driven detection of 48 classical Vedic yogas.' It enumerates the yogas covered and explicitly contrasts the tool with GET /yoga and GET /yoga/{id}, so an agent can distinguish it from the dictionary-lookup siblings without opening schemas.

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

Usage Guidelines5/5

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

The description explicitly says when this endpoint is the right choice versus alternatives: 'Unlike GET /yoga and GET /yoga/{id} which are dictionary lookups, this endpoint computes the kundli from birth data and runs the detection rules.' This gives clear selection guidance and a named exclusion. It also makes obvious that required birth parameters are appropriate here.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updates
    • Changedpost_vedic_astrology_aspects1 field changed
      • changedInput schema / properties / coordinateSystem / description
        Previous value: -"Coordinate system for longitude output. \"sidereal\" (Nirayana) uses Lahiri ayanamsa - standard for Vedic astrology. \"tropical\" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to \"sidereal\"."New value: +"Coordinate system for longitude output. \"sidereal\" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. \"tropical\" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to \"sidereal\"."
    • Changedpost_vedic_astrology_aspects_lunar1 field changed
      • changedInput schema / properties / coordinateSystem / description
        Previous value: -"Coordinate system for longitude output. \"sidereal\" (Nirayana) uses Lahiri ayanamsa - standard for Vedic astrology. \"tropical\" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to \"sidereal\"."New value: +"Coordinate system for longitude output. \"sidereal\" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. \"tropical\" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to \"sidereal\"."
    • Changedpost_vedic_astrology_aspects_monthly1 field changed
      • changedInput schema / properties / coordinateSystem / description
        Previous value: -"Coordinate system for longitude output. \"sidereal\" (Nirayana) uses Lahiri ayanamsa - standard for Vedic astrology. \"tropical\" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to \"sidereal\"."New value: +"Coordinate system for longitude output. \"sidereal\" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. \"tropical\" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to \"sidereal\"."
    • Changedpost_vedic_astrology_ecliptic_crossings1 field changed
      • changedInput schema / properties / coordinateSystem / description
        Previous value: -"Coordinate system for longitude output. \"sidereal\" (Nirayana) uses Lahiri ayanamsa - standard for Vedic astrology. \"tropical\" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to \"sidereal\"."New value: +"Coordinate system for longitude output. \"sidereal\" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. \"tropical\" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to \"sidereal\"."
    • Changedpost_vedic_astrology_planetary_positions_monthly1 field changed
      • changedInput schema / properties / coordinateSystem / description
        Previous value: -"Coordinate system for longitude output. \"sidereal\" (Nirayana) uses Lahiri ayanamsa - standard for Vedic astrology. \"tropical\" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to \"sidereal\"."New value: +"Coordinate system for longitude output. \"sidereal\" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. \"tropical\" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to \"sidereal\"."
    • Changedpost_vedic_astrology_transit1 field changed
      • changedInput schema / properties / coordinateSystem / description
        Previous value: -"Coordinate system for longitude output. \"sidereal\" (Nirayana) uses Lahiri ayanamsa - standard for Vedic astrology. \"tropical\" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to \"sidereal\"."New value: +"Coordinate system for longitude output. \"sidereal\" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. \"tropical\" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to \"sidereal\"."
    • Changedpost_vedic_astrology_transit_monthly1 field changed
      • changedInput schema / properties / coordinateSystem / description
        Previous value: -"Coordinate system for longitude output. \"sidereal\" (Nirayana) uses Lahiri ayanamsa - standard for Vedic astrology. \"tropical\" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to \"sidereal\"."New value: +"Coordinate system for longitude output. \"sidereal\" (Nirayana) uses Lahiri ayanamsa, the standard for Vedic astrology. \"tropical\" (Sayana) uses raw ecliptic longitude matching Western astrology. Defaults to \"sidereal\"."
  2. 41 tool updates
    • Changedget_vedic_astrology_avasthas2 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"
        +]
    • Changedget_vedic_astrology_avasthas_id2 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"
        +]
    • Changedget_vedic_astrology_nakshatras2 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"
        +]
    • Changedget_vedic_astrology_nakshatras_id2 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"
        +]
    • Changedget_vedic_astrology_rashis2 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"
        +]
    • Changedget_vedic_astrology_rashis_id2 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"
        +]
    • Changedget_vedic_astrology_yoga2 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"
        +]
    • Changedget_vedic_astrology_yoga_id2 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"
        +]
    • Changedpost_vedic_astrology_arudha2 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"
        +]
    • Changedpost_vedic_astrology_aspects_lunar2 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"
        +]
    • Changedpost_vedic_astrology_aspects_monthly2 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"
        +]
    • Changedpost_vedic_astrology_bhav_chalit2 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"
        +]
    • Changedpost_vedic_astrology_bhava_bala2 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"
        +]
    • Changedpost_vedic_astrology_birth_chart2 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"
        +]
    • Changedpost_vedic_astrology_chara_karakas2 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"
        +]
    • Changedpost_vedic_astrology_compatibility2 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"
        +]
    • Changedpost_vedic_astrology_daily2 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"
        +]
    • Changedpost_vedic_astrology_dasha_current2 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"
        +]
    • Changedpost_vedic_astrology_dasha_major2 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"
        +]
    • Changedpost_vedic_astrology_dasha_sub_mahadasha2 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"
        +]
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha2 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"
        +]
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha_pratyantardasha2 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"
        +]
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha_pratyantardasha_sookshma2 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"
        +]
    • Changedpost_vedic_astrology_divisional_chart2 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"
        +]
    • Changedpost_vedic_astrology_dosha_kalsarpa2 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"
        +]
    • Changedpost_vedic_astrology_dosha_manglik2 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"
        +]
    • Changedpost_vedic_astrology_dosha_sadhesati2 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"
        +]
    • Changedpost_vedic_astrology_kp_chart2 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"
        +]
    • Changedpost_vedic_astrology_kp_cusps2 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"
        +]
    • Changedpost_vedic_astrology_kp_horary2 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"
        +]
    • Changedpost_vedic_astrology_kp_ruling_planets2 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"
        +]
    • Changedpost_vedic_astrology_kp_ruling_planets_interval2 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"
        +]
    • Changedpost_vedic_astrology_navamsa2 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"
        +]
    • Changedpost_vedic_astrology_panchang_basic2 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"
        +]
    • Changedpost_vedic_astrology_panchang_detailed2 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"
        +]
    • Changedpost_vedic_astrology_parallels_monthly2 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"
        +]
    • Changedpost_vedic_astrology_planetary_positions2 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"
        +]
    • Changedpost_vedic_astrology_planetary_positions_monthly2 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"
        +]
    • Changedpost_vedic_astrology_shadbala2 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"
        +]
    • Changedpost_vedic_astrology_transit_monthly2 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"
        +]
    • Changedpost_vedic_astrology_yoga_detect2 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. 55 tool updates
    • Changedget_vedic_astrology_avasthas2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {}
        +]
      • 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."
    • Changedget_vedic_astrology_avasthas_id2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "id": "dipta"
        +  }
        +]
      • 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."
    • Changedget_vedic_astrology_kp_ayanamsa2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {}
        +]
      • 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."
    • Changedget_vedic_astrology_nakshatras2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {}
        +]
      • 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."
    • Changedget_vedic_astrology_nakshatras_id2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "id": "ashwini"
        +  }
        +]
      • 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."
    • Changedget_vedic_astrology_rashis2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {}
        +]
      • 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."
    • Changedget_vedic_astrology_rashis_id2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "id": "mesha"
        +  }
        +]
      • 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."
    • Changedget_vedic_astrology_yoga2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {}
        +]
      • 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."
    • Changedget_vedic_astrology_yoga_id2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "id": "gajakesari"
        +  }
        +]
      • 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."
    • Changedpost_vedic_astrology_arudha2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_ashtakavarga2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_aspects2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "2026-02-03",
        +    "latitude": 17.385044,
        +    "longitude": 78.486671,
        +    "time": "12:00: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."
    • Changedpost_vedic_astrology_aspects_lunar2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {}
        +]
      • 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."
    • Changedpost_vedic_astrology_aspects_monthly2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {}
        +]
      • 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."
    • Changedpost_vedic_astrology_bhav_chalit2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_bhava_bala2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_birth_chart2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_chara_karakas2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_compatibility2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "person1": {
        +      "date": "1990-07-04",
        +      "latitude": 28.6139,
        +      "longitude": 77.209,
        +      "time": "10:12:00"
        +    },
        +    "person2": {
        +      "date": "1990-07-04",
        +      "latitude": 28.6139,
        +      "longitude": 77.209,
        +      "time": "10:12: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."
    • Addedpost_vedic_astrology_daily
    • Changedpost_vedic_astrology_dasha_current2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_dasha_major2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_dasha_sub_mahadasha2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "mahadasha": "Jupiter",
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "antardasha": "Venus",
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "mahadasha": "Saturn",
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha_pratyantardasha2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "antardasha": "Venus",
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "mahadasha": "Saturn",
        +    "pratyantardasha": "Rahu",
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha_pratyantardasha_sookshma2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "antardasha": "Venus",
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "mahadasha": "Saturn",
        +    "pratyantardasha": "Rahu",
        +    "sookshma": "Jupiter",
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_divisional_chart2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "division": 10,
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_dosha_kalsarpa2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_dosha_manglik2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_dosha_sadhesati2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_ecliptic_crossings2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "year": 2026
        +  }
        +]
      • 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."
    • Changedpost_vedic_astrology_heliacal2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "2026-07-25",
        +    "latitude": 19.076,
        +    "longitude": 72.8777
        +  }
        +]
      • 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."
    • Changedpost_vedic_astrology_kp_chart2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_kp_cusps2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_kp_horary2 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."
    • Changedpost_vedic_astrology_kp_planets2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_kp_planets_interval2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "endDatetime": "2025-01-15T23:59:00Z",
        +    "intervalMinutes": 60,
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "startDatetime": "2025-01-15T00:00:00Z"
        +  }
        +]
      • 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."
    • Changedpost_vedic_astrology_kp_rasi_changes2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "endDate": "2025-12-31",
        +    "planet": "Sun",
        +    "startDate": "2025-01-01"
        +  }
        +]
      • 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."
    • Changedpost_vedic_astrology_kp_ruling_planets2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "latitude": 28.6139,
        +    "longitude": 77.209
        +  }
        +]
      • 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."
    • Changedpost_vedic_astrology_kp_ruling_planets_interval2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "endDatetime": "2026-02-03T01:00:00Z",
        +    "intervalMinutes": 5,
        +    "latitude": 17.385044,
        +    "longitude": 78.486671,
        +    "startDatetime": "2026-02-03T00:00:00Z"
        +  }
        +]
      • 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."
    • Changedpost_vedic_astrology_kp_sublord_changes2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "endDate": "2025-01-31",
        +    "planet": "Moon",
        +    "startDate": "2025-01-01"
        +  }
        +]
      • 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."
    • Changedpost_vedic_astrology_navamsa2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_panchang_basic2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "2025-12-17",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "12:00: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."
    • Changedpost_vedic_astrology_panchang_choghadiya2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "2026-02-03",
        +    "latitude": 17.385044,
        +    "longitude": 78.486671
        +  }
        +]
      • 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."
    • Changedpost_vedic_astrology_panchang_detailed2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "2026-02-03",
        +    "latitude": 28.6139,
        +    "longitude": 77.209
        +  }
        +]
      • 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."
    • Changedpost_vedic_astrology_panchang_hora2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "2026-02-03",
        +    "latitude": 17.385044,
        +    "longitude": 78.486671
        +  }
        +]
      • 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."
    • Changedpost_vedic_astrology_parallels2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "2026-02-03",
        +    "latitude": 17.385044,
        +    "longitude": 78.486671,
        +    "time": "12:00: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."
    • Changedpost_vedic_astrology_parallels_monthly2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {}
        +]
      • 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."
    • Changedpost_vedic_astrology_planetary_positions2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_planetary_positions_monthly2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {}
        +]
      • 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."
    • Changedpost_vedic_astrology_shadbala2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_transit2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "birthDate": "1990-07-04",
        +    "birthTime": "10:12:00",
        +    "latitude": 17.385044,
        +    "longitude": 78.486671,
        +    "transitDate": "2026-02-03"
        +  }
        +]
      • 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."
    • Changedpost_vedic_astrology_transit_monthly2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {}
        +]
      • 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."
    • Changedpost_vedic_astrology_upagraha2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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."
    • Changedpost_vedic_astrology_yoga_detect2 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "date": "1990-07-04",
        +    "latitude": 28.6139,
        +    "longitude": 77.209,
        +    "time": "10:12: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. 8 tool updates
    • Changedpost_vedic_astrology_kp_chart1 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\"."
    • Changedpost_vedic_astrology_kp_horary1 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\"."
    • Changedpost_vedic_astrology_kp_planets1 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\"."
    • Changedpost_vedic_astrology_kp_planets_interval1 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\"."
    • Changedpost_vedic_astrology_kp_rasi_changes1 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\"."
    • Changedpost_vedic_astrology_kp_ruling_planets1 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\"."
    • Changedpost_vedic_astrology_kp_ruling_planets_interval1 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\"."
    • Changedpost_vedic_astrology_kp_sublord_changes1 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. 5 tool updates
    • Changedpost_vedic_astrology_aspects_lunar4 fields changed
      • addedInput schema / properties / lang
        Added value: +{
        +  "default": "en",
        +  "description": "Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.",
        +  "enum": [
        +    "en",
        +    "tr",
        +    "de",
        +    "es",
        +    "hi",
        +    "pt",
        +    "fr",
        +    "ru"
        +  ],
        +  "example": "en",
        +  "type": "string"
        +}
      • changedInput schema / properties / month / description
        Previous value: -"Month number (1-12)."New value: +"Month number (1-12). Defaults to the current month (UTC)."
      • changedInput schema / properties / year / description
        Previous value: -"Year for monthly analysis (1900-2100)."New value: +"Year for monthly analysis (1900-2100). Defaults to the current year (UTC)."
      • removedInput schema / required
        Removed value: -[
        -  "year",
        -  "month"
        -]
    • Changedpost_vedic_astrology_aspects_monthly4 fields changed
      • addedInput schema / properties / lang
        Added value: +{
        +  "default": "en",
        +  "description": "Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.",
        +  "enum": [
        +    "en",
        +    "tr",
        +    "de",
        +    "es",
        +    "hi",
        +    "pt",
        +    "fr",
        +    "ru"
        +  ],
        +  "example": "en",
        +  "type": "string"
        +}
      • changedInput schema / properties / month / description
        Previous value: -"Month number (1-12)."New value: +"Month number (1-12). Defaults to the current month (UTC)."
      • changedInput schema / properties / year / description
        Previous value: -"Year for monthly analysis (1900-2100)."New value: +"Year for monthly analysis (1900-2100). Defaults to the current year (UTC)."
      • removedInput schema / required
        Removed value: -[
        -  "year",
        -  "month"
        -]
    • Changedpost_vedic_astrology_parallels_monthly4 fields changed
      • addedInput schema / properties / lang
        Added value: +{
        +  "default": "en",
        +  "description": "Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.",
        +  "enum": [
        +    "en",
        +    "tr",
        +    "de",
        +    "es",
        +    "hi",
        +    "pt",
        +    "fr",
        +    "ru"
        +  ],
        +  "example": "en",
        +  "type": "string"
        +}
      • changedInput schema / properties / month / description
        Previous value: -"Month number (1-12) for parallel analysis."New value: +"Month number (1-12) for parallel analysis. Defaults to the current month (UTC)."
      • changedInput schema / properties / year / description
        Previous value: -"Year for monthly parallel analysis (1900-2100)."New value: +"Year for monthly parallel analysis (1900-2100). Defaults to the current year (UTC)."
      • removedInput schema / required
        Removed value: -[
        -  "year",
        -  "month"
        -]
    • Changedpost_vedic_astrology_planetary_positions_monthly4 fields changed
      • addedInput schema / properties / lang
        Added value: +{
        +  "default": "en",
        +  "description": "Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.",
        +  "enum": [
        +    "en",
        +    "tr",
        +    "de",
        +    "es",
        +    "hi",
        +    "pt",
        +    "fr",
        +    "ru"
        +  ],
        +  "example": "en",
        +  "type": "string"
        +}
      • changedInput schema / properties / month / description
        Previous value: -"Month number (1-12) for ephemeris."New value: +"Month number (1-12) for ephemeris. Defaults to the current month (UTC)."
      • changedInput schema / properties / year / description
        Previous value: -"Year for monthly ephemeris (1900-2100)."New value: +"Year for monthly ephemeris (1900-2100). Defaults to the current year (UTC)."
      • removedInput schema / required
        Removed value: -[
        -  "year",
        -  "month"
        -]
    • Changedpost_vedic_astrology_transit_monthly4 fields changed
      • addedInput schema / properties / lang
        Added value: +{
        +  "default": "en",
        +  "description": "Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.",
        +  "enum": [
        +    "en",
        +    "tr",
        +    "de",
        +    "es",
        +    "hi",
        +    "pt",
        +    "fr",
        +    "ru"
        +  ],
        +  "example": "en",
        +  "type": "string"
        +}
      • changedInput schema / properties / month / description
        Previous value: -"Month number (1-12) for transit analysis."New value: +"Month number (1-12) for transit analysis. Defaults to the current month (UTC)."
      • changedInput schema / properties / year / description
        Previous value: -"Year for monthly transit analysis (1900-2100)."New value: +"Year for monthly transit analysis (1900-2100). Defaults to the current year (UTC)."
      • removedInput schema / required
        Removed value: -[
        -  "year",
        -  "month"
        -]
  6. 1 tool update
    • Addedpost_vedic_astrology_heliacal
  7. 17 tool updates
    • Changedpost_vedic_astrology_arudha2 fields changed
      • addedInput schema / properties / ayanamsa
        Added value: +{
        +  "default": "lahiri",
        +  "description": "Sidereal frame (ayanamsa) the chart is cast in. \"lahiri\" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. \"raman\" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. \"kp-newcomb\" and \"kp-old\" are the two Krishnamurti Paddhati frames. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.",
        +  "enum": [
        +    "kp-newcomb",
        +    "kp-old",
        +    "lahiri",
        +    "raman",
        +    "custom"
        +  ],
        +  "example": "lahiri",
        +  "type": "string"
        +}
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
    • Changedpost_vedic_astrology_ashtakavarga2 fields changed
      • addedInput schema / properties / ayanamsa
        Added value: +{
        +  "default": "lahiri",
        +  "description": "Sidereal frame (ayanamsa) the chart is cast in. \"lahiri\" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. \"raman\" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. \"kp-newcomb\" and \"kp-old\" are the two Krishnamurti Paddhati frames. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.",
        +  "enum": [
        +    "kp-newcomb",
        +    "kp-old",
        +    "lahiri",
        +    "raman",
        +    "custom"
        +  ],
        +  "example": "lahiri",
        +  "type": "string"
        +}
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
    • Changedpost_vedic_astrology_bhav_chalit2 fields changed
      • addedInput schema / properties / ayanamsa
        Added value: +{
        +  "default": "lahiri",
        +  "description": "Sidereal frame (ayanamsa) the chart is cast in. \"lahiri\" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. \"raman\" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. \"kp-newcomb\" and \"kp-old\" are the two Krishnamurti Paddhati frames. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.",
        +  "enum": [
        +    "kp-newcomb",
        +    "kp-old",
        +    "lahiri",
        +    "raman",
        +    "custom"
        +  ],
        +  "example": "lahiri",
        +  "type": "string"
        +}
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
    • Changedpost_vedic_astrology_bhava_bala2 fields changed
      • addedInput schema / properties / ayanamsa
        Added value: +{
        +  "default": "lahiri",
        +  "description": "Sidereal frame (ayanamsa) the chart is cast in. \"lahiri\" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. \"raman\" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. \"kp-newcomb\" and \"kp-old\" are the two Krishnamurti Paddhati frames. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.",
        +  "enum": [
        +    "kp-newcomb",
        +    "kp-old",
        +    "lahiri",
        +    "raman",
        +    "custom"
        +  ],
        +  "example": "lahiri",
        +  "type": "string"
        +}
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
    • Changedpost_vedic_astrology_birth_chart3 fields changed
      • addedInput schema / properties / ayanamsa
        Added value: +{
        +  "default": "lahiri",
        +  "description": "Sidereal frame (ayanamsa) the chart is cast in. \"lahiri\" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. \"raman\" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. \"kp-newcomb\" and \"kp-old\" are the two Krishnamurti Paddhati frames. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.",
        +  "enum": [
        +    "kp-newcomb",
        +    "kp-old",
        +    "lahiri",
        +    "raman",
        +    "custom"
        +  ],
        +  "example": "lahiri",
        +  "type": "string"
        +}
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
      • addedInput schema / properties / modernPlanets
        Added value: +{
        +  "default": false,
        +  "description": "Set true to also return Uranus, Neptune and Pluto, under the Sanskrit names Arun, Varun and Yam that Indian software prints for them. They arrive in a separate modernPlanets array, NOT inside meta, because classical Jyotish is defined over nine grahas: the moderns rule no sign, so they have no dignity, avastha, combustion or aspect strength and it would be fabrication to report one. Each carries longitude, rashi, degree in sign, nakshatra with pada and lord, and retrograde status. Defaults to false, so an existing integration is byte-identical until it opts in.",
        +  "example": true,
        +  "type": "boolean"
        +}
    • Changedpost_vedic_astrology_chara_karakas2 fields changed
      • addedInput schema / properties / ayanamsa
        Added value: +{
        +  "default": "lahiri",
        +  "description": "Sidereal frame (ayanamsa) the chart is cast in. \"lahiri\" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. \"raman\" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. \"kp-newcomb\" and \"kp-old\" are the two Krishnamurti Paddhati frames. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.",
        +  "enum": [
        +    "kp-newcomb",
        +    "kp-old",
        +    "lahiri",
        +    "raman",
        +    "custom"
        +  ],
        +  "example": "lahiri",
        +  "type": "string"
        +}
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
    • Changedpost_vedic_astrology_compatibility2 fields changed
      • addedInput schema / properties / ayanamsa
        Added value: +{
        +  "default": "lahiri",
        +  "description": "Sidereal frame (ayanamsa) the chart is cast in. \"lahiri\" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. \"raman\" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. \"kp-newcomb\" and \"kp-old\" are the two Krishnamurti Paddhati frames. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.",
        +  "enum": [
        +    "kp-newcomb",
        +    "kp-old",
        +    "lahiri",
        +    "raman",
        +    "custom"
        +  ],
        +  "example": "lahiri",
        +  "type": "string"
        +}
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
    • Changedpost_vedic_astrology_divisional_chart2 fields changed
      • addedInput schema / properties / ayanamsa
        Added value: +{
        +  "default": "lahiri",
        +  "description": "Sidereal frame (ayanamsa) the chart is cast in. \"lahiri\" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. \"raman\" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. \"kp-newcomb\" and \"kp-old\" are the two Krishnamurti Paddhati frames. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.",
        +  "enum": [
        +    "kp-newcomb",
        +    "kp-old",
        +    "lahiri",
        +    "raman",
        +    "custom"
        +  ],
        +  "example": "lahiri",
        +  "type": "string"
        +}
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
    • Changedpost_vedic_astrology_dosha_kalsarpa3 fields changed
      • addedInput schema / properties / ayanamsa
        Added value: +{
        +  "default": "lahiri",
        +  "description": "Sidereal frame (ayanamsa) the chart is cast in. \"lahiri\" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. \"raman\" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. \"kp-newcomb\" and \"kp-old\" are the two Krishnamurti Paddhati frames. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.",
        +  "enum": [
        +    "kp-newcomb",
        +    "kp-old",
        +    "lahiri",
        +    "raman",
        +    "custom"
        +  ],
        +  "example": "lahiri",
        +  "type": "string"
        +}
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
      • addedInput schema / properties / lang
        Added value: +{
        +  "default": "en",
        +  "description": "Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.",
        +  "enum": [
        +    "en",
        +    "tr",
        +    "de",
        +    "es",
        +    "hi",
        +    "pt",
        +    "fr",
        +    "ru"
        +  ],
        +  "example": "en",
        +  "type": "string"
        +}
    • Changedpost_vedic_astrology_dosha_manglik3 fields changed
      • addedInput schema / properties / ayanamsa
        Added value: +{
        +  "default": "lahiri",
        +  "description": "Sidereal frame (ayanamsa) the chart is cast in. \"lahiri\" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. \"raman\" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. \"kp-newcomb\" and \"kp-old\" are the two Krishnamurti Paddhati frames. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.",
        +  "enum": [
        +    "kp-newcomb",
        +    "kp-old",
        +    "lahiri",
        +    "raman",
        +    "custom"
        +  ],
        +  "example": "lahiri",
        +  "type": "string"
        +}
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
      • addedInput schema / properties / lang
        Added value: +{
        +  "default": "en",
        +  "description": "Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.",
        +  "enum": [
        +    "en",
        +    "tr",
        +    "de",
        +    "es",
        +    "hi",
        +    "pt",
        +    "fr",
        +    "ru"
        +  ],
        +  "example": "en",
        +  "type": "string"
        +}
    • Changedpost_vedic_astrology_dosha_sadhesati3 fields changed
      • addedInput schema / properties / ayanamsa
        Added value: +{
        +  "default": "lahiri",
        +  "description": "Sidereal frame (ayanamsa) the chart is cast in. \"lahiri\" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. \"raman\" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. \"kp-newcomb\" and \"kp-old\" are the two Krishnamurti Paddhati frames. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.",
        +  "enum": [
        +    "kp-newcomb",
        +    "kp-old",
        +    "lahiri",
        +    "raman",
        +    "custom"
        +  ],
        +  "example": "lahiri",
        +  "type": "string"
        +}
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
      • addedInput schema / properties / lang
        Added value: +{
        +  "default": "en",
        +  "description": "Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.",
        +  "enum": [
        +    "en",
        +    "tr",
        +    "de",
        +    "es",
        +    "hi",
        +    "pt",
        +    "fr",
        +    "ru"
        +  ],
        +  "example": "en",
        +  "type": "string"
        +}
    • Addedpost_vedic_astrology_kp_horary
    • Changedpost_vedic_astrology_navamsa2 fields changed
      • addedInput schema / properties / ayanamsa
        Added value: +{
        +  "default": "lahiri",
        +  "description": "Sidereal frame (ayanamsa) the chart is cast in. \"lahiri\" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. \"raman\" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. \"kp-newcomb\" and \"kp-old\" are the two Krishnamurti Paddhati frames. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.",
        +  "enum": [
        +    "kp-newcomb",
        +    "kp-old",
        +    "lahiri",
        +    "raman",
        +    "custom"
        +  ],
        +  "example": "lahiri",
        +  "type": "string"
        +}
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
    • Changedpost_vedic_astrology_planetary_positions2 fields changed
      • addedInput schema / properties / ayanamsa
        Added value: +{
        +  "default": "lahiri",
        +  "description": "Sidereal frame (ayanamsa) the chart is cast in. \"lahiri\" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. \"raman\" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. \"kp-newcomb\" and \"kp-old\" are the two Krishnamurti Paddhati frames. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.",
        +  "enum": [
        +    "kp-newcomb",
        +    "kp-old",
        +    "lahiri",
        +    "raman",
        +    "custom"
        +  ],
        +  "example": "lahiri",
        +  "type": "string"
        +}
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
    • Changedpost_vedic_astrology_shadbala3 fields changed
      • addedInput schema / properties / ayanamsa
        Added value: +{
        +  "default": "lahiri",
        +  "description": "Sidereal frame (ayanamsa) the chart is cast in. \"lahiri\" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. \"raman\" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. \"kp-newcomb\" and \"kp-old\" are the two Krishnamurti Paddhati frames. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.",
        +  "enum": [
        +    "kp-newcomb",
        +    "kp-old",
        +    "lahiri",
        +    "raman",
        +    "custom"
        +  ],
        +  "example": "lahiri",
        +  "type": "string"
        +}
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
      • addedInput schema / properties / lang
        Added value: +{
        +  "default": "en",
        +  "description": "Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.",
        +  "enum": [
        +    "en",
        +    "tr",
        +    "de",
        +    "es",
        +    "hi",
        +    "pt",
        +    "fr",
        +    "ru"
        +  ],
        +  "example": "en",
        +  "type": "string"
        +}
    • Changedpost_vedic_astrology_upagraha2 fields changed
      • addedInput schema / properties / ayanamsa
        Added value: +{
        +  "default": "lahiri",
        +  "description": "Sidereal frame (ayanamsa) the chart is cast in. \"lahiri\" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. \"raman\" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. \"kp-newcomb\" and \"kp-old\" are the two Krishnamurti Paddhati frames. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.",
        +  "enum": [
        +    "kp-newcomb",
        +    "kp-old",
        +    "lahiri",
        +    "raman",
        +    "custom"
        +  ],
        +  "example": "lahiri",
        +  "type": "string"
        +}
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
    • Changedpost_vedic_astrology_yoga_detect2 fields changed
      • addedInput schema / properties / ayanamsa
        Added value: +{
        +  "default": "lahiri",
        +  "description": "Sidereal frame (ayanamsa) the chart is cast in. \"lahiri\" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. \"raman\" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. \"kp-newcomb\" and \"kp-old\" are the two Krishnamurti Paddhati frames. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it.",
        +  "enum": [
        +    "kp-newcomb",
        +    "kp-old",
        +    "lahiri",
        +    "raman",
        +    "custom"
        +  ],
        +  "example": "lahiri",
        +  "type": "string"
        +}
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
  8. 2 tool updates
    • Addedpost_vedic_astrology_bhav_chalit
    • Addedpost_vedic_astrology_bhava_bala
  9. 13 tool updates
    • Changedpost_vedic_astrology_dasha_current2 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."New value: +"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"raman\" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri",
        -  "custom"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "raman",
        +  "custom"
        +]
    • Changedpost_vedic_astrology_dasha_major2 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."New value: +"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"raman\" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri",
        -  "custom"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "raman",
        +  "custom"
        +]
    • Changedpost_vedic_astrology_dasha_sub_mahadasha2 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."New value: +"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"raman\" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri",
        -  "custom"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "raman",
        +  "custom"
        +]
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha2 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."New value: +"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"raman\" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri",
        -  "custom"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "raman",
        +  "custom"
        +]
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha_pratyantardasha2 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."New value: +"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"raman\" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri",
        -  "custom"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "raman",
        +  "custom"
        +]
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha_pratyantardasha_sookshma2 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."New value: +"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"raman\" uses the B.V. Raman ayanamsa, the second frame traditional Indian software commonly offers beside Lahiri. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri",
        -  "custom"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "raman",
        +  "custom"
        +]
    • Changedpost_vedic_astrology_kp_chart2 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa 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. \"custom\" allows providing your own value via ayanamsaValue. Defaults to \"kp-newcomb\"."New value: +"Ayanamsa 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\"."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri",
        -  "custom"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "raman",
        +  "custom"
        +]
    • Changedpost_vedic_astrology_kp_cusps2 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa 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. \"custom\" allows providing your own value via ayanamsaValue. Defaults to \"kp-newcomb\"."New value: +"Ayanamsa 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\"."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri",
        -  "custom"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "raman",
        +  "custom"
        +]
    • Changedpost_vedic_astrology_kp_planets2 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa 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. \"custom\" allows providing your own value via ayanamsaValue. Defaults to \"kp-newcomb\"."New value: +"Ayanamsa 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\"."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri",
        -  "custom"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "raman",
        +  "custom"
        +]
    • Changedpost_vedic_astrology_kp_planets_interval2 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa 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. Defaults to \"kp-newcomb\"."New value: +"Ayanamsa 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\"."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "raman"
        +]
    • Changedpost_vedic_astrology_kp_rasi_changes2 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa 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. Defaults to \"kp-newcomb\"."New value: +"Ayanamsa 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\"."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "raman"
        +]
    • Changedpost_vedic_astrology_kp_ruling_planets_interval2 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa 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. Defaults to \"kp-newcomb\"."New value: +"Ayanamsa 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\"."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "raman"
        +]
    • Changedpost_vedic_astrology_kp_sublord_changes2 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa 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. Defaults to \"kp-newcomb\"."New value: +"Ayanamsa 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\"."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "raman"
        +]
  10. 1 tool update
    • Changedget_vedic_astrology_kp_ayanamsa1 field changed
      • changedInput schema / properties / timezone / example
        Previous value: -5.5New value: +"Asia/Kolkata"
  11. 2 tool updates
    • Changedget_vedic_astrology_yoga1 field changed
      • addedInput schema / properties / family
        Added value: +{
        +  "description": "Filter the catalog to one Nabhasa family: asraya (3), dala (2), akriti (20) or sankhya (7). Omit for the full catalog. `classical` is accepted but matches nothing here, because it is a detection-verdict value for single-combination yogas rather than a catalog grouping.",
        +  "enum": [
        +    "classical",
        +    "asraya",
        +    "dala",
        +    "akriti",
        +    "sankhya"
        +  ],
        +  "example": "akriti",
        +  "type": "string"
        +}
    • Changedpost_vedic_astrology_birth_chart1 field changed
      • addedInput schema / properties / avasthaInfo
        Added value: +{
        +  "default": false,
        +  "description": "Set true to include a localized meaning and one-sentence classical interpretation beside each graha avastha state, under avasthaInfo on that graha in meta. Defaults to false, so an existing integration is byte-identical until it opts in. Saves a second call to GET /avasthas and the client-side join that would otherwise be needed to turn Yuva or Swapna into readable text.",
        +  "example": true,
        +  "type": "boolean"
        +}
  12. 10 tool updates
    • Changedget_vedic_astrology_kp_ayanamsa2 fields changed
      • addedInput schema / properties / time
        Added value: +{
        +  "description": "Time of day in 24-hour HH:MM:SS format, interpreted in the timezone below. Omit for midnight UTC. The ayanamsa moves about 0.14 arcseconds across a day, so supplying the time matters only when reconciling a chart against reference software to the arcsecond.",
        +  "example": "09:00:00",
        +  "format": "time",
        +  "type": "string"
        +}
      • addedInput schema / properties / timezone
        Added value: +{
        +  "description": "IANA name (e.g. \"Asia/Kolkata\", \"America/New_York\"), decimal hours (e.g. 5.5 for IST, -5 for EST), or a fixed UTC offset (e.g. \"+05:30\"). IANA resolved to the DST-correct offset for the given date. Applies to the time field above. Defaults to 0 (UTC).",
        +  "example": 5.5,
        +  "type": "string"
        +}
    • Changedpost_vedic_astrology_dasha_current3 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."New value: +"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "custom"
        +]
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
    • Changedpost_vedic_astrology_dasha_major3 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."New value: +"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "custom"
        +]
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
    • Changedpost_vedic_astrology_dasha_sub_mahadasha3 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."New value: +"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "custom"
        +]
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha3 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."New value: +"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "custom"
        +]
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha_pratyantardasha3 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."New value: +"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "custom"
        +]
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha_pratyantardasha_sookshma3 fields changed
      • changedInput schema / properties / ayanamsa / description
        Previous value: -"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."New value: +"Ayanamsa system used to place the birth Moon in its nakshatra, which sets every dasha start and end date. \"lahiri\" uses Lahiri/Chitrapaksha, the traditional Vedic standard, and is the default. \"kp-newcomb\" uses the KP-Newcomb dynamic formula, matching Krishnamurti Paddhati software. \"kp-old\" uses the Krishnamurti original table from KP Reader-1. \"custom\" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. Switching frames shifts every dasha boundary by weeks, so pick the one your reference software uses."
      • changedInput schema / properties / ayanamsa / enum
        Previous value: -[
        -  "kp-newcomb",
        -  "kp-old",
        -  "lahiri"
        -]New value: +[
        +  "kp-newcomb",
        +  "kp-old",
        +  "lahiri",
        +  "custom"
        +]
      • addedInput schema / properties / ayanamsaValue
        Added value: +{
        +  "description": "Custom 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.",
        +  "example": 24,
        +  "type": "number"
        +}
    • Changedpost_vedic_astrology_kp_cusps2 fields changed
      • addedInput schema / properties / focus
        Added value: +{
        +  "default": "general",
        +  "description": "Which 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\".",
        +  "enum": [
        +    "general",
        +    "finance"
        +  ],
        +  "example": "general",
        +  "type": "string"
        +}
      • addedInput schema / properties / lang
        Added value: +{
        +  "default": "en",
        +  "description": "Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.",
        +  "enum": [
        +    "en",
        +    "tr",
        +    "de",
        +    "es",
        +    "hi",
        +    "pt",
        +    "fr",
        +    "ru"
        +  ],
        +  "example": "en",
        +  "type": "string"
        +}
    • Changedpost_vedic_astrology_kp_ruling_planets2 fields changed
      • addedInput schema / properties / focus
        Added value: +{
        +  "default": "general",
        +  "description": "Which 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\".",
        +  "enum": [
        +    "general",
        +    "finance"
        +  ],
        +  "example": "general",
        +  "type": "string"
        +}
      • addedInput schema / properties / lang
        Added value: +{
        +  "default": "en",
        +  "description": "Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.",
        +  "enum": [
        +    "en",
        +    "tr",
        +    "de",
        +    "es",
        +    "hi",
        +    "pt",
        +    "fr",
        +    "ru"
        +  ],
        +  "example": "en",
        +  "type": "string"
        +}
    • Changedpost_vedic_astrology_kp_ruling_planets_interval2 fields changed
      • addedInput schema / properties / focus
        Added value: +{
        +  "default": "general",
        +  "description": "Which 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\".",
        +  "enum": [
        +    "general",
        +    "finance"
        +  ],
        +  "example": "general",
        +  "type": "string"
        +}
      • addedInput schema / properties / lang
        Added value: +{
        +  "default": "en",
        +  "description": "Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.",
        +  "enum": [
        +    "en",
        +    "tr",
        +    "de",
        +    "es",
        +    "hi",
        +    "pt",
        +    "fr",
        +    "ru"
        +  ],
        +  "example": "en",
        +  "type": "string"
        +}
  13. 8 tool updates
    • Changedpost_vedic_astrology_birth_chart1 field changed
      • addedInput schema / properties / focus
        Added value: +{
        +  "default": "general",
        +  "description": "Which 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\".",
        +  "enum": [
        +    "general",
        +    "finance"
        +  ],
        +  "example": "general",
        +  "type": "string"
        +}
    • Changedpost_vedic_astrology_dasha_current1 field changed
      • addedInput schema / properties / focus
        Added value: +{
        +  "default": "general",
        +  "description": "Which 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\".",
        +  "enum": [
        +    "general",
        +    "finance"
        +  ],
        +  "example": "general",
        +  "type": "string"
        +}
    • Changedpost_vedic_astrology_dasha_major1 field changed
      • addedInput schema / properties / focus
        Added value: +{
        +  "default": "general",
        +  "description": "Which 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\".",
        +  "enum": [
        +    "general",
        +    "finance"
        +  ],
        +  "example": "general",
        +  "type": "string"
        +}
    • Changedpost_vedic_astrology_dasha_sub_mahadasha1 field changed
      • addedInput schema / properties / focus
        Added value: +{
        +  "default": "general",
        +  "description": "Which 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\".",
        +  "enum": [
        +    "general",
        +    "finance"
        +  ],
        +  "example": "general",
        +  "type": "string"
        +}
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha1 field changed
      • addedInput schema / properties / focus
        Added value: +{
        +  "default": "general",
        +  "description": "Which 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\".",
        +  "enum": [
        +    "general",
        +    "finance"
        +  ],
        +  "example": "general",
        +  "type": "string"
        +}
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha_pratyantardasha1 field changed
      • addedInput schema / properties / focus
        Added value: +{
        +  "default": "general",
        +  "description": "Which 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\".",
        +  "enum": [
        +    "general",
        +    "finance"
        +  ],
        +  "example": "general",
        +  "type": "string"
        +}
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha_pratyantardasha_sookshma1 field changed
      • addedInput schema / properties / focus
        Added value: +{
        +  "default": "general",
        +  "description": "Which 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\".",
        +  "enum": [
        +    "general",
        +    "finance"
        +  ],
        +  "example": "general",
        +  "type": "string"
        +}
    • Changedpost_vedic_astrology_kp_chart1 field changed
      • addedInput schema / properties / focus
        Added value: +{
        +  "default": "general",
        +  "description": "Which 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\".",
        +  "enum": [
        +    "general",
        +    "finance"
        +  ],
        +  "example": "general",
        +  "type": "string"
        +}
  14. 5 tool updates
    • Addedget_vedic_astrology_avasthas
    • Addedget_vedic_astrology_avasthas_id
    • Changedget_vedic_astrology_yoga_id1 field changed
      • changedInput schema / properties / id / enum
        Previous value: -[
        -  "gajakesari",
        -  "sunapha",
        -  "anapha",
        -  "dhurdhura",
        -  "kemadruma",
        -  "chandramangala",
        -  "adhi",
        -  "chatussagara",
        -  "vasumathi",
        -  "rajalakshana",
        -  "vanchanachorabheethi",
        -  "sakata",
        -  "amala",
        -  "parvata",
        -  "kahala",
        -  "vesi",
        -  "vasi",
        -  "obhayachari",
        -  "hamsa",
        -  "malavya",
        -  "sasa",
        -  "ruchaka",
        -  "bhadra",
        -  "budhaaditya",
        -  "mahabhagya",
        -  "pushkala",
        -  "lakshmi",
        -  "gauri",
        -  "bharathi",
        -  "chapa",
        -  "sreenatha",
        -  "lagnamalika",
        -  "dhanamalika",
        -  "vikramamalika",
        -  "sukhamalika",
        -  "putramalika",
        -  "satrumalika",
        -  "kalatramalika",
        -  "randhramalika",
        -  "bhagyamalika",
        -  "karmamalika",
        -  "labhamalika",
        -  "vrayamalika",
        -  "sankha",
        -  "bheri",
        -  "mridanga",
        -  "parijatha",
        -  "gaja",
        -  "kalanidhi",
        -  "amsavatara",
        -  "hariharabrahma",
        -  "kusuma",
        -  "matsya",
        -  "kurma",
        -  "devendra",
        -  "makuta",
        -  "chandika",
        -  "jaya",
        -  "vidyut",
        -  "gandharva",
        -  "siva",
        -  "vishnu",
        -  "brahma",
        -  "indra",
        -  "ravi",
        -  "garuda",
        -  "go",
        -  "gola",
        -  "thrilochana",
        -  "kulavardhana",
        -  "yupa",
        -  "ishu",
        -  "sakti",
        -  "danda",
        -  "nav",
        -  "kuta",
        -  "chhatra",
        -  "chapa-2",
        -  "ardhachandra",
        -  "chandra",
        -  "gada",
        -  "sakata-2",
        -  "vihaga",
        -  "vajra",
        -  "yava",
        -  "sringhataka",
        -  "hala",
        -  "kamala",
        -  "vapee",
        -  "samudra",
        -  "vallaki",
        -  "damni",
        -  "pasa",
        -  "kedara",
        -  "sula",
        -  "yuga",
        -  "gola-2",
        -  "rajju",
        -  "musala",
        -  "nala",
        -  "srik",
        -  "sarpa",
        -  "duryoga",
        -  "daridra",
        -  "harsha",
        -  "sarala",
        -  "vimala",
        -  "sareerasoukhya",
        -  "dehapushti",
        -  "dehakashta",
        -  "rogagrastha",
        -  "krisanga",
        -  "krisanga-2",
        -  "dehasthoulya",
        -  "dehasthoulya-2",
        -  "dehasthoulya-3",
        -  "sadasanchara",
        -  "dhana",
        -  "dhana-2",
        -  "dhana-3",
        -  "dhana-4",
        -  "dhana-5",
        -  "dhana-6",
        -  "dhana-7",
        -  "dhana-8",
        -  "dhana-9",
        -  "dhana-10",
        -  "dhana-11",
        -  "bahudravyarjana",
        -  "swaveeryaddhana",
        -  "swaveeryaddhana-2",
        -  "swaveeryaddhana-3",
        -  "madhyavayasidhana",
        -  "anthyavayasidhana",
        -  "balyadhana",
        -  "bhratrumooladdhanaprapti",
        -  "bhratrumooladdhanaprapti-2",
        -  "matrumooladdhana",
        -  "putramooladdhana",
        -  "satrumooladdhana",
        -  "kalatramooladdhana",
        -  "amarananthadhana",
        -  "ayatnadhanalabha",
        -  "daridra-2",
        -  "daridra-3",
        -  "daridra-4",
        -  "daridra-5",
        -  "daridra-6",
        -  "daridra-7",
        -  "daridra-8",
        -  "daridra-9",
        -  "daridra-10",
        -  "daridra-11",
        -  "yukthisamanwithavagmi",
        -  "yukthisamanwithavagmi-2",
        -  "parihasaka",
        -  "asatyavadi",
        -  "jada",
        -  "bhaskara",
        -  "marud",
        -  "saraswathi",
        -  "budha",
        -  "mooka",
        -  "netranasa",
        -  "andha",
        -  "sumukha",
        -  "sumukha-2",
        -  "durmukha",
        -  "durmukha-2",
        -  "bhojanasoukhya",
        -  "annadana",
        -  "parannabhojana",
        -  "sraddhannabhuktha",
        -  "sarpaganda",
        -  "vakchalana",
        -  "vishaprayoga",
        -  "bhratruvriddhi",
        -  "sodaranasa",
        -  "ekabhagini",
        -  "dwadasasahodara",
        -  "sapthasankhyasahodara",
        -  "parakrama",
        -  "yuddhapraveena",
        -  "yuddhatpoorvadridhachitta",
        -  "yuddhatpaschaddrudha",
        -  "satkathadisravana",
        -  "uttamagriha",
        -  "vichitrasaudhaprakara",
        -  "ayatnagrihaprapta",
        -  "ayatnagrihaprapta-2",
        -  "grihanasa",
        -  "grihanasa-2",
        -  "bandhupujya",
        -  "bandhupujya-2",
        -  "bandhubhisthyaktha",
        -  "matrudeerghayur",
        -  "matrudeerghayur-2",
        -  "matrunasa",
        -  "matrunasa-2",
        -  "matrugami",
        -  "sahodareesangama",
        -  "kapata",
        -  "kapata-2",
        -  "kapata-3",
        -  "nishkapata",
        -  "nishkapata-2",
        -  "matrusatrutwa",
        -  "matrusneha",
        -  "vahana",
        -  "vahana-2",
        -  "anapathya",
        -  "sarpasapa",
        -  "sarpasapa-2",
        -  "sarpasapa-3",
        -  "sarpasapa-4",
        -  "pitrusapasutakshaya",
        -  "matrusapasutakshaya",
        -  "bhratrusapasutakshaya",
        -  "pretasapa",
        -  "bahuputra",
        -  "bahuputra-2",
        -  "dattaputra",
        -  "dattaputra-2",
        -  "aputra",
        -  "ekaputra",
        -  "suputra",
        -  "kalanirdesatputra",
        -  "kalanirdesatputra-2",
        -  "kalanirdesatputranasa",
        -  "kalanirdesatputranasa-2",
        -  "buddhimaturya",
        -  "theevrabuddhi",
        -  "buddhijada",
        -  "thrikalagnana",
        -  "putrasukha",
        -  "jara",
        -  "jarajaputra",
        -  "bahustree",
        -  "satkalatra",
        -  "bhagachumbana",
        -  "bhagya",
        -  "jananatpurvampitrumarana",
        -  "dhatrutwa",
        -  "apakeerti",
        -  "raja",
        -  "raja-2",
        -  "raja-3",
        -  "raja-4",
        -  "raja-5",
        -  "raja-6",
        -  "raja-7",
        -  "raja-8",
        -  "raja-9",
        -  "raja-10",
        -  "raja-11",
        -  "raja-12",
        -  "raja-13",
        -  "raja-14",
        -  "raja-15",
        -  "raja-16",
        -  "raja-17",
        -  "raja-18",
        -  "raja-19",
        -  "galakarna",
        -  "vrana",
        -  "sisnavyadhi",
        -  "kalatrashanda",
        -  "kushtaroga",
        -  "kushtaroga-2",
        -  "kshayaroga",
        -  "bandhana",
        -  "karascheda",
        -  "sirachcheda",
        -  "durmarana",
        -  "yuddhemarana",
        -  "sanghatakamarana",
        -  "sanghatakamarana-2",
        -  "peenasaroga",
        -  "pittaroga",
        -  "vikalangapatni",
        -  "putrakalatraheena",
        -  "bharyasahavyabhichara",
        -  "vamsacheda",
        -  "guhyaroga",
        -  "angaheena",
        -  "swetakushta",
        -  "pisachagrastha",
        -  "andha-2",
        -  "andha-3",
        -  "vatharoga",
        -  "matibhramana",
        -  "matibhramana-2",
        -  "matibhramana-3",
        -  "matibhramana-4",
        -  "khalwata",
        -  "nishturabhashi",
        -  "rajabhrashta",
        -  "raja-20",
        -  "raja-21",
        -  "gohanta"
        -]New value: +[
        +  "gajakesari",
        +  "sunapha",
        +  "anapha",
        +  "dhurdhura",
        +  "kemadruma",
        +  "chandramangala",
        +  "adhi",
        +  "chatussagara",
        +  "vasumathi",
        +  "rajalakshana",
        +  "vanchanachorabheethi",
        +  "sakata",
        +  "amala",
        +  "parvata",
        +  "kahala",
        +  "vesi",
        +  "vasi",
        +  "obhayachari",
        +  "hamsa",
        +  "malavya",
        +  "sasa",
        +  "ruchaka",
        +  "bhadra",
        +  "budhaaditya",
        +  "mahabhagya",
        +  "pushkala",
        +  "lakshmi",
        +  "gauri",
        +  "bharathi",
        +  "chapa",
        +  "sreenatha",
        +  "lagnamalika",
        +  "dhanamalika",
        +  "vikramamalika",
        +  "sukhamalika",
        +  "putramalika",
        +  "satrumalika",
        +  "kalatramalika",
        +  "randhramalika",
        +  "bhagyamalika",
        +  "karmamalika",
        +  "labhamalika",
        +  "vrayamalika",
        +  "sankha",
        +  "bheri",
        +  "mridanga",
        +  "parijatha",
        +  "gaja",
        +  "kalanidhi",
        +  "amsavatara",
        +  "hariharabrahma",
        +  "kusuma",
        +  "matsya",
        +  "kurma",
        +  "devendra",
        +  "makuta",
        +  "chandika",
        +  "jaya",
        +  "vidyut",
        +  "gandharva",
        +  "siva",
        +  "vishnu",
        +  "brahma",
        +  "indra",
        +  "ravi",
        +  "garuda",
        +  "go",
        +  "gola",
        +  "thrilochana",
        +  "kulavardhana",
        +  "yupa",
        +  "ishu",
        +  "sakti",
        +  "danda",
        +  "nav",
        +  "kuta",
        +  "chhatra",
        +  "chapa-2",
        +  "ardhachandra",
        +  "chandra",
        +  "gada",
        +  "sakata-2",
        +  "vihaga",
        +  "vajra",
        +  "yava",
        +  "sringhataka",
        +  "hala",
        +  "kamala",
        +  "vapee",
        +  "samudra",
        +  "vallaki",
        +  "damni",
        +  "pasa",
        +  "kedara",
        +  "sula",
        +  "yuga",
        +  "gola-2",
        +  "rajju",
        +  "musala",
        +  "nala",
        +  "srik",
        +  "mala",
        +  "sarpa",
        +  "duryoga",
        +  "daridra",
        +  "harsha",
        +  "sarala",
        +  "vimala",
        +  "sareerasoukhya",
        +  "dehapushti",
        +  "dehakashta",
        +  "rogagrastha",
        +  "krisanga",
        +  "krisanga-2",
        +  "dehasthoulya",
        +  "dehasthoulya-2",
        +  "dehasthoulya-3",
        +  "sadasanchara",
        +  "dhana",
        +  "dhana-2",
        +  "dhana-3",
        +  "dhana-4",
        +  "dhana-5",
        +  "dhana-6",
        +  "dhana-7",
        +  "dhana-8",
        +  "dhana-9",
        +  "dhana-10",
        +  "dhana-11",
        +  "bahudravyarjana",
        +  "swaveeryaddhana",
        +  "swaveeryaddhana-2",
        +  "swaveeryaddhana-3",
        +  "madhyavayasidhana",
        +  "anthyavayasidhana",
        +  "balyadhana",
        +  "bhratrumooladdhanaprapti",
        +  "bhratrumooladdhanaprapti-2",
        +  "matrumooladdhana",
        +  "putramooladdhana",
        +  "satrumooladdhana",
        +  "kalatramooladdhana",
        +  "amarananthadhana",
        +  "ayatnadhanalabha",
        +  "daridra-2",
        +  "daridra-3",
        +  "daridra-4",
        +  "daridra-5",
        +  "daridra-6",
        +  "daridra-7",
        +  "daridra-8",
        +  "daridra-9",
        +  "daridra-10",
        +  "daridra-11",
        +  "yukthisamanwithavagmi",
        +  "yukthisamanwithavagmi-2",
        +  "parihasaka",
        +  "asatyavadi",
        +  "jada",
        +  "bhaskara",
        +  "marud",
        +  "saraswathi",
        +  "budha",
        +  "mooka",
        +  "netranasa",
        +  "andha",
        +  "sumukha",
        +  "sumukha-2",
        +  "durmukha",
        +  "durmukha-2",
        +  "bhojanasoukhya",
        +  "annadana",
        +  "parannabhojana",
        +  "sraddhannabhuktha",
        +  "sarpaganda",
        +  "vakchalana",
        +  "vishaprayoga",
        +  "bhratruvriddhi",
        +  "sodaranasa",
        +  "ekabhagini",
        +  "dwadasasahodara",
        +  "sapthasankhyasahodara",
        +  "parakrama",
        +  "yuddhapraveena",
        +  "yuddhatpoorvadridhachitta",
        +  "yuddhatpaschaddrudha",
        +  "satkathadisravana",
        +  "uttamagriha",
        +  "vichitrasaudhaprakara",
        +  "ayatnagrihaprapta",
        +  "ayatnagrihaprapta-2",
        +  "grihanasa",
        +  "grihanasa-2",
        +  "bandhupujya",
        +  "bandhupujya-2",
        +  "bandhubhisthyaktha",
        +  "matrudeerghayur",
        +  "matrudeerghayur-2",
        +  "matrunasa",
        +  "matrunasa-2",
        +  "matrugami",
        +  "sahodareesangama",
        +  "kapata",
        +  "kapata-2",
        +  "kapata-3",
        +  "nishkapata",
        +  "nishkapata-2",
        +  "matrusatrutwa",
        +  "matrusneha",
        +  "vahana",
        +  "vahana-2",
        +  "anapathya",
        +  "sarpasapa",
        +  "sarpasapa-2",
        +  "sarpasapa-3",
        +  "sarpasapa-4",
        +  "pitrusapasutakshaya",
        +  "matrusapasutakshaya",
        +  "bhratrusapasutakshaya",
        +  "pretasapa",
        +  "bahuputra",
        +  "bahuputra-2",
        +  "dattaputra",
        +  "dattaputra-2",
        +  "aputra",
        +  "ekaputra",
        +  "suputra",
        +  "kalanirdesatputra",
        +  "kalanirdesatputra-2",
        +  "kalanirdesatputranasa",
        +  "kalanirdesatputranasa-2",
        +  "buddhimaturya",
        +  "theevrabuddhi",
        +  "buddhijada",
        +  "thrikalagnana",
        +  "putrasukha",
        +  "jara",
        +  "jarajaputra",
        +  "bahustree",
        +  "satkalatra",
        +  "bhagachumbana",
        +  "bhagya",
        +  "jananatpurvampitrumarana",
        +  "dhatrutwa",
        +  "apakeerti",
        +  "raja",
        +  "raja-2",
        +  "raja-3",
        +  "raja-4",
        +  "raja-5",
        +  "raja-6",
        +  "raja-7",
        +  "raja-8",
        +  "raja-9",
        +  "raja-10",
        +  "raja-11",
        +  "raja-12",
        +  "raja-13",
        +  "raja-14",
        +  "raja-15",
        +  "raja-16",
        +  "raja-17",
        +  "raja-18",
        +  "raja-19",
        +  "galakarna",
        +  "vrana",
        +  "sisnavyadhi",
        +  "kalatrashanda",
        +  "kushtaroga",
        +  "kushtaroga-2",
        +  "kshayaroga",
        +  "bandhana",
        +  "karascheda",
        +  "sirachcheda",
        +  "durmarana",
        +  "yuddhemarana",
        +  "sanghatakamarana",
        +  "sanghatakamarana-2",
        +  "peenasaroga",
        +  "pittaroga",
        +  "vikalangapatni",
        +  "putrakalatraheena",
        +  "bharyasahavyabhichara",
        +  "vamsacheda",
        +  "guhyaroga",
        +  "angaheena",
        +  "swetakushta",
        +  "pisachagrastha",
        +  "andha-2",
        +  "andha-3",
        +  "vatharoga",
        +  "matibhramana",
        +  "matibhramana-2",
        +  "matibhramana-3",
        +  "matibhramana-4",
        +  "khalwata",
        +  "nishturabhashi",
        +  "rajabhrashta",
        +  "raja-20",
        +  "raja-21",
        +  "gohanta"
        +]
    • Addedpost_vedic_astrology_arudha
    • Addedpost_vedic_astrology_chara_karakas
  15. 6 tool updates
    • Changedpost_vedic_astrology_dasha_current2 fields changed
      • addedInput schema / properties / nodeType
        Added value: +{
        +  "default": "mean",
        +  "description": "Lunar node type for Rahu and Ketu, used ONLY when \"significators\" is true. Dasha dates themselves come from the Moon and never move with this field. \"mean\" uses the smooth mean node (traditional default). \"true\" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to \"mean\".",
        +  "enum": [
        +    "mean",
        +    "true"
        +  ],
        +  "example": "mean",
        +  "type": "string"
        +}
      • addedInput schema / properties / significators
        Added value: +{
        +  "default": false,
        +  "description": "Set true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.",
        +  "example": false,
        +  "type": "boolean"
        +}
    • Changedpost_vedic_astrology_dasha_major2 fields changed
      • addedInput schema / properties / nodeType
        Added value: +{
        +  "default": "mean",
        +  "description": "Lunar node type for Rahu and Ketu, used ONLY when \"significators\" is true. Dasha dates themselves come from the Moon and never move with this field. \"mean\" uses the smooth mean node (traditional default). \"true\" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to \"mean\".",
        +  "enum": [
        +    "mean",
        +    "true"
        +  ],
        +  "example": "mean",
        +  "type": "string"
        +}
      • addedInput schema / properties / significators
        Added value: +{
        +  "default": false,
        +  "description": "Set true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.",
        +  "example": false,
        +  "type": "boolean"
        +}
    • Changedpost_vedic_astrology_dasha_sub_mahadasha2 fields changed
      • addedInput schema / properties / nodeType
        Added value: +{
        +  "default": "mean",
        +  "description": "Lunar node type for Rahu and Ketu, used ONLY when \"significators\" is true. Dasha dates themselves come from the Moon and never move with this field. \"mean\" uses the smooth mean node (traditional default). \"true\" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to \"mean\".",
        +  "enum": [
        +    "mean",
        +    "true"
        +  ],
        +  "example": "mean",
        +  "type": "string"
        +}
      • addedInput schema / properties / significators
        Added value: +{
        +  "default": false,
        +  "description": "Set true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.",
        +  "example": false,
        +  "type": "boolean"
        +}
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha2 fields changed
      • addedInput schema / properties / nodeType
        Added value: +{
        +  "default": "mean",
        +  "description": "Lunar node type for Rahu and Ketu, used ONLY when \"significators\" is true. Dasha dates themselves come from the Moon and never move with this field. \"mean\" uses the smooth mean node (traditional default). \"true\" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to \"mean\".",
        +  "enum": [
        +    "mean",
        +    "true"
        +  ],
        +  "example": "mean",
        +  "type": "string"
        +}
      • addedInput schema / properties / significators
        Added value: +{
        +  "default": false,
        +  "description": "Set true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.",
        +  "example": false,
        +  "type": "boolean"
        +}
    • Changedpost_vedic_astrology_dasha_sub_mahadasha_antardasha_pratyantardasha2 fields changed
      • addedInput schema / properties / nodeType
        Added value: +{
        +  "default": "mean",
        +  "description": "Lunar node type for Rahu and Ketu, used ONLY when \"significators\" is true. Dasha dates themselves come from the Moon and never move with this field. \"mean\" uses the smooth mean node (traditional default). \"true\" uses the osculating node, which swings up to 1.5 degrees either side of mean over a 173-day cycle and can therefore change which house or star a node falls in. Defaults to \"mean\".",
        +  "enum": [
        +    "mean",
        +    "true"
        +  ],
        +  "example": "mean",
        +  "type": "string"
        +}
      • addedInput schema / properties / significators
        Added value: +{
        +  "default": false,
        +  "description": "Set true to attach the KP significators of each period lord: its star lord, sub lord, occupied house, the houses it signifies at levels L1 to L4, and a strength grade. Off by default, so responses stay exactly as they are for clients that only need dates. Requires the birth latitude and longitude, since significators are read off a Placidus house chart, and uses the same ayanamsa frame selected above.",
        +  "example": false,
        +  "type": "boolean"
        +}
    • Addedpost_vedic_astrology_dasha_sub_mahadasha_antardasha_pratyantardasha_sookshma

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to access real-time Vedic astrology data and perform calculations like horoscopes, panchang, matchmaking, and planetary positions via the AstroChalit API.
    15
    ISC
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to access Indian Vedic astrology services including Panchang, Kundli, matchmaking, and festivals through natural language.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Hosted Streamable HTTP MCP server for Vedic astrology: panchang, kundali (birth chart), matchmaking, dashas, doshas, muhurta and 16 tools computed by a precision astronomy engine.
    17
    53
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation3/5

Many tools have overlapping concepts (multiple dasha levels, monthly variants, aspects, transit), but detailed descriptions clarify each one's distinct purpose. Still, a few pairs like planetary_positions vs birth_chart or aspects_monthly vs aspects_lunar could confuse an agent initially.

Naming Consistency5/5

All tools follow a strict get_vedic_astrology_* or post_vedic_astrology_* prefix with snake_case resource names. The pattern is predictable and uniformly applied, including the hierarchical dasha drill-downs, making it easy to infer tool families.

Tool Count1/5

With 50 tools, the server is extremely heavy. Many are monthly, interval, or sub-level variants that could be parameterized or consolidated, making the set feel bloated and difficult to navigate for an agent.

Completeness5/5

The tool set covers nearly the entire Vedic astrology domain: reference data (nakshatras, rashis, yoga glossary), core charts (birth, navamsa, divisional), dasha hierarchy, transits, compatibility, doshas, panchang, KP system, and advanced calculations like Shadbala and Ashtakavarga. No significant gaps are apparent.

Resources